Maison > développement back-end > C++ > Comment puis-je récupérer le formatage du texte (police, taille, style) à partir d'un PDF à l'aide d'iTextSharp ?

Comment puis-je récupérer le formatage du texte (police, taille, style) à partir d'un PDF à l'aide d'iTextSharp ?

Barbara Streisand
Libérer: 2025-01-11 10:56:42
original
494 Les gens l'ont consulté

How Can I Retrieve Text Formatting (Font, Size, Style) from a PDF Using iTextSharp?

Comment extraire le format de texte à l'aide d'iTextSharp

Bien qu'iTextSharp fournisse une méthode d'extraction de texte efficace, elle peut présenter des lacunes dans la conservation des détails de formatage tels que les polices, les couleurs et les tailles. Pour surmonter cette limitation, nous avons exploré une approche alternative.

Stratégie d'extraction de texte personnalisée

La classe TextWithFontExtractionStategy personnalisée étend l'interface ITextExtractionStrategy pour capturer les informations de format. Dans la méthode RenderText :

  • Il surveille les noms de polices, l'utilisation du pseudo-gras, les modifications de base et les modifications de taille de police.
  • Si l'un de ces attributs change, il fermera la balise span HTML actuelle et en créera une nouvelle avec les styles correspondants.

Exemple de sortie

Le code C# suivant montre comment extraire le formatage du texte et des polices d'un PDF :

<code class="language-csharp">StringBuilder result = new StringBuilder();
PdfReader reader = new PdfReader(System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "Document.pdf"));
TextWithFontExtractionStategy S = new TextWithFontExtractionStategy();
string F = iTextSharp.text.pdf.parser.PdfTextExtractor.GetTextFromPage(reader, 1, S);
Console.WriteLine(F);</code>
Copier après la connexion

La sortie HTML générée contient des balises pour la famille de polices, la taille de police et le style de police.

Autres considérations

  • PostscriptFontName peut contenir des caractères supplémentaires, qui peuvent être liés au sous-ensemble de polices.
  • L'exemple de code suppose que les modifications apportées à la ligne de base représentent des nouvelles lignes en HTML.
  • Le processus d'extraction ne capture actuellement pas d'informations sur les couleurs, mais certains éléments indiquent que cela peut être réalisé manuellement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal