Maison > développement back-end > C++ > Comment extraire du texte avec formatage à partir de PDF à l'aide d'iTextSharp ?

Comment extraire du texte avec formatage à partir de PDF à l'aide d'iTextSharp ?

Mary-Kate Olsen
Libérer: 2025-01-11 10:46:41
original
861 Les gens l'ont consulté

How to Extract Text with Formatting from PDFs Using iTextSharp?

Extraire le texte formaté à l'aide d'iTextSharp

Introduction :

iTextSharp est une bibliothèque puissante pour manipuler et générer des documents PDF, mais il est parfois difficile d'extraire du texte au format souhaité. Cet article fournit une méthode pour extraire le texte et les informations de formatage d'un PDF à l'aide d'iTextSharp.

Stratégie d'extraction personnalisée :

Pour extraire du texte formaté, vous pouvez créer une implémentation ITextExtractionStrategy personnalisée. Cette stratégie définit la façon dont les informations de rendu du texte sont traitées.

Extrait de code :

Le code suivant définit une stratégie personnalisée qui suit les modifications de la ligne de base, du nom de la police et de la taille de la police et génère du HTML avec le style approprié :

<code>public class TextWithFontExtractionStategy : iTextSharp.text.pdf.parser.ITextExtractionStrategy
{
    // ... (此处省略)

    public void RenderText(iTextSharp.text.pdf.parser.TextRenderInfo renderInfo)
    {
        // 确定字体属性
        string curFont = renderInfo.GetFont().PostscriptFontName;
        if (renderInfo.GetTextRenderMode() == (int)TextRenderMode.FillThenStrokeText)
        {
            curFont += "-Bold";
        }

        // 检查基线、字体或字体大小的变化
        Vector curBaseline = renderInfo.GetBaseline().GetStartPoint();
        Single curFontSize = renderInfo.GetAscentLine().GetEndPoint()[Vector.I2] - curBaseline[Vector.I2];
        if ((this.lastBaseLine == null) || (curBaseline[Vector.I2] != lastBaseLine[Vector.I2]) ||
            (curFontSize != lastFontSize) || (curFont != lastFont))
        {
            // 生成带有更新样式的HTML span
            result.AppendFormat("</code>
Copier après la connexion

Utilisation :

Pour utiliser une stratégie personnalisée, vous pouvez la spécifier lors de l'extraction du texte :

<code>PdfReader reader = new PdfReader("MyDocument.pdf");
TextWithFontExtractionStategy strategy = new TextWithFontExtractionStategy();
string textWithFormatting = PdfTextExtractor.GetTextFromPage(reader, 1, strategy);</code>
Copier après la connexion

Sortie :

La variable

textWithFormatting contiendra le texte extrait avec des balises HTML reflétant les informations de formatage, y compris la police et la taille de la police.

Conclusion :

Cette stratégie d'extraction personnalisée vous permet d'extraire du texte PDF au format souhaité. Il s'agit d'un outil puissant qui peut être utilisé pour reproduire avec précision le texte et les styles dans les documents PDF.

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