コンテンツにスキップ

NextPDF Connect(Pro)でテキストコンテンツを抽出する

インデックス作成、分析、または後続処理のために、既存の PDF からテキストを抽出します。extract_text ツールを使用します。このツールは Pro ツールプロバイダーに対して再検証されます。このプロバイダーは new ExtractTextTool() をプロトコル名 extract_text で登録します。extract_text は Pro ティアのツールです。 サーバーは起動時に class_exists() でこれをプローブし、Pro パッケージがインストールされている場合にのみ登録します。プレーン出力、ページ範囲、ページ単位に分割された構造化出力をサポートします。

Terminal window
composer require nextpdf/server
composer require nextpdf/pro

トランスポートをバインドします。このツールを前提にする前に、diagnostic.capabilities でツールの有無を確認してください。

抽出処理は、コンテンツストリーム内のテキスト表示オペレーターをストリーム順に読み取ります(ISO 32000-2 §9.4)。出力は エンコードされた 読み取り順序を反映します(ISO 32000-2 §9.10)。テキストレイヤーのないスキャン PDF では、テキストがほとんど、またはまったく得られません。これはソースの特性であり、ツールの欠陥ではありません。format: "plain" は 1 つの文字列を返します。format: "structured" は、文字数を含むページごとのオブジェクトを返します。page_range は処理対象ページを制限します。

ツールティア役割リスクティア
extract_textProテキスト抽出(plain / structured / range)安全
parse_pdfCore(環境変数でゲート)低レベル構造(ページ数、メタデータ)安全

ツール名はレジストリ上のプロトコル名です。ツールカタログが正式なカタログです。利用できるツールは、インストール済みのティアによって異なります。

  1. extract_text を、source(サーバーが読み取れるパス)および format: "plain" とともに使用します。
  2. サブセットを抽出するには、extract_textpage_range: "1-3" とともに使用します。
  3. ページ単位に分割された出力には、extract_textformat: "structured" とともに使用します。

範囲を要求する前にページ数を把握するには、parse_pdf(または範囲を指定しない事前の extract_text)を使用します。RAG/インデックス作成の場合は、各ページを独立してチャンク化できるよう format: "structured" を優先してください。暗号化されたソースの場合は、password パラメーターを指定してください。文字数はバイト数ではなく、UTF-8 のコードポイント数です。

  • ソースが見つからない。 不正なパスは、ファイルが見つからないエラーを返します。サーバーが読み取れる絶対パスを使用してください。
  • スキャン PDF。 テキストレイヤーがない場合、テキストは空、またはほぼ空になります。先にソースを OCR してください。
  • 範囲外のページ。 ドキュメントのページ数を超える範囲は、実際のページ数とともに拒否されます。
  • 暗号化されたソース。 password パラメーターを指定してください。
  • Pro が存在しない。 Core のみの場合、extract_text は登録されません。diagnostic.capabilities でプローブしてください。

抽出処理はドキュメントのサイズに応じてスケールし、バジェットは大きな入力を許容します。このツールは PDF ではなくテキストを返すため、生成されるすべての成果物のプロファイルは structural です。

抽出されたテキストには機密コンテンツが含まれる場合があります。結果は機密情報として扱い、信頼できるチャネル経由でのみ返してください。このツールはファイルシステムへ書き込みません。サーバーの権限でソースパスを読み取るだけなので、呼び出し元が渡せるパスを制限してください。

記述仕様箇条reference_id
テキストはテキスト表示オペレーターによってストリーム順に表示される。ISO 32000-2§9.4
抽出はエンコードされた読み取り順序を反映する。ISO 32000-2§9.10

このレシピは、抽出されたテキストが、タグ付けされていないドキュメントの忠実な論理的読み取り順序であることを保証しません。順序はエンコードされた順序です。

extract_text は Pro ティアのツールであり、サーバー起動時に Pro パッケージが解決された場合にのみ登録されます。

トランスポート利用可否備考
MCP(stdio)あり(Pro)大きなテキストによる stdio フレームの肥大化。
RESTあり(Pro)サポートされている場合の大きな結果のストリーミング。
gRPCあり(Pro)大きなテキストに対するメッセージサイズ制限の適用。

extract_text は安全(読み取り専用、副作用なし)であり、決してゲートされません。

読み取り専用の抽出は決してゲートされません。

{ "allowed": true }