Casos de Uso
Este guia demonstra casos de uso do mundo real para Aspose.PDF FOSS for Java, incluindo geração de documentos em lote, fusão de arquivos, distribuição segura, coleta de dados de formulário e arquivo PDF / A. Aspose.PDF O Foss for Jawa produz saída PDF (apenas exportação).
Geração em lote PDF
Gerar vários documentos PDF a partir de dados em um loop, adicionando uma página por registro e guardando cada um em uma ficheira separada. Este padrão é útil para geração de faturas, impressão de certificados e produção de declarações:
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 Pipeline de fusão
Combinar os PDF de relatórios mensais num único documento de fim de ano utilizando o método: PdfFileEditor.concatenate().Passe uma matriz de caminhos para arquivos de entrada e um caminho de saída:
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");Ativar o buffer de disco com: setUseDiskBuffer(true) para conjuntos de ficheiros grandes:
editor.setUseDiskBuffer(true);Distribuição segura de documentos
Criptografar um documento com uma senha de usuário e uma palavra-passe do proprietário antes da distribuição. A senhas do usuario e necessaria para abrir o arquivo; a senhar do dono controla permissões como impressora:
try (PdfFileSecurity security = new PdfFileSecurity()) {
security.setInputFile("report.pdf");
security.setOutputFile("report-secured.pdf");
security.encryptFile("userPass", "ownerPass",
DocumentPrivilege.getForbidAll(), KeySize.x128);
}Coleção de dados do formulário
Leia os valores dos campos de formulário enviados a partir de um PDF preenchido. Itereie os campos do formulários e imprima o nome completo e o valor atual 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());
}
}Isto é útil para o tratamento de formulários de candidatura preenchidos sem a necessidade de um servidor separado de envio de formularios.
PDF/Arquivo a longo prazo
Conversão de documentos padrões em PDF/A-1b para arquivamento regulamentar ou legal. Document.convert() aplica as regras de validação PDF/A e elabora um relatório de conformidade. O resultado é um ficheiro PDF/A independente que cumpre os requisitos da ISO 19005:
try (Document doc = new Document("input.pdf")) {
doc.convert("pdfalog.xml", PdfFormat.PDF_A_1B, ConvertErrorAction.Delete);
doc.save("archived.pdf");
}