Casi d'uso
Questa guida dimostra casi d’uso reali per Aspose.PDF FOSS per Java, includendo la generazione batch di documenti, l’unione di file, la distribuzione sicura, la raccolta di dati dei moduli e l’archiviazione PDF/A. Aspose.PDF FOSS per Java produce output PDF (solo esportazione).
Generazione PDF batch
Genera più documenti PDF a partire da dati in un ciclo, aggiungendo una pagina per ogni record e salvando ciascuno in un file separato. Questo modello è utile per la generazione di fatture, la stampa di certificati e la produzione di estratti conto:
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");
}
}Pipeline di fusione PDF
Combina i PDF dei report mensili in un unico documento di fine anno usando PdfFileEditor.concatenate(). Fornisci un array di percorsi dei file di input e un percorso di output:
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");Abilita il buffering su disco con setUseDiskBuffer(true) per insiemi di file di grandi dimensioni:
editor.setUseDiskBuffer(true);Distribuzione sicura di documenti
Cifra un documento con una password utente e una password proprietario prima della distribuzione. La password utente è necessaria per aprire il file; la password proprietario controlla le autorizzazioni come la stampa:
try (PdfFileSecurity security = new PdfFileSecurity()) {
security.setInputFile("report.pdf");
security.setOutputFile("report-secured.pdf");
security.encryptFile("userPass", "ownerPass",
DocumentPrivilege.getForbidAll(), KeySize.x128);
}Raccolta dati del modulo
Leggi i valori dei campi del modulo inviati da un PDF compilato. Itera i campi del modulo e stampa il nome completo e il valore attuale di ciascun campo:
try (Document doc = new Document("submitted-form.pdf")) {
Form form = doc.getForm();
for (WidgetAnnotation field : form.getFields()) {
System.out.println(field.getFullName() + " = " + field.getValue());
}
}Questo è utile per elaborare i moduli di domanda compilati senza richiedere un server separato per l’invio dei moduli.
PDF/A Archiviazione a lungo termine
Converti i documenti standard in PDF/A-1b per l’archiviazione normativa o legale. Document.convert() applica le regole di convalida PDF/A e genera un rapporto di conformità. Il risultato è un file PDF/A autonomo che soddisfa i requisiti ISO 19005:
try (Document doc = new Document("input.pdf")) {
doc.convert("pdfalog.xml", PdfFormat.PDF_A_1B, ConvertErrorAction.Delete);
doc.save("archived.pdf");
}