Extração de tabelas tipadas

THotPDF.ExtractLoadedTypedTables converte as linhas de tabelas semânticas numa grelha pública de colunas canónica, sem modificar o documento carregado

Continuidade de tabelas

Fragmentos adjacentes compatíveis podem acrescentar colunas canónicas, transformando inícios intermédios em falta em valores ColumnSpan explícitos em vez de descartar cabeçalhos fundidos

As tabelas compatíveis em páginas consecutivas passam a ser uma só tabela, e as linhas de cabeçalho iniciais coincidentes mantêm-se presentes e têm IsRepeatedHeader

Valores tipados e confiança

Cada célula conserva o texto Unicode original, os limites no espaço da página, os spans de linha e coluna, o valor normalizado, o tipo de armazenamento, o código da moeda e o grau de confiança

A inferência reconhece valores vazios, string, inteiro, número, booleano, data, data-hora, moeda e percentagem, segundo as regras de decimais, milhares e ordem das datas escolhidas por quem chama

Exportação limitada

ExportLoadedTypedTables escreve linhas CSV expandidas ao estilo RFC 4180, ou JSON com metadados abundantes, através de um stream de preparação com limites e de uma publicação final com rollback seguro

Os limites de páginas, glifos, tabelas de origem, tabelas de saída, linhas, células, texto, bytes de saída, confiança e cancelamento são verificados antes de os resultados serem publicados

Livros XLSX

A unidade HPDFXLSXExport exporta THPDFTypedTables como um livro Office Open XML sem instalar o Office nem carregar uma biblioteca externa de folhas de cálculo

HPDFExportTypedTablesXLSX escreve num stream legível, gravável e com seek, na posição atual, preparando o livro completo antes da publicação e restaurando os bytes sobrepostos quando ocorre uma falha de escrita recuperável

HPDFExportTypedTablesXLSXFile usa um ficheiro temporário criado em exclusivo junto ao alvo, faz flush e substitui atomicamente o alvo só depois de a exportação ter sucesso

HPDFExportLoadedTypedTablesXLSX combina a extração com a exportação por stream e rejeita um destino que seja alias da origem carregada

Cada tabela extraída torna-se uma folha com o nome Table N, com células numéricas e booleanas, formatos de data e data-hora, códigos de moeda em formatos numéricos, formatos de percentagem e intervalos fundidos validados

Inteiros com mais de 15 dígitos decimais são guardados como texto para preservar o valor exato, porque as células numéricas do Excel têm precisão limitada

As strings permanecem texto literal, incluindo valores que começam por =, e os carateres de controlo XML e as sequências de escape literais do Office Open XML são preservados através do escaping SpreadsheetML

Por predefinição, uma folha oculta Source metadata regista o endereço de célula no livro, os índices de página e de tabela de origem baseados em zero, o texto original e normalizado, o tipo de valor, o código de moeda, os limites no espaço da página e a confiança de cada célula de origem

THPDFXLSXExportOptions.Default permite até 4 096 tabelas, 1 000 000 de linhas, 1 000 000 de células e 256 MiB de saída, com um THPDFCancellationToken opcional e uma opção para omitir a folha de metadados

A exportação rejeita fusões sobrepostas, índices de colunas desordenados ou duplicados, números não finitos, códigos de moeda inválidos, datas fora de 1900 a 9999, texto com mais de 32 767 unidades UTF-16 e folhas fora dos limites de 1 048 576 linhas ou 16 384 colunas do Excel

A folha de metadados tem uma linha de cabeçalho, pelo que ativá-la limita adicionalmente as células de origem a 1 048 575 em todo o livro; uma extração vazia ainda produz uma folha visível

Os membros ZIP usam o método de compressão stored, pelo que o tamanho da saída pode ser maior do que o de livros comprimidos; o exportador não retém o estilo visual do PDF nem gráficos, fórmulas, macros ou imagens incorporadas

Os jobs JSON e a ABI C expõem o mesmo pipeline de livros através de tables.export com format: "xlsx" e os orçamentos partilhados de extração e de saída

APIs relacionadas