ExtractStructuredDocument

Texto, extracción, datos estructurados

Descripción

Captura un intervalo de páginas seleccionado, analiza las páginas juntas y devuelve un documento JSON del esquema 2, un documento XHTML semántico o tablas CSV coordinadas

Sintaxis

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

Parámetros

PageRangeUn intervalo de páginas basado en uno, como 1-3,7, o una cadena vacía para todas las páginas
FormatPDF_STRUCTURED_TEXT_JSON (0), PDF_STRUCTURED_TEXT_XHTML (1) o PDF_STRUCTURED_TEXT_CSV (2)
OptionsCero o PDF_STRUCTURED_TEXT_INCLUDE_STYLES (1)

Valores devueltos

El JSON contiene version: 2 y un arreglo pages que usa el esquema documentado por ExtractStructuredPage; los ID semánticos estables de nodo aplican a todas las páginas

El XHTML combina contenido semántico, con los fragmentos de tabla unidos dentro de una sola tabla en lugar de requerir una sección por página

El CSV contiene solo tablas y queda vacío cuando ninguna página seleccionada tiene una; las tablas lógicas continuadas usan un solo encabezado de tabla y omiten las filas de encabezado repetidas identificadas

Un intervalo, formato u opción no válidos, así como cualquier fallo de extracción, devuelven una cadena vacía

Observaciones

El análisis usa SetStructuredTextOptions de forma independiente de las Options específicas de formato; examine GetLastStructuredTextDiagnostics para conocer las fuentes de lectura y las advertencias de fallback

El orden real del árbol de etiquetas tiene precedencia cuando las vinculaciones de contenido están completas; el contenido sin resolver o ambiguo conserva el texto extraído en el fallback mixed o geometric, y los roles personalizados desconocidos no se adivinan por su nombre

El análisis entre páginas identifica elementos auxiliares de márgenes repetidos y continuaciones de tablas compatibles; las banderas predeterminadas identifican los elementos auxiliares conservando su texto

Las celdas etiquetadas conservan el contenido vacío y las extensiones explícitas de fila y columna; las cuadrículas de tabla mal formadas o superpuestas recurren al fallback conservando el texto extraído

Los modelos de páginas seleccionadas se retienen para el análisis de todo el documento y el resultado serializado completo se almacena en búfer; la memoria crece con el contenido seleccionado y el tamaño de la salida

La extracción conserva la página seleccionada y la pila de etiquetas del escritor abiertas; las etiquetas del escritor aún sin guardar se incluyen sin cerrar etiquetas ni finalizar el documento

El progreso y la cancelación cooperativa usan el ciclo de vida normal de las operaciones del documento

LastErrorCode es 111 para entrada no válida y 515 cuando falla la extracción

Véase también

ExtractStructuredPage, ExtractPageRangeText