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 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);Parámetros
| PageRange | Un intervalo de páginas basado en uno, como 1-3,7, o una cadena vacía para todas las páginas |
|---|---|
| Format | PDF_STRUCTURED_TEXT_JSON (0), PDF_STRUCTURED_TEXT_XHTML (1) o PDF_STRUCTURED_TEXT_CSV (2) |
| Options | Cero 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