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

API relacionada