ExtractStructuredDocument
Texto, extração, dados estruturados
Descrição
Captura um intervalo de páginas selecionado, analisa as páginas em conjunto e retorna um documento JSON do schema 2, um documento XHTML semântico, ou tabelas CSV coordenadas
Sintaxe
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 | Um intervalo de páginas com base 1, como 1-3,7, ou uma string vazia para todas as páginas |
|---|---|
| Format | PDF_STRUCTURED_TEXT_JSON (0), PDF_STRUCTURED_TEXT_XHTML (1) ou PDF_STRUCTURED_TEXT_CSV (2) |
| Options | Zero ou PDF_STRUCTURED_TEXT_INCLUDE_STYLES (1) |
Valores retornados
O JSON contém version: 2 e um array pages usando o schema documentado pela ExtractStructuredPage; IDs semânticos estáveis de nó valem entre páginas
O XHTML combina conteúdo semântico, com fragmentos de tabela unidos dentro de uma única tabela em vez de exigir uma section por página
O CSV contém apenas tabelas e fica vazio quando nenhuma página selecionada tem uma; tabelas lógicas continuadas usam um único cabeçalho de tabela e omitem linhas de cabeçalho repetidas identificadas
Um intervalo, formato ou opção inválidos, e qualquer falha de extração, retornam uma string vazia
Observações
A análise usa a SetStructuredTextOptions de forma independente do Options específico de formato; examine a GetLastStructuredTextDiagnostics para origens de leitura e avisos de fallback
A ordem real da árvore de etiquetas tem precedência quando os bindings de conteúdo estão completos; conteúdo não resolvido ou ambíguo retém o texto extraído em fallback mixed ou geometric, e papéis personalizados desconhecidos não são adivinhados pelos nomes deles
A análise entre páginas identifica elementos de moldura de margem repetidos e continuações de tabela compatíveis; as flags padrão identificam os elementos de moldura mantendo o texto deles
Células etiquetadas retêm conteúdo vazio e spans explícitos de linha e de coluna; grades de tabela malformadas ou sobrepostas fazem fallback mantendo o texto extraído
Os modelos de páginas selecionados são retidos para a análise de documento inteiro, e o resultado serializado completo é bufferizado; a memória cresce com o conteúdo selecionado e com o tamanho da saída
A extração preserva a página selecionada e a pilha de tags do writer aberta; tags do writer não salvas no momento são incluídas sem tags de fechamento nem finalização do documento
Progresso e cancelamento cooperativo usam o ciclo de vida normal de operações de documento
LastErrorCode retorna 111 para entrada inválida e 515 quando a extração falha