Przypadki użycia

Przypadki użycia

Ten przewodnik demonstruje rzeczywiste przypadki użycia Aspose.PDF FOSS dla Java, w tym generowanie dokumentów wsadowych, scalanie plików, bezpieczną dystrybucję, zbieranie danych z formularzy oraz archiwizację PDF/A. Aspose.PDF FOSS dla Java generuje wyjście PDF (tylko eksport).

Generowanie PDF wsadowe

Generuj wiele dokumentów PDF z danych w pętli, dodając jedną stronę na rekord i zapisując każdy do osobnego pliku. Ten wzorzec jest przydatny do generowania faktur, drukowania certyfikatów oraz tworzenia wyciągów:

List<ReportData> records = fetchReports();
for (ReportData data : records) {
    try (Document doc = new Document()) {
        PageCollection pages = doc.getPages();
        Page page = pages.add();
        doc.save("reports/" + data.getId() + ".pdf");
    }
}

Potok scalania PDF

Połącz miesięczne raporty PDF w jeden dokument rocznego podsumowania przy użyciu PdfFileEditor.concatenate(). Przekaż tablicę ścieżek plików wejściowych oraz ścieżkę wyjściową:

String[] monthly = {
    "jan.pdf", "feb.pdf", "mar.pdf", "apr.pdf",
    "may.pdf", "jun.pdf", "jul.pdf", "aug.pdf",
    "sep.pdf", "oct.pdf", "nov.pdf", "dec.pdf"
};

PdfFileEditor editor = new PdfFileEditor();
editor.concatenate(monthly, "year-end.pdf");

Włącz buforowanie na dysku przy użyciu setUseDiskBuffer(true) dla dużych zestawów plików:

editor.setUseDiskBuffer(true);

Bezpieczna dystrybucja dokumentów

Zaszyfruj dokument przy użyciu hasła użytkownika i hasła właściciela przed dystrybucją. Hasło użytkownika jest wymagane do otwarcia pliku; hasło właściciela kontroluje uprawnienia, takie jak drukowanie:

try (PdfFileSecurity security = new PdfFileSecurity()) {
    security.setInputFile("report.pdf");
    security.setOutputFile("report-secured.pdf");
    security.encryptFile("userPass", "ownerPass",
        DocumentPrivilege.getForbidAll(), KeySize.x128);
}

Zbieranie danych z formularzy

Odczytaj przesłane wartości pól formularza z wypełnionego PDF. Przejdź przez pola formularza i wypisz pełną nazwę oraz bieżącą wartość każdego pola:

try (Document doc = new Document("submitted-form.pdf")) {
    Form form = doc.getForm();
    for (WidgetAnnotation field : form.getFields()) {
        System.out.println(field.getFullName() + " = " + field.getValue());
    }
}

Jest to przydatne przy przetwarzaniu wypełnionych formularzy aplikacyjnych bez konieczności posiadania osobnego serwera do przyjmowania formularzy.

PDF/A Długoterminowe archiwizowanie

Konwertuj standardowe dokumenty do formatu PDF/A-1b w celu regulacyjnego lub prawnego archiwizowania. Document.convert() stosuje reguły walidacji PDF/A i tworzy raport zgodności. Wynikiem jest samodzielny plik PDF/A spełniający wymagania ISO 19005:

try (Document doc = new Document("input.pdf")) {
    doc.convert("pdfalog.xml", PdfFormat.PDF_A_1B, ConvertErrorAction.Delete);
    doc.save("archived.pdf");
}

Zobacz także

 Polski