
フォームデータ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(拡大図) |