Anwendungsfälle
Dieses Handbuch demonstriert praxisnahe Anwendungsfälle für Aspose.PDF FOSS für Java, einschließlich Stapel-Dokumentenerstellung, Dateizusammenführung, sichere Verteilung, Formulardatenerfassung und PDF/A Archivierung. Aspose.PDF FOSS für Java erzeugt PDF-Ausgabe (nur Export).
Stapel-PDF-Erstellung
Erzeugen Sie mehrere PDF-Dokumente aus Daten in einer Schleife, indem Sie pro Datensatz eine Seite hinzufügen und jedes Dokument in einer separaten Datei speichern. Dieses Muster ist nützlich für die Rechnungserstellung, das Drucken von Zertifikaten und die Erstellung von Kontoauszügen:
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");
}
}PDF-Zusammenführungs-Pipeline
Kombinieren Sie monatliche Bericht-PDFs zu einem einzigen Jahresenddokument mithilfe von PdfFileEditor.concatenate(). Übergeben Sie ein Array von Eingabepfaden und einen Ausgabepfad:
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");Aktivieren Sie die Festplattenpufferung mit setUseDiskBuffer(true) für große Dateimengen:
editor.setUseDiskBuffer(true);Sichere Dokumentenverteilung
Verschlüsseln Sie ein Dokument vor der Verteilung mit einem Benutzerpasswort und einem Besitzerpasswort. Das Benutzerpasswort ist zum Öffnen der Datei erforderlich; das Besitzerpasswort steuert Berechtigungen wie das Drucken:
try (PdfFileSecurity security = new PdfFileSecurity()) {
security.setInputFile("report.pdf");
security.setOutputFile("report-secured.pdf");
security.encryptFile("userPass", "ownerPass",
DocumentPrivilege.getForbidAll(), KeySize.x128);
}Formulardaten-Erfassung
Lesen Sie die übermittelten Formularfeldwerte aus einem ausgefüllten PDF. Durchlaufen Sie die Formularfelder und geben Sie den vollständigen Namen sowie den aktuellen Wert jedes Feldes aus:
try (Document doc = new Document("submitted-form.pdf")) {
Form form = doc.getForm();
for (WidgetAnnotation field : form.getFields()) {
System.out.println(field.getFullName() + " = " + field.getValue());
}
}Dies ist nützlich, um ausgefüllte Antragsformulare zu verarbeiten, ohne einen separaten Formularübermittlungs-Server zu benötigen.
PDF/A Langzeitarchivierung
Konvertieren Sie Standarddokumente in PDF/A-1b für regulatorische oder rechtliche Archivierung. Document.convert() wendet PDF/A Validierungsregeln an und erstellt einen Konformitätsbericht. Das Ergebnis ist eine eigenständige PDF/A-Datei, die den Anforderungen der ISO 19005 entspricht:
try (Document doc = new Document("input.pdf")) {
doc.convert("pdfalog.xml", PdfFormat.PDF_A_1B, ConvertErrorAction.Delete);
doc.save("archived.pdf");
}