PDAnnotationInk
PDAnnotationInkは、Apache PDFBoxライブラリのクラスで、PDFドキュメント内のフリーハンド「落書き」注釈を表します。
PDAnnotationInkは、Apache PDFBoxライブラリのクラスで、PDFドキュメント内のフリーハンド「落書き」注釈を表します。これらの注釈により、ユーザーはPDFページ上に任意のパスを描画でき、通常はスタイラスやマウスを使用して手書きのマークやハイライトをシミュレートします。インク注釈タイプは、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 ) において、1つ以上の非連結パスで構成される自然な描画入力を捉える方法として定義されています。
PDAnnotationInkは、PDFインク注釈サブタイプのApache PDFBox Java実装です。PDF仕様では、インク注釈(タイプ /Ink)は、ユーザーが描いた1つ以上のストロークまたはパスを表す点のリストを格納します。各パスは座標の配列として定義され、複数の非連結線や曲線を含む複雑なフリーハンド描画が可能です。
既存のテキストをハイライトまたは下線付けするマークアップ注釈とは異なり、インク注釈はPDFコンテンツ上に重ねられる純粋なグラフィカル要素です。線注釈やポリゴン注釈とは、インク注釈が幾何学的形状ではなく自然なフリーハンド入力を捉えるために特別に設計されている点で異なります。PDAnnotationInkは、インクリスト(点配列の配列)、外観特性、色、境界線スタイルを設定および取得するためのメソッドを提供します。
PDF注釈ツール、ドキュメントレビューシステム、またはデジタル署名ワークフローを構築する開発者にとって、PDAnnotationInkはプログラムでドキュメントに手書きスタイルのマークを追加できるようにします。これは、タブレットやタッチ入力をサポートするアプリケーションにとって特に重要で、ユーザーはドキュメントに直接描画できることを期待しています。
PDAnnotationInkを理解することで、開発者は以下を実現するアプリケーションを作成できます:ドキュメントがレビューまたは署名される際に自然なマークアップを保持する、インク注釈をサポートする他のPDFビューアとの互換性を維持する、既存のPDFから手書き注釈を抽出または分析する。アクセシビリティの観点から、開発者は、PDF/UA ( 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 ) などの標準に準拠するために、インク注釈が適切な代替テキスト説明を必要とする場合があることを認識する必要があります。
PDAnnotationInkは、描画データを「InkList」構造(配列の配列)に格納します。各内部配列は、交互に並ぶx,y座標ペアを含む単一のストロークを表します。PDFBoxでインク注釈を作成する際、開発者はPDAnnotationInkオブジェクトをインスタンス化し、setInkList()を使用してインクリストを設定し、注釈の境界矩形を定義し、オプションで色や境界線幅などの外観プロパティを構成します。
注釈の外観ストリームは、視覚的なレンダリング方法を決定します。PDFBoxはデフォルトの外観ストリームを自動的に生成できますが、開発者はカスタム外観を作成することもできます。インク注釈を含むPDFがレンダリングされると、ビューアは座標点を順に接続して各パスを描画し、フリーハンド描画効果を生成します。座標系は、PDFページのデフォルトユーザー空間を使用し、通常はポイント(1/72インチ)で測定されます。
ドキュメントからインク注釈を抽出するには、開発者はページの注釈を反復処理し、PDAnnotationInkインスタンスでフィルタリングし、処理または表示のためにインクリスト座標を取得します。その後、パスを分析し、他の形式に変換したり、異なるコンテキストで再レンダリングしたりできます。
- PDAnnotation – Apache PDFBoxのすべての注釈タイプの基底クラスで、共通のプロパティとメソッドを提供します
- PDAnnotationMarkup – 通常ドキュメントコンテンツを参照するマークアップスタイル注釈の親クラスです
- PDAppearanceStream – ページ上にレンダリングされるべき注釈の視覚的外観を表します
- Tagged PDF – アクセシビリティのためのセマンティック情報を含むPDF構造で、インク注釈を記述する必要がある場合があります ( Citation: PDF Association, 2023 PDF Association(2023). Retrieved from https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/ )
- PDPage – PDAnnotationInkなどの注釈が配置される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
