RenderingMode
RenderingModeは、Apache PDFBoxにおいて、PDFドキュメントのレンダリング時にテキストやグラフィカルコンテンツの表示または処理方法を制御するクラスです。
RenderingModeは、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 ) では、ページ上でのコンテンツの表示方法に影響を与える複数のレンダリングモードが定義されているため、PDFコンテンツの抽出、操作、表示を扱う開発者にとって、RenderingModeの理解は不可欠です。
Apache PDFBoxにおけるRenderingModeは、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 ) で定義されている特定の値(0~7)に対応しており、レンダリング処理中にテキストのグリフアウトラインがどのように扱われるかを決定します。
単純な表示オプションとは異なり、RenderingModeはPDFプロセッサがテキストオブジェクトを解釈し表示する基本的な方法に影響を与えます。例えば、テキストは現在の塗りつぶし色で塗りつぶされたり、現在のストローク色でアウトライン化されたり、後続の操作のためのクリッピングパスとして使用されたり、不可視でレンダリングされたりします(不可視モードは、Tagged PDFドキュメント ( Citation: PDF Association, 2023 PDF Association(2023). Retrieved from https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/ ) におけるアクセシビリティ目的でよく使用されます)。これは、単純な視覚的属性としてではなく、グラフィックス状態レベルで動作するため、他のスタイルプロパティとは異なります。
PDFドキュメントを扱う開発者にとって、RenderingModeはいくつかの理由で重要です。第一に、テキスト抽出の精度に直接影響します。不可視モードでレンダリングされたテキストであっても、アクセシビリティ準拠 ( 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 ) のためにスクリーンリーダーが必要とする重要なコンテンツが含まれている可能性があります。第二に、PDFをプログラムで作成または変更する際、適切なレンダリングモードを選択することで、標準的な塗りつぶしテキスト、強調のためのアウトラインテキスト、特殊なクリッピング効果など、意図したとおりにテキストが表示されることが保証されます。
RenderingModeの理解は、特にアクセシブルな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 ) などの標準で要求されるドキュメントのアクセシビリティ機能を維持するために、すべてのレンダリングモードを適切に処理する必要があります。
Apache PDFBoxでは、RenderingModeクラスは、PDF仕様のテキストレンダリングモードに対応する列挙定数を提供します。PDFを処理する際、レンダリングモードはグラフィックス状態の一部であり、PDFコンテンツストリーム内のTr演算子を使用して設定できます。利用可能なモードには以下が含まれます:
- Fill(0):現在の塗りつぶし色を使用してテキストを塗りつぶします
- Stroke(1):現在のストローク色と線幅を使用してテキストのアウトラインをストロークします
- Fill-then-Stroke(2):テキストを塗りつぶしてからストロークします
- Invisible(3):テキストはレンダリングされませんが、テキストの位置決めと間隔に影響する可能性があります
- Fill and Clip(4):テキストを塗りつぶし、クリッピングパスに追加します
- Stroke and Clip(5):テキストをストロークし、クリッピングパスに追加します
- Fill-Stroke and Clip(6):テキストを塗りつぶし、ストロークし、クリッピングパスに追加します
- Clip(7):可視レンダリングなしでテキストをクリッピングパスに追加します
PDFBoxでPDFコンテンツを抽出またはレンダリングする際、開発者はグラフィックス状態を通じて現在のレンダリングモードを照会し、テキストコンテンツの処理方法について情報に基づいた決定を下すことができます。これは、すべてのタイプのテキストレンダリングを適切に処理する必要があるカスタムコンテンツプロセッサやテキスト抽出アルゴリズムを実装する際に特に関連します。
- Graphics State(グラフィックス状態) – レンダリングモード、色、線幅、変換行列など、PDFでコンテンツのレンダリング方法を制御するグラフィックスパラメータのコレクション
- Content Stream(コンテンツストリーム) – テキストレンダリングモードコマンドを含む、PDFページ上のコンテンツの外観を定義するPDF演算子とオペランドのシーケンス
- Tagged PDF – アクセシビリティとコンテンツの再利用性を向上させるための論理構造情報とメタデータを含むPDF構造。特定の目的で不可視テキストレンダリングがよく使用されます
- Text Extraction(テキスト抽出) – PDFドキュメントからテキストコンテンツを取得するプロセス。すべての関連コンテンツをキャプチャするために異なるレンダリングモードを考慮する必要があります
- PDFBox Graphics State – 現在のレンダリングモードを含むレンダリングパラメータを追跡する、PDFグラフィックス状態管理のApache PDFBox実装
- (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
