ユースケース
ユースケース
このガイドでは、Aspose.PDF FOSS for Java の実際のユースケースを示します。バッチドキュメント生成、ファイル結合、セキュア配布、フォームデータ収集、そして PDF/A アーカイブを含みます。Aspose.PDF FOSS for Java は PDF 出力(エクスポートのみ)を生成します。
バッチ PDF 生成
データをループで処理し、レコードごとにページを追加して、それぞれを別々のファイルに保存することで、複数の PDF ドキュメントを生成します。このパターンは、請求書の生成、証明書の印刷、ステートメントの作成に役立ちます:
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 マージ パイプライン
PdfFileEditor.concatenate() を使用して月次レポート PDF を単一の年末ドキュメントに結合します。入力ファイルパスの配列と出力パスを渡します:
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");setUseDiskBuffer(true) でディスクバッファリングを有効にし、大量のファイルセットを処理します:
editor.setUseDiskBuffer(true);安全な文書配布
配布前に文書をユーザーパスワードとオーナーパスワードで暗号化します。ユーザーパスワードはファイルを開くために必要です。オーナーパスワードは印刷などの権限を制御します:
try (PdfFileSecurity security = new PdfFileSecurity()) {
security.setInputFile("report.pdf");
security.setOutputFile("report-secured.pdf");
security.encryptFile("userPass", "ownerPass",
DocumentPrivilege.getForbidAll(), KeySize.x128);
}フォームデータ収集
記入済みPDFから送信されたフォームフィールドの値を読み取ります。フォームフィールドを反復処理し、各フィールドの完全名と現在の値を出力します:
try (Document doc = new Document("submitted-form.pdf")) {
Form form = doc.getForm();
for (WidgetAnnotation field : form.getFields()) {
System.out.println(field.getFullName() + " = " + field.getValue());
}
}別途のフォーム送信サーバーを必要とせずに、記入済み申請書を処理する際に便利です。
PDF/A 長期アーカイブ
標準文書を規制または法的アーカイブ用に PDF/A-1b に変換します。Document.convert() は PDF/A の検証ルールを適用し、適合性レポートを書き出します。結果は ISO 19005 の要件を満たす自己完結型の PDF/A ファイルです:
try (Document doc = new Document("input.pdf")) {
doc.convert("pdfalog.xml", PdfFormat.PDF_A_1B, ConvertErrorAction.Delete);
doc.save("archived.pdf");
}