Exportação estruturada de páginas carregadas
THotPDF.ExportLoadedPagesStructured converte as páginas carregadas selecionadas num único documento UTF-8 HTML, XHTML, XML ou JSON, sem mutar o PDF
Um modelo semântico
Todos os formatos consomem um modelo de leitura acessível comum, pelo que a ordem da estrutura, o idioma e o título do documento, os títulos, as listas, as tabelas, as figuras, as substituições de marked-content, as referências a objetos, a navegação, os rótulos de página, as anotações e os controlos de formulário se mantêm alinhados entre exportadores
A estrutura etiquetada (tagged) é preferida quando disponibiliza uma projeção utilizável da página, enquanto a análise geométrica de parágrafos, títulos, listas, legendas, colunas e tabelas é usada apenas como fallback configurado
A geração completa-se numa stream de staging limitada, e a publicação tira um snapshot dos bytes do destino que seriam sobrescritos, para que uma escrita final falhada possa restaurar o estado original da stream
Cada span transporta texto Unicode devidamente escapado, mais limites opcionais no espaço da página, identidade do objeto da content stream de origem, recurso de fonte de origem e tamanho em pontos
Estrutura e interações acessíveis
HTML e XHTML usam elementos semânticos e âncoras de página estáveis, enquanto XML e JSON retêm registos equivalentes de begin, end, content, referências a objetos, interação, esquema e rótulos de página
As propriedades de marked-content inline e nomeadas são resolvidas através das streams de página e dos Form XObjects recursivos, ActualText substitui o texto visual dos glifos, os artefactos ficam fora do modelo acessível, e o texto alternativo das figuras é associado através de conteúdo etiquetado em vez da ordem visual
Destinos http, https, mailto e locais seguros podem ser exportados, enquanto URIs executáveis ou com caracteres de controlo são omitidos
Nomes de formulário, rótulos, opções, estados e valores comuns podem ser retidos, mas payloads de palavra-passe, de seleção de ficheiro, NoExport e de assinatura nunca entram no modelo de exportação partilhado
Imagens
As ocorrências de image XObject retêm o nome do recurso, o número de objeto, o tamanho intrínseco em píxeis e os limites transformados no espaço da página
simEmbeddedPNG descodifica cada imagem suportada pelo pipeline normal e limitado de imagens e emite um data URI PNG, enquanto simMetadataOnly evita a materialização de píxeis e simOmit exclui as imagens
Saída atómica e limitada
Os limites de páginas, glifos, contagem de imagens, nós de estrutura, esquemas, interações por página, opções por campo, bytes de imagem, imagens agregadas, bytes de saída e cancelamento são impostos antes de o buffer completo ser copiado para a stream de quem chama
Falhas de extração e de orçamento deixam o destino inalterado, enquanto uma falha de escrita no destino tenta restaurar a posição e o tamanho originais