Casi d'uso

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");
}

Vedi anche

 Italiano