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

PDFTextStripper

PDFTextStripperは、Apache PDFBoxのPDModel API内の高レベルJavaクラスで、開発者がPDFドキュメントからテキストコンテンツを抽出できるようにします。

キーワード: pdftextstripper, PDFTextStripper

概要

PDFTextStripperは、Apache PDFBoxのPDModel API内の高レベルJavaクラスで、開発者が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 ) で定義された視覚的なテキスト要素をアクセス可能な文字列形式に変換します。PDFTextStripperは、テキスト抽出タスクにおいてPDFBoxで最も一般的に使用されるコンポーネントの1つです。

定義

PDFTextStripperは、PDFドキュメントのコンテンツストリームを走査し、テキスト表示オペレーターを解釈して文字データを抽出する機能を実装する具象Javaクラスです。PDF構文の手動解析を必要とする低レベルAPIとは異なり、PDFTextStripperはテキストの配置、フォントエンコーディング、文字マッピングの詳細を読み取る複雑さを抽象化します。このクラスはPDFStreamEngineを拡張し、ページ範囲、ソートモード、行区切り文字、記事スレッド処理など、抽出動作の設定可能なオプションを提供します。PDFTextStripperは、PDFTextStripperByArea(特定の矩形領域からテキストを抽出)やAccessiblePDFTextStripper(Tagged PDF構造 ( Citation: , (). Retrieved from https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/ ) を活用してより正確な抽出を行う)とは異なります。

重要性

PDFドキュメントを扱う開発者にとって、PDFTextStripperは、バイナリPDFコンテンツと、検索インデックス作成、コンテンツ分析、データ抽出、アクセシビリティアプリケーションに使用可能なテキストデータとの間の重要な橋渡し役を提供します。プログラムによるテキスト抽出機能は、文書管理システム、自動文書処理ワークフロー、文書内容を検証する必要があるコンプライアンスツールにとって不可欠です。アクセシビリティ標準 ( 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を扱う場合、PDFTextStripperは論理的な読み順と構造的関係を維持したテキストを抽出できるため、PDFコンテンツのアクセシブルなバージョンの作成や他の形式へのコンテンツ移行に価値があります。

仕組み

PDFTextStripperは、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 ) に従ってテキストを配置・表示するオペレーターを解釈することで動作します。getText()が呼び出されると、クラスは指定されたページを反復処理し、各ページのコンテンツストリームを処理してテキスト表示オペレーター(Tj、TJ、’、")を識別します。テキストオペレーターが配置コマンドを通じて変更する際に、カーソル位置を追跡するテキスト位置マトリックスを維持します。このクラスは、各ページで定義されたフォントリソースを通じてフォントエンコーディングと文字マッピングを処理し、文字コードをUnicode文字列に変換します。開発者は、setSortByPosition()で空間的なテキストソートを制御したり、setStartPage()とsetEndPage()で抽出範囲を制限したり、setLineSeparator()で行末文字を定義したりすることで、抽出動作をカスタマイズできます。このクラスはサブクラス化のためのフックも提供し、開発者がwriteString()などのメソッドをオーバーライドして、抽出中にカスタムテキスト処理ロジックを実装できるようにします。

関連用語

  • PDDocument – PDFTextStripperが操作するメモリ内PDFドキュメントを表すApache PDFBoxのメインクラス
  • Content Stream – テキスト要素を含むページコンテンツを記述するオペレーターとオペランドのシーケンスを含むPDFストリームオブジェクト
  • Tagged PDF – コンテンツの読み順と意味的意味を定義する論理構造要素を含むPDFドキュメント構造
  • PDFBox – PDFドキュメントの作成、操作、コンテンツ抽出を行うためのApacheのオープンソースJavaライブラリ
  • Text Extraction(テキスト抽出) – 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