フォームデータXFDFファイル形式でエクスポート 対話フォームPDFからフォームデータのみを抜き出したXFDFファイルを作成します。
PDFに入力されたXFDFファイルフォームデータをXFDFファイル形式でエクスポートすることができます。 XFDFファイルはXML形式で記録されているため、テキストエディタなどで開いてデータを確認することやデータを書き換えることが可能です。なお、出力されるXFDFファイルには改行やインデントといった整形処理は施されていません。
サンプルプログラムでは、入力PDFファイル上にある対話フォームを、指定された名前のXFDFファイルとしてエクスポートします。
package cookbook; import jp.co.antenna.ptl.*; public class ExportFormFieldsToXFDF { // そのクラスのusageを表示する関数 private static void printUsage() { System.out.print("usage: java ExportFormFieldsToXFDF 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.exportFormFieldsToXFDF(outputFile); } ...【GetPDFVersion.javaと同じ処理のため省略 ・エラーメッセージ処理と出力】... } }
ExportFormFieldsToXFDF.java
C:\samples>java cookbook.ExportFormFieldsToXFDF usage: java ExportFormFieldsToXFDF in-pdf-file fdf-file-to-export C:\samples>java cookbook.ExportFormFieldsToXFDF 備品貸出申し込み書_アンテナ太郎.pdf Output_ExportFormFieldsToXFDF.xfdf -- 完了 --
この操作例では入力済みフォームフィールドのデータをXFDFファイルの形で出力しています。XFDFファイルはテキストエディタなどで開いて内容を確認することや書き換えることができます。なお、データ抽出元のPDFファイルは本書「7.1.1 FDFを用いたPDFフォームデータのエクスポート」と同一です。
下図はエクスポートされたXFDFファイルをテキストエディタで開いた例です。
エクスポートされたXFDFデータ(インデント・改行加工済み) | エクスポート元のPDFの図(拡大図) |