Adicionando Marcadores com ExtractTextFromPage

This article was translated from English: Does it need improvement?
Translated
View the article in English

Quando você adiciona marcadores com base no conteúdo do texto, procurar com a propriedade Pages.Lines pode falhar porque o texto retornado volta desordenado ou fora de ordem, então uma pesquisa baseada em título nunca corresponde. Extrair o texto da página com ExtractTextFromPage() lê cada página na ordem lógica e lhe dá uma string confiável para busca.

ObserveNa versão 2026.5.x e acima, use a classe LinkAnnotation em vez. Ela tem suporte embutido para links clicáveis que navegam para uma página e posição específicas, e é a abordagem recomendada quando disponível.

Pages.Lines reconstrói o texto conforme aparece visualmente na página. Isso quebra quando o texto é desenhado em uma ordem não linear, quando fontes ou codificações personalizadas estão em jogo, ou quando o PDF foi gerado a partir de HTML ou uma ferramenta de terceiros com um layout complexo. O resultado é um texto incompleto ou desordenado que não pode ser pesquisado de forma confiável.

Solução

1. Leia cada página com ExtractTextFromPage()

Extraia o texto embutido bruto de cada página em vez da reconstrução visual. ExtractTextFromPage() retorna o conteúdo da página na ordem lógica de leitura, o que torna a pesquisa por cabeçalhos muito mais confiável em diferentes estruturas de PDF.

2. Percorra cada página e marque cada cabeçalho único

Percorra todas as páginas para que nenhuma seção seja perdida, independentemente de onde ela esteja, e registre quais cabeçalhos você já viu para que cada um seja marcado apenas uma vez. Um HashSet é uma maneira limpa de desduplicar: dado um documento com seções intituladas "ARTICLE 1", "ARTICLE 2" e assim por diante, garante um único marcador por artigo.

A saída é um conjunto de marcadores apontando para cada cabeçalho especificado, mesmo quando o PDF é originado de uma fonte HTML dinâmica ou possui formatação complexa.

Código C# adicionando marcadores de PDF por cabeçalho de artigo usando ExtractTextFromPage e um HashSet

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais ...

Leia mais
Pronto para começar?
Nuget Downloads 20,296,129 | Versão: 2026.7 recém-lançado
Still Scrolling Icon

Ainda está rolando a tela?

Quer provas rápidas? PM > Install-Package IronPdf
executar um exemplo Veja seu HTML se transformar em um PDF.