7.1.1 FDFを用いたPDFフォームデータのエクスポート

ExportFormFieldsToFDF_Top

狙い・効果

対話フォームの付いたPDFから入力済みフォームのデータを抜き出したFDFファイルを作成します。

処理の概要

フォームデータFDFファイル形式でエクスポート PDFに入力されたFDFファイルフォームデータをFDFファイル形式でエクスポートします。インポート操作の詳細は本書「7.1.2 FDFを用いたPDFフォームデータのインポート」を参照してください。

サンプルプログラムでは、入力PDFファイル上にある対話フォームを、指定された名前のFDFファイルとしてエクスポートします。

『PDF Tool API』の主な機能

プログラム例

package cookbook;

import jp.co.antenna.ptl.*;

public class ExportFormFieldsToFDF {
    // そのクラスのusageを表示する関数
    private static void printUsage() {
        System.out.print("usage: java ExportFormFieldsToFDF in-pdf-file");
        System.out.println(" fdf-file-to-export");
    }

    public static void main(String[] args) {
        if (args.length < 2) {
            printUsage();
            return;
        }

        try (PtlParamInput inputFile = new PtlParamInput(args[0]);
             PtlParamOutput outputFile = new PtlParamOutput(args[1]);
             PtlPDFDocument doc = new PtlPDFDocument()) {
            // PDFファイルをロードします。
            doc.load(inputFile);

            try (PtlPages pages = doc.getPages()) {//ページコンテナの取得
                // ページコンテナが空かどうか
                if (pages.isEmpty()) {
                    System.out.println("ページコンテナが空\n");
                    return;
                }
            }

            // ファイルに保存します。
            doc.exportFormFieldsToFDF(outputFile);
        }
	...【GetPDFVersion.javaと同じ処理のため省略
	   ・エラーメッセージ処理と出力】...
    }
}

プログラムファイル名

ExportFormFieldsToFDF.java

入出力操作の例

C:\samples>java cookbook.ExportFormFieldsToFDF 
usage: java ExportFormFieldsToFDF in-pdf-file fdf-file-to-export

C:\samples>java cookbook.ExportFormFieldsToFDF 備品貸出申し込み書_アンテナ太郎.pdf Output_ExportFormFieldsToFDF.fdf 
-- 完了 --

この操作例では、データ入力済みの備品貸出申込書フォームPDFから、フォームフィールド(氏名・住所・電話番号)の入力データをFDF形式でエクスポート(出力)しています。

5-7-1-1_ExportFormFieldsToFDF_01_nyuuryokugo

図7.1 データが入力されている状態のフォームフィールド(拡大図)