PDField
PDFieldは、Apache PDFBoxのPDModel APIにおける高レベルクラスで、PDFインタラクティブフォーム(AcroForm)内のフォームフィールドを表現します。
PDFieldは、Apache PDFBoxのPDModel APIにおける高レベルクラスで、PDFインタラクティブフォーム(AcroForm)内のフォームフィールドを表現します。 ( 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 ) で定義されている文書構造の一部として、PDFieldはJava開発者に対して、テキストフィールド、チェックボックス、ラジオボタン、ドロップダウンリストなどのフォーム要素を読み取り、作成、変更するためのプログラマティックなアクセスを提供します。このクラスは、基盤となるPDFディクショナリ構造を抽象化することで、PDF仕様の深い知識を必要とせずにPDFフォームを扱いやすくします。PDFieldは、PDFフォームからのデータ入力、抽出、検証が必要なアプリケーションにとって不可欠です。
PDFieldは、Apache PDFBoxライブラリにおける抽象基底クラスで、PDF文書内に存在する様々なタイプのインタラクティブフォームフィールドを表現します。このクラスは、PDTextField、PDCheckBox、PDRadioButton、PDChoice(コンボボックスとリストボックス用)、PDSignatureFieldなどの特定のフィールドタイプの親クラスとして機能します。各PDFieldインスタンスは、PDFのAcroForm構造内のフィールドディクショナリに対応しており、これは ( 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 ) で定義されているPDFがインタラクティブフォームを実装するためのメカニズムです。
COS(Carousel Object Structure)オブジェクトを直接扱う低レベルのPDFBoxクラスとは異なり、PDFieldはPDFディクショナリ構造の複雑さを処理する開発者フレンドリーなインターフェースを提供します。PDFieldは、フォームフィールドが視覚的表現のためにウィジェットアノテーションを関連付けている場合でも、外観だけでなくフォーム要素のデータと動作の側面を特に表現するという点で、PDFアノテーションとは異なります。
PDFフォームを扱う開発者にとって、PDFieldはいくつかの実用的な理由から重要です。第一に、PDFフォームにデータベース、Webサービス、またはユーザー入力からのデータを手動介入なしで入力できる自動フォーム入力ワークフローを実現します。第二に、送信されたPDFフォームからのデータ抽出を容易にし、ビジネスプロセスやデータ管理システムとの統合を可能にします。第三に、PDFieldはフォームの検証と操作をサポートし、読み取り専用ステータス、デフォルト値、フィールドの外観などのフィールドプロパティをプログラマティックに変更することを可能にします。
( 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 ) などの規格で管理されているアクセシビリティの文脈では、スクリーンリーダーや支援技術にとって、適切なツールチップ、ラベル、タブ順序を持つ正しく構成されたフォームフィールドが不可欠です。PDFieldは、これらのアクセシビリティプロパティをプログラマティックに設定するために必要なAPIメソッドを提供し、生成または変更されたPDFフォームがアクセシビリティ要件を満たすことを保証します。
PDFieldは、PDF文書のためのPDFBoxの階層的オブジェクトモデルの一部として動作します。PDFフォームを扱う際、開発者はまずPDDocumentCatalogを取得し、次にPDAcroFormオブジェクトにアクセスします。このオブジェクトは、フォームのフィールドを表すPDFieldオブジェクトのコレクションを提供します。各PDFieldは子フィールドを持つことができ、PDFのフィールド階層を反映したツリー構造を作成します。
このクラスは、フィールド名(getFullyQualifiedName())、フィールド値(getValue()とsetValue())、デフォルト値、フィールドの動作を制御する各種フラグなどの主要プロパティを取得および設定するメソッドを提供します。PDFieldは、ウィジェットアノテーションを通じて論理的フィールドとその視覚的表現との関係も管理します。例えば、単一のラジオボタングループは、同じページまたは異なるページに表示される複数のウィジェットアノテーションを持つ1つのPDFieldで表現される場合があります。
PDFieldを変更する際、開発者は通常、AcroFormからフィールド名でフィールドを取得し、setterメソッドを使用してプロパティを変更し、文書を保存します。PDFBoxは、基盤となるPDFディクショナリ構造への更新を処理し、 ( 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 ) で指定されているように、フィールドディクショナリ、ウィジェットアノテーション、アピアランスストリーム間の適切な相互参照を保証します。
- AcroForm – フォームフィールドとその設定のコレクションを含むPDFインタラクティブフォームアーキテクチャ
- PDAnnotation – フォームフィールドの視覚的インターフェースを提供するウィジェットアノテーションを含む、PDFアノテーションを表すPDFBoxクラス
- PDTextField – 単一行または複数行のテキスト入力フィールドを表すPDFieldの特定のサブクラス
- PDDocumentCatalog – AcroFormやその他の文書レベル要素へのアクセスを提供する、PDF文書の論理構造のルートオブジェクト
- Form XObject – ( 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 ) で定義されている、フォームフィールドウィジェットの外観を定義できる再利用可能なPDFコンテンツストリーム
- (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
