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