Casos de uso
Este guía muestra los casos de uso real para Aspose.PDF FOSS para Java, incluyendo la generación de documentos de banda, la fusión de archivos, distribución segura, recogida de datos de formulario y archivamiento PDF/A. Asposa.pdf Foss para Java produce salida de PDF (sólo exportación).
Batch PDF Generación
Generar varios documentos PDF de datos en un círculo, añadiendo una página por registro y guardando cada uno a un archivo separado. Este patrón es útil para la generación de facturas, la impresión de certificados y la producción de declaraciones:
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 Pipe de la línea
Combinar PDFs de informe mensual en un documento final del año utilizando PdfFileEditor.concatenate().Pasar una serie de caminos de archivo de entrada y un camino de salida:
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");Permite la bufera de disco con setUseDiskBuffer(true) Para los grandes archivos:
editor.setUseDiskBuffer(true);Distribución de documentos seguros
Cripta un documento con una contraseña de usuario y una password del propietario antes de la distribución.La contrasinal del usuario es necesaria para abrir el archivo; la contrasación de las permisiones como la impresión:
try (PdfFileSecurity security = new PdfFileSecurity()) {
security.setInputFile("report.pdf");
security.setOutputFile("report-secured.pdf");
security.encryptFile("userPass", "ownerPass",
DocumentPrivilege.getForbidAll(), KeySize.x128);
}Formulario de Colección de Datos
Leer los valores de campo del formulario presentado desde un PDF lleno. Iterate los campos del formato y imprime el nombre completo y el valor actual de cada 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());
}
}Esto es útil para el procesamiento de formularios de solicitud cumplimentados sin requerir un servidor separado de presentación de los formulários.
PDF/A Archivo a largo plazo
Convertir documentos estándar en PDF/A-1b para archivamiento regulatorio o legal. Document.convert() Aplica las reglas de validación PDF/A y escribe un informe de conformidad. El resultado es un archivo PDF/A de contenido por sí mismo que cumple con los requisitos ISO 19005:
try (Document doc = new Document("input.pdf")) {
doc.convert("pdfalog.xml", PdfFormat.PDF_A_1B, ConvertErrorAction.Delete);
doc.save("archived.pdf");
}