PDAcroForm
PDAcroFormは、Apache PDFBox PDModel APIの高レベルクラスであり、Javaデベロッパーに対してPDFドキュメント内のインタラクティブフォームデータへのプログラマティックなアクセスを提供します。
PDAcroFormは、Apache PDFBox PDModel APIの高レベルクラスであり、Javaデベロッパーに対して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 ) で定義された標準化機能であり、ユーザーがフィールドへの入力、チェックボックスの選択、データの送信を行うことができます。このクラスは、PDFBoxを使用してPDFファイル内のフォーム構造の読み取り、作成、変更を行うための主要なインターフェースとして機能します。
PDAcroFormは、PDFドキュメントのAcroForm辞書を表現するJavaクラスであり、すべてのインタラクティブフォームフィールドとその関連プロパティを含みます。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はユーザーから対話的に情報を収集するためのフィールドの集合として定義されています。PDAcroFormクラスは、低レベルのPDF辞書操作を抽象化し、テキストフィールド、チェックボックス、ラジオボタン、リストボックス、署名フィールドなどのフォーム要素を操作するための開発者フレンドリーなメソッドを提供します。
COS(Carousel Object Structure)オブジェクトを直接操作する低レベルのPDFBox APIとは異なり、PDAcroFormはPDModelレイヤーで動作し、型安全なメソッドと自動検証を提供します。この点がPDF辞書の直接操作とは異なり、PDFBoxアプリケーションにおけるフォーム関連操作の推奨アプローチとなっています。
PDFフォームを扱うデベロッパーにとって、PDAcroFormはいくつかの実用的なアプリケーションにおいて不可欠です。ドキュメントワークフローの自動フォーム入力、送信されたフォームからのデータ抽出、動的なフォーム生成を可能にします。この機能は、請求書生成、申請処理、データ収集システムなど、ドキュメント自動化を必要とするビジネスアプリケーションにとって重要です。
このクラスは、アクセシビリティ準拠においても重要な役割を果たします。インタラクティブフォームは ( 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 ) などの標準を満たすために適切に構造化されている必要があります。PDAcroFormは、スクリーンリーダー用の代替テキスト説明やツールチップなど、アクセシビリティに影響を与えるフォームフィールドプロパティを設定するメソッドを提供します。
さらに、PDAcroFormはAcroFormとXFA(XML Forms Architecture)の両方のフォームタイプをサポートしており、実際のPDFドキュメントで遭遇するさまざまなフォーム技術を扱う柔軟性をデベロッパーに提供します。
PDAcroFormを使用するには、デベロッパーはまずPDDocumentを使用してPDFドキュメントをロードし、次にドキュメントカタログを通じてAcroFormオブジェクトを取得します。基本的なワークフローは以下のとおりです。
フォームへのアクセス:
PDDocument.getDocumentCatalog().getAcroForm()を呼び出してPDAcroFormインスタンスを取得するか、存在しない場合は新規作成します。フィールドの取得:
getField(String fieldName)やgetFields()などのメソッドを使用して、個々のフォームフィールドにアクセスするか、ドキュメント内のすべてのフィールドを反復処理します。フィールド値の変更: 各フィールドはPDFieldサブクラス(PDTextField、PDCheckBoxなど)で表現され、値、外観特性、検証ルールを設定するメソッドを持ちます。
フォームの外観: PDAcroFormはNeedAppearancesフラグを管理します。このフラグは、ビューアアプリケーションがフィールドの外観を生成するか、埋め込まれた外観を使用するかを決定します。これは、異なる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 ) で定義された複雑なPDF構造要件を自動的に処理するため、デベロッパーはPDFの内部構造ではなくアプリケーションロジックに集中できます。
- PDDocument – Apache PDFBoxにおけるPDFドキュメントを表現するメインクラス
- PDField – PDFBoxにおけるすべてのインタラクティブフォームフィールドタイプのベースクラス
- PDAnnotation – フォームフィールドが継承するPDFアノテーションを表現するクラス
- PDPage – フォームフィールドが表示されるPDFドキュメント内の個別ページを表現
- COSDictionary – PDModelクラスの基盤となる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
