ExtractStructuredDocument
テキスト、抽出、構造化データ
説明
選択したページ範囲をキャプチャし、ページをまとめて解析して、スキーマ 2 の JSON 文書、セマンティック XHTML 文書、連携した CSV テーブルのいずれかを返します
構文
Delphi
Function TPDFlib.ExtractStructuredDocument(Const PageRange: WideString;
Format, Options: Integer): WideString;ActiveX
Function PDFlib::ExtractStructuredDocument(PageRange As String,
Format As Long, Options As Long) As StringDLL
const wchar_t* DLExtractStructuredDocument(int InstanceID,
const wchar_t* PageRange, int Format, int Options);
const char* DLExtractStructuredDocumentA(int InstanceID,
const char* PageRange, int Format, int Options);パラメータ
| PageRange | 1-3,7 など、1 から始まるページ範囲です。すべてのページを対象にする場合は空文字列を指定します |
|---|---|
| Format | PDF_STRUCTURED_TEXT_JSON (0)、PDF_STRUCTURED_TEXT_XHTML (1)、または PDF_STRUCTURED_TEXT_CSV (2) |
| Options | 0 または PDF_STRUCTURED_TEXT_INCLUDE_STYLES (1) |
戻り値
JSON には version: 2 と、ExtractStructuredPage で説明されるスキーマを使う pages 配列が含まれます。安定したセマンティックノード ID はページをまたいで適用されます
XHTML はセマンティックなコンテンツを結合します。連結されたテーブル断片は 1 つのテーブル内に置かれ、ページごとの section は要求されません
CSV にはテーブルだけが含まれ、選択ページにテーブルがなければ空です。継続する論理テーブルは 1 つのテーブルヘッダーを使い、識別された繰り返しヘッダー行は省略されます
範囲、形式、またはオプションが無効な場合、および抽出に失敗した場合は空文字列を返します
備考
解析では、フォーマット固有の Options とは独立に SetStructuredTextOptions が使われます。読み取りソースとフォールバックの警告は GetLastStructuredTextDiagnostics で確認してください
コンテンツのバインディングが完全であれば、実際のタグツリー順序が優先されます。未解決や曖昧なコンテンツは mixed または geometric へのフォールバックで抽出テキストを保持し、未知のカスタムロールを名前から推測することはありません
ページをまたぐ解析では、余白に繰り返し現れる装飾要素と互換性のあるテーブル継続を識別します。既定のフラグは、テキストを保持したまま装飾要素を識別します
タグ付きセルは空のコンテンツと明示的な行・列スパンを保持します。不正または重なるテーブルグリッドは、抽出テキストを保持したままフォールバックします
ドキュメント全体の解析のため選択ページのモデルは保持され、シリアライズされた完全な結果はバッファリングされます。メモリは選択されたコンテンツと出力サイズに応じて増えます
抽出では、選択されたページと開いているライタータグスタックを保持します。未保存の現在のライタータグは、タグを閉じずドキュメントをファイナライズせずにそのまま含まれます
進行状況と協調的キャンセルでは、通常の文書処理ライフサイクルを使用します
入力が無効な場合、LastErrorCode は 111、抽出失敗時は 515 です