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

PageRangeUm intervalo de páginas com base 1, como 1-3,7, ou uma string vazia para todas as páginas
FormatPDF_STRUCTURED_TEXT_JSON (0), PDF_STRUCTURED_TEXT_XHTML (1) ou PDF_STRUCTURED_TEXT_CSV (2)
OptionsZero 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

Veja também

ExtractStructuredPage, ExtractPageRangeText