Skip to main content
Interwork Corporation
IDR Solutions Product Support Portal
PDF開発用語集 モードの切替 ダーク/ライト/自動 モードの切替 ダーク/ライト/自動 モードの切替 ダーク/ライト/自動

Text selection

Text selectionは、PDFページ上にレンダリングされた可視グリフと、文書構造内の基礎となる文字位置との対応関係を確立する、ビューアおよび抽出メカニズムです。

キーワード: text selection, Text selection

概要

Text selectionは、PDFページ上にレンダリングされた可視グリフと、文書構造内の基礎となる文字位置との対応関係を確立する、ビューアおよび抽出メカニズムです。このプロセスにより、ユーザーはPDFビューアやアプリケーション内でテキストコンテンツを選択、コピー、検索できるようになります。 ( Citation: N.A., (N.A.). (). Document management — Portable document format — Part 2: PDF 2.0 International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) ではテキストオペレーターとコンテンツストリームのレンダリングが定義されていますが、text selectionではこのレンダリングプロセスを逆解析し、画面座標を抽出可能なUnicode文字にマッピングする必要があります。

定義

Text selectionは、PDFの視覚的表現と論理的テキストコンテンツの間の双方向マッピングプロセスです。ユーザーがPDFビューア内でレンダリングされたテキストをカーソルでドラッグすると、アプリケーションは選択領域に対応するグリフを特定し、コンテンツストリームから適切な文字コードを取得して、クリップボード操作や検索機能のためにUnicodeに変換する必要があります。

これは単純なコンテンツ抽出とは異なります。text selectionでは、回転、変換行列、多段組レイアウトなどを含むテキストの視覚的レイアウトを考慮しながら、適切な読み順序を維持する必要があるためです。また、文字コードを可視グリフに変換する順方向プロセスであるテキストレンダリングとも異なります。Text selectionはこのプロセスを逆転させるもので、読み順序と異なる順序でレンダリングされたテキストや、複数のテキストオブジェクトに分割されたテキストなど、視覚的レイアウトが論理構造と一致しない場合に対処するため、複雑なヒューリスティックが必要となることがよくあります。

重要性

PDFビューア、文書管理システム、またはアクセシビリティツールを構築する開発者にとって、text selectionはユーザーエクスペリエンスに直接影響する重要な機能です。ユーザーは、ネイティブなWebやアプリケーションコンテンツと同様に、PDFテキストと対話できることを期待しています。つまり、コピーのための段落選択、注釈のための領域ハイライト、特定の用語の検索などです。

適切なtext selectionの実装は、特にアクセシビリティコンプライアンスにおいて重要です。 ( Citation: N.A., (N.A.). (). 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コンテンツが支援技術からアクセス可能である必要があり、支援技術は正確なテキスト抽出と選択メカニズムに依存して、障害を持つユーザーにコンテンツを提示します。正しいtext selectionがなければ、スクリーンリーダーは文書コンテンツを適切にナビゲートしたり読み上げたりできません。

検索およびインデックス作成アプリケーションにとって、text selectionアルゴリズムは全文検索機能の基盤となります。開発者は、合字(複数の文字が単一のグリフとしてレンダリングされる場合)、ハイフネーション、双方向テキストを含む複雑なスクリプトなどのエッジケースを処理し、正確な検索結果とコンテンツ抽出を確保する必要があります。

仕組み

Text selectionは複数の技術レイヤーを通じて動作します。

ヒットテスト: ユーザーがPDFページ上でクリックまたはドラッグすると、ビューアは画面座標をPDFユーザー空間座標に変換し、ズームレベルやページ変換を考慮します。その後、アプリケーションはコンテンツストリーム内のテキストオブジェクトを調べて、選択領域と交差するグリフを特定します。

グリフから文字へのマッピング: 選択された各グリフについて、ビューアはフォントエンコーディング情報と ( Citation: N.A., (N.A.). (). Document management — Portable document format — Part 2: PDF 2.0 International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) で定義されたToUnicode CMapを使用して、文字コードにマッピングする必要があります。このプロセスでは、シンプルエンコーディング、コンポジットフォント、Unicodeに直接相当しないカスタムエンコーディングなど、さまざまなエンコーディングスキームを処理します。

読み順序の決定: PDFコンテンツストリーム内のテキストオブジェクトは、論理的な読み順序で出現しない場合があります。ビューアは、空間的位置、ベースライン配置、テキスト方向に基づいたヒューリスティックを使用して、適切なシーケンスを再構築します。 ( Citation: , (). Retrieved from https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/ ) は、特にTagged PDF構造が存在する場合に、正しい読み順序の決定に役立つ構造に関するガイダンスを提供しています。

テキスト抽出と正規化: グリフが識別され順序付けられると、ビューアは文字データを抽出し、合字の分解を適用し、単語間隔を処理し、改行を正規化してコピー可能なテキストを生成します。これには、コンテンツストリーム内で別々に配置された単語間にスペースを挿入したり、均等割り付けアルゴリズムによって導入された人工的な区切りを削除したりすることが含まれます。

関連用語

  • Content stream(コンテンツストリーム) – テキストレンダリングコマンドを含む、ページコンテンツを記述するオペレーターとオペランドのシーケンス
  • ToUnicode CMap – 適切なテキスト抽出のために文字コードをUnicode値に変換するマッピングテーブル
  • Tagged PDF – テキスト抽出とアクセシビリティを改善するための論理的な文書階層と意味情報を含むPDF構造
  • Glyph(グリフ) – フォントからレンダリングされた文字の視覚的表現
  • Text object(テキストオブジェクト) – BTとETオペレーターで囲まれた、テキスト表示操作を含むPDFコンテンツストリームのセクション

出典

(N.A.) (2020)
(N.A.). (). 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)
(). Retrieved from https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/
(N.A.) (2014)
(N.A.). (). 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