Forms Data Format (FDF)は、PDFドキュメント内部のフォームを処理する ためのフォーマットです。FDFの詳細および一般的な用途については、 http://partners.adobe.com/asn/developer/acrosdk/forms.htmlにあるドキュメン トを参照下さい。
注意 fdftk サポートを有効にして php の configure を行う際に問題を発生 した場合、ヘッダーファイル FdfTk.h およびライブラリ libFdfTk.so が正しい場所にあるかどうかを確認して下さい。これらは、それぞれ fdftk-dir/include および fdftk-dir/lib にある必要があります。 FdfTk の配布ファイルを単に解凍しただけだとしたら、このように はなりません。
FDFの基本的な考えは、HTMLフォームに似ています。基本的な違いは、投 稿ボタンが押された際にフォームに埋められたデータをサーバーに送信す る方法のフォーマット(これがForm Data Format そのものです)およびフォー ムのフォーマット自体(これは Portable Document Format、PDFです)です。 FDFデータの処理は、fdf関数に提供された機能の一つです。しかし機能は 他にもあります。既存のPDFフォームを用いてフォーム自体を修正せずに 入力フィールドのデータを入力させることもあるかと思われます。 このような場合、FDFドキュメント を作成 (fdf_create())、各入力フィールドの値を設定 (fdf_set_value())、PDFフォームとそれを関連付け (fdf_set_file())ます。最後にブラウザに MIME型 application/vnd.fdf で送信する必要があります。ブラウザの Acrobat Reader プラグイン がこの MIME 型を認識し、関連する PDF フォームを 読み込み、FDF ドキュメントからのデータを書き込みます。
テキストエディタでFDFドキュメントの中を見てみると、 FDFという名前のカタログオブジェクトが見つかるは ずです。このようなオブジェクトには、Fields, F, Status といった複数のエン トリが含まれます。 最も多く使用されるエントりは、一連の入力フィールドを指す Fieldsとこのデータが属するPDFドキュメントのファ イル名を保持するF です。これらのエントリは、 FDFドキュメントの中で/F-Keyまたは /Status-Keyのように参照されてい ます。 fdf_set_file()および fdf_set_status()のような関数によりこれらのエン トリを修正することが可能です。Fields は、 fdf_set_value(),fdf_set_opt() 等で修整可能です。
以下の例でフォームデータの評価に関して説明します。