org.apache.pdfbox.pdmodel.interactive.annotation
`org.apache.pdfbox.pdmodel.interactive.annotation`パッケージは、Apache PDFBoxライブラリの中核コンポーネントであり、PDFアノテーションの作成、操作、レンダリングを行うためのJavaクラスとインターフェースを提供します。
org.apache.pdfbox.pdmodel.interactive.annotationパッケージは、Apache PDFBoxライブラリの中核コンポーネントであり、PDFアノテーションの作成、操作、レンダリングを行うための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
)
で定義されているインタラクティブ要素であり、文書の基本構造を変更することなく、マークアップ、コメント、その他のコンテンツをユーザーが追加できるようにします。このパッケージは、テキストノート、リンク、マークアップアノテーション、フォームウィジェットなど、さまざまなアノテーションタイプへのプログラマティックアクセスを実装し、文書のインタラクティビティとアクセシビリティを向上させます。
org.apache.pdfbox.pdmodel.interactive.annotationパッケージは、Apache PDFBox内のJava API名前空間であり、PDFアノテーションオブジェクトを扱うためのクラスを集約しています。このパッケージには、PDF仕様で定義されているさまざまなアノテーションサブタイプの具体的な実装が含まれています。例えば、PDAnnotationText、PDAnnotationLink、PDAnnotationMarkup、PDAnnotationWidgetなどです。PDFBoxの他のパッケージにある低レベルのコンテンツストリーム操作とは異なり、このアノテーションパッケージは文書モデルレベルで動作し、アノテーションを外観ストリーム、色、境界線、関連アクションなどのプロパティを持つ独立したオブジェクトとして表現します。このパッケージは
(
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生成や操作アプリケーションを構築する開発者にとって、アノテーションパッケージはインタラクティブでアクセシブルな文書を作成するために不可欠です。アノテーションは、ナビゲーションのためのハイパーリンク、データ収集のためのフォームフィールド、協働文書レビューのためのマークアップツールなど、重要な機能を実現します。このパッケージの理解は、特にアクセシビリティ機能を実装する際に重要です。アノテーションはTagged PDF構造 ( Citation: PDF Association, 2023 PDF Association(2023). Retrieved from https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/ ) において重要な役割を果たし、スクリーンリーダーや支援技術のためにコンテンツと適切に関連付けられる必要があるためです。文書管理システム、電子署名ソリューション、PDF編集ツールを開発するJava開発者は、このパッケージを活用して、手動操作なしでアノテーションデータをプログラマティックに追加、変更、抽出し、自動化されたワークフローと改善されたユーザーエクスペリエンスを実現します。
このパッケージは、PDAnnotationをすべてのアノテーションタイプの基底クラスとするクラス階層を通じて動作し、特殊化されたサブクラスが特定の動作とプロパティを実装します。開発者はアノテーションオブジェクトをインスタンス化し、そのプロパティ(矩形境界、色、内容など)を設定し、page.getAnnotations().add()のようなメソッドを使用してPDPageオブジェクトにアタッチします。各アノテーションは、レンダリング方法を定義する外観辞書を保持しており、インタラクティブ要素の通常、ロールオーバー、押下状態を含めることができます。このパッケージは、アノテーション辞書の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
)
で指定されている/Type、/Subtype、/Rectなどの必須エントリを管理します。アクセシビリティ準拠
(
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
)
のためには、アノテーションに適切な構造要素と代替テキスト記述を含める必要があり、開発者は文書を出力ストリームに書き込む前に、パッケージのAPIメソッドを通じてこれらを設定します。
- Apache PDFBox – PDF文書の作成と操作を行うオープンソースJavaライブラリ
- PDF Annotation – PDF文書内のインタラクティブオブジェクトで、マークアップ、コメント、リンク、フォームフィールドを提供
- Tagged PDF – アクセシビリティとコンテンツの再利用を可能にする論理構造を持つPDF文書
- PDModel – PDF要素を扱うためのApache PDFBoxの高レベル文書オブジェクトモデル
- Appearance Stream – 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
- PDF Association (2023)
- PDF Association(2023). Retrieved from https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/
- (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
