Rendering extraction
レンダリング抽出は、文書の論理構造を直接解析するのではなく、視覚的なレンダリングプロセスをシミュレートすることでコンテンツを抽出するPDF処理技術です。
レンダリング抽出は、文書の論理構造を直接解析するのではなく、視覚的なレンダリングプロセスをシミュレートすることでコンテンツを抽出するPDF処理技術です。このアプローチは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文書のページ記述レベルで動作するコンテンツ抽出手法です。文書の論理階層(Tagged PDF構造ツリーなど ( Citation: PDF Association, 2023 PDF Association(2023). Retrieved from https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/ ) )に依存する構造ベースの抽出方法とは異なり、レンダリング抽出はコンテンツストリーム内の低レベルのグラフィックスオペレーターとテキスト表示コマンドを処理します。この技術は、本質的にPDFビューアーがページを表示する際に行うこと、すなわち描画コマンド、フォントメトリクス、配置オペレーター、グラフィックス状態パラメーターの解釈を模倣しますが、画面上にピクセルを表示するのではなく、結果として得られるコンテンツデータを取得します。
論理的抽出との主な違いは、レンダリング抽出が視覚表現レイヤーで動作する点です。テキスト配置(Td、TD、Tm)、テキスト表示(Tj、TJ)、グラフィックス状態の変更などのオペレーターを処理して、レンダリングされたページ上でテキストやグラフィックスがどこに表示されるかを判断します。その際、構造ツリーやセマンティックマークアップへのアクセスを必要としません。
開発者にとって、レンダリング抽出はアクセシビリティ機能や適切な構造マークアップを欠くPDFからコンテンツを抽出するためのフォールバック手段を提供します。現実世界の多くのPDF文書はタグ付けされていないため、構造ベースの抽出は不可能です。レンダリング抽出により、アプリケーションは以下のことが可能になります:
- セマンティック構造を持たないレガシーまたは不適切に作成されたPDFからテキストやコンテンツを抽出
- コンテンツ要素間の視覚的な読み順序と空間的関係を判断
- 論理構造が存在しないテキストオーバーレイ付きのスキャン文書を処理
- 視覚レイアウトを分析して論理構造を再構築できるアクセシビリティ修正ツールを構築
- 視覚的な表現が埋め込まれた構造情報と大きく異なる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コンテンツストリームプロセッサーを実装することで機能します。このプロセスは通常、以下のステップに従います:
コンテンツストリームの解析: プロセッサーはページのコンテンツストリームを読み取り、PDFオペレーターを順次解析しながら、現在の変換行列、フォント、色、その他の状態パラメーターを追跡するグラフィックス状態スタックを維持します。
座標変換: プロセッサーは配置オペレーター(テキスト行列の
Tmや現在の変換行列のcmなど)を処理する際、座標空間の変換を追跡してコンテンツをユーザー空間からデバイス空間にマッピングし、実際のページ位置を判断します。テキスト抽出: テキスト表示オペレーター(
Tj、TJ、'、")が検出されると、プロセッサーは現在のフォント、フォントサイズ、テキスト行列、文字間隔パラメーターを使用してグリフの位置を計算し、空間座標と共に実際のテキストコンテンツを抽出します。視覚的順序付け: コンテンツはレンダリング順序で取得されますが、これは論理的な読み順序とは異なる場合があります。高度な実装では、空間的な近接性と配置に基づいてテキストの断片を行、列、段落にグループ化するヒューリスティックを適用します。
リソース解決: プロセッサーは、文字コードや埋め込まれたグラフィックスを適切に解釈するために、ページのリソースディクショナリからフォントや画像などのリソースを参照解決します。
このアプローチはPDFレンダリング仕様のかなりの部分を実装する必要がありますが、文書構造の品質に依存しない堅牢な抽出機能を提供します。
- Tagged PDF – 構造ベースの抽出を可能にする明示的な論理構造を持つPDF文書
- Content stream(コンテンツストリーム) – ページの視覚的な外観を記述するPDFオペレーターのシーケンス
- Graphics state(グラフィックス状態) – PDFオペレーターがコンテンツをレンダリングする方法を制御するパラメーターのコレクション
- Text matrix(テキスト行列) – テキストの位置、スケール、向きを定義する変換行列
- Logical structure(論理構造) – 文書のセマンティクスを表すコンテンツ要素の階層的な構成
- (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/
