Añadiendo marcadores con ExtractTextFromPage

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

Cuando agregas marcadores basados en el contenido del texto, buscar con la propiedad Pages.Lines puede fallar porque el texto devuelto aparece garbled o desordenado, por lo que una búsqueda basada en el título nunca coincide. Extraer el texto de la página con ExtractTextFromPage() lee cada página en orden lógico y te proporciona una cadena confiable para buscar.

Por favor notaEn la versión 2026.5.x y superiores, usa la clase LinkAnnotation en su lugar. Tiene soporte incorporado para enlaces clicables que navegan a una página y posición específica, y es el enfoque recomendado cuando está disponible.

Pages.Lines reconstruye el texto de cómo aparece visualmente en la página. Eso se descompone cuando el texto se dibuja en un orden no lineal, cuando se utilizan fuentes o codificaciones personalizadas, o cuando el PDF se generó desde HTML o una herramienta de terceros con un diseño complejo. El resultado es un texto incompleto o desordenado que no puedes buscar de manera confiable.

Solución

1. Lee cada página con ExtractTextFromPage()

Extrae el texto incrustado en bruto de cada página en lugar de la reconstrucción visual. ExtractTextFromPage() devuelve el contenido de la página en orden de lectura lógico, lo que hace que una búsqueda de cabecera sea mucho más fiable a través de diversas estructuras PDF.

2. Recorre cada página y marca cada encabezado único

Recorre todas las páginas para que no se pierda ninguna sección sin importar dónde caiga, y rastrea qué encabezados ya has visto para que cada uno se marque solo una vez. Un HashSet es una forma limpia de eliminar duplicados: dado un documento con secciones tituladas "ARTICLE 1", "ARTICLE 2", y así sucesivamente, garantiza un solo marcador por artículo.

El resultado es un conjunto de marcadores que apuntan a cada encabezado especificado, incluso cuando el PDF proviene de una fuente HTML dinámica o tiene un formato complejo.

Código C# que añade marcadores PDF por encabezado de artículo usando ExtractTextFromPage y un HashSet

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más
¿Listo para empezar?
Nuget Descargas 20,296,129 | Versión: 2026.7 recién publicada
Still Scrolling Icon

¿Aún desplazándote?

¿Quieres una prueba rápida? PM > Install-Package IronPdf
ejecutar una muestra Mira cómo tu HTML se convierte en PDF.