ExtractStructuredDocument

Tekst, wyodrębnianie, dane strukturalne

Opis

Przechwytuje wybrany zakres stron, analizuje strony wspólnie i zwraca jeden dokument JSON schematu 2, jeden semantyczny dokument XHTML albo skoordynowane tabele CSV

Składnia

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 String

DLL

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);

Parametry

PageRangeZakres stron liczony od 1, na przykład 1-3,7, albo pusty ciąg dla wszystkich stron
FormatPDF_STRUCTURED_TEXT_JSON (0), PDF_STRUCTURED_TEXT_XHTML (1) lub PDF_STRUCTURED_TEXT_CSV (2)
OptionsZero albo PDF_STRUCTURED_TEXT_INCLUDE_STYLES (1)

Wartości zwracane

JSON zawiera version: 2 i tablicę pages w schemacie udokumentowanym przez ExtractStructuredPage; stabilne identyfikatory węzłów semantycznych obowiązują między stronami

XHTML łączy treść semantyczną, trzymając połączone fragmenty tabel wewnątrz jednej tabeli zamiast wymagać sekcji na stronę

CSV zawiera wyłącznie tabele i jest pusty, gdy żadna wybrana strona nie ma tabeli; kontynuowane tabele logiczne używają jednego nagłówka tabeli i pomijają rozpoznane powtarzające się wiersze nagłówka

Nieprawidłowy zakres, format lub opcja oraz każdy błąd wyodrębniania zwracają pusty ciąg

Uwagi

Analiza używa SetStructuredTextOptions niezależnie od specyficznych dla formatu opcji Options; źródła kolejności czytania i ostrzeżenia fallbacku sprawdź w GetLastStructuredTextDiagnostics

Gdy powiązania treści są kompletne, pierwszeństwo ma rzeczywista kolejność drzewa tagów; treść nierozwiązana lub niejednoznaczna zachowuje wyodrębniony tekst w fallbacku mieszanym albo geometrycznym, a nieznanych ról niestandardowych nie zgaduje się po ich nazwach

Analiza międzystronicowa rozpoznaje powtarzające się elementy stałe marginesów i zgodne kontynuacje tabel; domyślne flagi rozpoznają te elementy, zachowując ich tekst

Otagowane komórki zachowują pustą treść i jawne zakresy wierszy oraz kolumn; zniekształcone lub nachodzące na siebie siatki tabel przechodzą w fallback, zachowując wyodrębniony tekst

Modele wybranych stron są przechowywane dla analizy całego dokumentu, a kompletny zserializowany wynik jest buforowany; pamięć rośnie wraz z wybraną treścią i rozmiarem wyjścia

Wyodrębnianie zachowuje wybraną stronę i otwarty stos tagów zapisu; bieżące niezapisane tagi zapisu trafiają do wyniku bez tagów zamykających i bez finalizowania dokumentu

Postęp i kooperacyjne anulowanie korzystają ze zwykłego cyklu życia operacji na dokumencie

LastErrorCode ma wartość 111 dla nieprawidłowych danych wejściowych oraz 515, gdy wyodrębnianie się nie powiedzie

Zobacz również

ExtractStructuredPage, ExtractPageRangeText