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 de 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 de base 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 una matriz pages que utiliza el esquema documentado por ExtractStructuredPage; los identificadores semánticos de nodo estables se aplican entre páginas

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

El CSV contiene solo tablas y está vacío cuando ninguna página seleccionada tiene una; las tablas lógicas continuadas utilizan un único 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 utiliza SetStructuredTextOptions con independencia de las Options específicas de formato; consulte GetLastStructuredTextDiagnostics para conocer las fuentes de lectura y las advertencias de recurso alternativo

El orden real del árbol de etiquetas tiene prioridad cuando las vinculaciones de contenido están completas; el contenido sin resolver o ambiguo conserva el texto extraído en el recurso alternativo mixto o geométrico, y los roles personalizados desconocidos no se adivinan por su nombre

El análisis entre páginas identifica elementos accesorios repetidos en los márgenes y continuaciones de tabla compatibles; los indicadores predeterminados identifican los elementos accesorios conservando su texto

Las celdas etiquetadas conservan el contenido vacío y las extensiones explícitas de fila y columna; las rejillas de tabla mal formadas o solapadas recurren al recurso alternativo conservando el texto extraído

Los modelos de página seleccionados se conservan 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 sin guardar se incluyen sin etiquetas de cierre ni finalizar el documento

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

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

Véase también

ExtractStructuredPage, ExtractPageRangeText