フォームデータXFDFファイルをPDFにインポート XFDFファイルのXFDFファイルフォームデータをPDFにインポートします。
XFDFファイルに保存されているフォームデータを用いてPDFにフォームを入力し、新規ファイルとして出力できます。
「7.2.1 XFDFを用いたPDFフォームデータのエクスポート」で扱ったXFDFファイルと組み合わせて使うこともできます。
サンプルプログラムでは、指定したXFDFファイルのフォームデータをインポートして、入力PDFに付加して出力します。
package cookbook; import jp.co.antenna.ptl.*; public class ImportFormFieldsFromXFDF { // そのクラスのusageを表示する関数 private static void printUsage() { System.out.print("usage: java ExportFormFieldsToXFDF in-pdf-file"); System.out.println(" out-pdf-file fdf-file-to-import"); } public static void main(String[] args) { if (args.length < 3) { printUsage(); return; } // コマンドライン引数の取得 try (PtlParamInput inputFile = new PtlParamInput(args[0]); PtlParamOutput outputFile = new PtlParamOutput(args[1]); PtlParamInput FdfToImport = new PtlParamInput(args[2]); PtlPDFDocument doc = new PtlPDFDocument()) { // PDFファイルをロードします。 doc.load(inputFile); try (PtlPages pages = doc.getPages()) {//ページコンテナの取得 // ページコンテナが空かどうか if (pages.isEmpty()) { System.out.println("ページコンテナが空です。処理を終了します。\n"); return; } } // FDFファイルから注釈をインポートする doc.importFormFieldsFromXFDF(FdfToImport); // ファイルに保存します。 doc.save(outputFile); } ...【GetPDFVersion.javaと同じ処理のため省略 ・エラーメッセージ処理と出力】... } }
ImportFormFieldsFromXFDF.java
C:\samples>java cookbook.ImportFormFieldsFromXFDF usage: java ImportFormFieldsFromXFDF in-pdf-file out-pdf-file fdf-file-to-import C:\samples>java cookbook.ImportFormFieldsFromXFDF 備品貸出申し込み書_blank.pdf Output_ImportFormFieldsFromXFDF.pdf Output_ExportFormFieldsToXFDF.xfdf フォームフィールドデータをインポートしました。 -- 完了 --
この操作例では「7.2.1 XFDFを用いたPDFフォームデータのエクスポート」でエクスポートしたXFDFファイルを用いて空のPDFフォームにデータを入力しています。
データ入力前のフォームPDF(拡大図) | XFDFファイルからデータをインポートしたフォームPDF(拡大図) |