Ajout de Signets avec ExtractTextFromPage

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

Lorsque vous ajoutez des signets basés sur le contenu textuel, la recherche avec la propriété Pages.Lines peut échouer car le texte retourné revient désordonné ou désorganisé, de sorte qu'une recherche basée sur le titre ne correspond jamais. Extraire le texte de la page avec ExtractTextFromPage() lit chaque page en ordre logique et vous donne une chaîne fiable à rechercher.

Veuillez noterSur la version 2026.5.x et au-delà, utilisez la classe LinkAnnotation à la place. Elle comporte un support intégré pour les liens clicables qui naviguent vers une page spécifique et une position, et est l'approche recommandée lorsqu'elle est disponible.

Pages.Lines reconstruit le texte selon son apparence visuelle sur la page. Cela échoue lorsque le texte est dessiné dans un ordre non linéaire, lorsque des polices ou encodages personnalisés sont utilisés, ou lorsque le PDF a été généré à partir de HTML ou d'un outil tiers avec une mise en page complexe. Le résultat est un texte incomplet ou confus que vous ne pouvez pas rechercher de manière fiable.

Solution

1. Lisez chaque page avec ExtractTextFromPage()

Extraire le texte brut intégré de chaque page plutôt que la reconstruction visuelle. ExtractTextFromPage() renvoie le contenu de la page dans l'ordre logique de lecture, ce qui rend la recherche d'en-tête bien plus fiable à travers des structures PDF variées.

2. Parcourez chaque page et créez un signet pour chaque en-tête unique

Parcourez toutes les pages pour ne manquer aucune section, peu importe où elle se trouve, et suivez les en-têtes que vous avez déjà vus pour que chacun soit signé seulement une fois. Un HashSet est un moyen propre de dédupliquer : étant donné un document avec des sections titrées "ARTICLE 1", "ARTICLE 2", et ainsi de suite, il garantit un seul signet par article.

La sortie est un ensemble de signets pointant vers chaque titre spécifié, même si le PDF provient d'une source HTML dynamique ou comporte un formatage complexe.

Code C# ajoutant des signets PDF par en-tête d'article en utilisant ExtractTextFromPage et un HashSet

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite
Prêt à commencer ?
Nuget Téléchargements 20,296,129 | Version : 2026.7 vient de sortir
Still Scrolling Icon

Vous faites encore défiler ?

Vous voulez une preuve rapidement ? PM > Install-Package IronPdf
exécuter un échantillon Regardez votre code HTML se transformer en PDF.