ユースケース

ユースケース

このガイドでは、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");
}

参照

 日本語