Form field types
Form field types(フォームフィールドタイプ)は、インタラクティブなPDFフォームにおいて`/FT`(Field Type)キーで指定される値で、各フォームフィールドのカテゴリと動作を定義します。
Form field types(フォームフィールドタイプ)は、インタラクティブなPDFフォームにおいて/FT(Field Type)キーで指定される値で、各フォームフィールドのカテゴリと動作を定義します。
(
Citation: N.A., 2020
(N.A.).
(2020).
Document management — Portable document format — Part 2: PDF 2.0
.
International Organization for Standardization
Retrieved from
https://www.iso.org/standard/75839.html
)
で定義されているように、これらのタイプはユーザーがフォームフィールドとどのように相互作用できるか、どのようなデータを入力できるか、そしてそのデータがどのように検証および表示されるかを決定します。標準的な4つのform field typesは、/Tx(テキストフィールド)、/Btn(ボタンフィールド)、/Ch(選択フィールド)、/Sig(署名フィールド)です。
Form field typesは、AcroFormフィールドのfield dictionary内の必須エントリで、PDFフォーム内の各インタラクティブ要素を分類します。/FTキーは4つの定義済み名前値のいずれかを受け入れ、それぞれがユーザーインタラクションの異なるカテゴリを表します。テキストフィールド(/Tx)はキーボード入力による文字列を受け入れます。ボタンフィールド(/Btn)は、プッシュボタン、チェックボックス、ラジオボタンを含みます。選択フィールド(/Ch)は、事前定義されたオプションから選択するためのドロップダウンリストとリストボックスを提供します。署名フィールド(/Sig)は、ドキュメントにデジタル署名を適用するための特殊なフィールドです。
フィールド名(ユーザー定義の識別子)やfield flags(タイプ内の動作を変更するもの)とは異なり、form field typesは基本的なインタラクションモデルを確立します。フィールドのタイプは、関連するappearance streams、widget annotations、値のエンコーディングの構造を決定するため、フィールドオブジェクト全体を置き換えることなく作成後に変更することはできません。
Form field typesを理解することは、フォームの作成、検証、またはデータ抽出のワークフローを実装する開発者にとって不可欠です。/FT値を正しく識別することで、アプリケーションは以下を実現できます:
- 適切な検証ルールの適用(例:
/Txフィールドのテキスト形式検証と/Btnフィールドの状態検証の区別) - Webまたはモバイルアプリケーションでフォームを表示する際の適切なユーザーインターフェースコントロールのレンダリング
- フィールドタイプのセマンティクスに従って値を解釈することによる正確なフォームデータの抽出
- ( Citation: N.A., 2014 (N.A.). (2014). Document management applications — Electronic document file format enhancement for accessibility — Part 1: Use of ISO 32000-1 (PDF/UA-1) . International Organization for Standardization Retrieved from https://www.iso.org/standard/64599.html ) で概説されているように、スクリーンリーダーや支援技術がフィールドタイプに依存して適切なインタラクション方法を提供するため、アクセシビリティコンプライアンスの確保
Form field typesの誤認識や不適切な処理は、データの破損、フォーム送信の失敗、ユーザーエクスペリエンスの低下、障害を持つユーザーに対するアクセシビリティの障壁につながる可能性があります。
Form field typesは、PDFのAcroForm構造内のfield dictionaryで指定されます。各インタラクティブフィールドオブジェクトには、フィールドの動作を決定する値を持つ/FTエントリが含まれています:
テキストフィールド(/Tx):ユーザーがキーボード入力で入力する文字列値を格納します。追加のフラグは、フィールドが複数行のテキスト、パスワードマスキング、ファイルパス、またはリッチテキストフォーマットを受け入れるかどうかを制御します。フィールド値は、/Vキーにテキスト文字列またはテキストストリームとして格納されます。
ボタンフィールド(/Btn):バイナリまたは相互排他的な選択を表します。/Ff(field flags)エントリは、プッシュボタン(ビット17)、ラジオボタン(ビット16クリア、ビット15セット)、チェックボックス(ビット16クリア、ビット15クリア)を区別します。ボタンの値は通常、選択された状態を表す名前オブジェクトです。
選択フィールド(/Ch):/Opt配列で定義されたオプションのリストを提示します。Field flagsは、フィールドがコンボボックス(ドロップダウン)またはリストボックスとしてレンダリングされるかどうか、および複数選択が許可されるかどうかを決定します。選択された値は、オプション配列のエントリを参照します。
署名フィールド(/Sig):署名された場合、/Vエントリにデジタル署名ディクショナリを含みます。これらのフィールドは署名のappearance streamsにリンクし、暗号化検証データを維持します。未署名の署名フィールドは、署名が適用されるまで/Vエントリを持ちません。
Form field typeの階層構造により、フィールドの継承が可能になり、
(
Citation: N.A., 2020
(N.A.).
(2020).
Document management — Portable document format — Part 2: PDF 2.0
.
International Organization for Standardization
Retrieved from
https://www.iso.org/standard/75839.html
)
で定義されているフィールドツリー構造内で、子フィールドが親フィールドから/FT値を継承できます。
- AcroForm – フォームフィールド定義を含むPDFインタラクティブフォームアーキテクチャ
- Field dictionary –
/FTキーを含むフォームフィールドのすべてのプロパティを含むディクショナリオブジェクト - Widget annotation – ユーザーがPDFページ上で相互作用するフォームフィールドの視覚的表現
- Field flags – タイプカテゴリ内のフィールドの動作と外観を変更するビットフラグ
- Terminal fields – 実際の値とwidget annotationsを持つフォームフィールド階層のリーフノード
- (N.A.) (2020)
- (N.A.). (2020). Document management — Portable document format — Part 2: PDF 2.0 . International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html
- (N.A.) (2014)
- (N.A.). (2014). Document management applications — Electronic document file format enhancement for accessibility — Part 1: Use of ISO 32000-1 (PDF/UA-1) . International Organization for Standardization Retrieved from https://www.iso.org/standard/64599.html
