Extraire du texte d'un fichier PDF

Contents
[ ]

Dans cet article, nous examinerons les détails de l’extraction de texte d’un fichier PDF. Toutes ces fonctionnalités d’extraction sont fournies à un seul endroit, dans la classe PdfExtractor. Nous verrons comment utiliser ces fonctionnalités dans notre code.

La classe PdfExtractor fournit trois types de capacités d’extraction. Ces trois catégories sont Texte, Images et Pièces jointes. Afin d’effectuer l’extraction sous chacune de ces trois catégories, PdfExtractor fournit diverses méthodes qui fonctionnent ensemble pour vous donner le résultat final.

Par exemple, pour extraire du texte, vous pouvez utiliser trois méthodes, à savoir ExtractText, GetText, HasNextPageText et GetNextPageText. Maintenant, pour commencer à extraire du texte, tout d’abord, vous devez appeler la méthode ExtractText ; cela extraira le texte du fichier PDF et le stockera en mémoire. Après cela, la méthode GetText prendra ce texte extrait et l’enregistrera sur le disque à l’emplacement spécifié dans un fichier. HasNextPageText vous aide à parcourir chaque page et à vérifier si la page suivante contient du texte ou non. Si elle contient du texte, alors GetNextPageText vous aidera à enregistrer le texte d’une page individuelle dans le fichier.

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ExtractText()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_Text();

    bool wholeText = true;
    // Create an object of the PdfExtractor class
    using (var pdfExtractor = new Aspose.Pdf.Facades.PdfExtractor())
    {
        // Bind PDF document
        pdfExtractor.BindPdf(dataDir + "sample.pdf");

        // ExtractText
        pdfExtractor.ExtractText();

        if (!wholeText)
        {
            pdfExtractor.GetText(dataDir + "sample.txt");
        }
        else
        {
            // Extract the text into separate files
            int pageNumber = 1;
            while (pdfExtractor.HasNextPageText())
            {
                pdfExtractor.GetNextPageText($"{dataDir}\\sample{pageNumber:D3}.txt");
                pageNumber++;
            }
        }
    }
}

Pour extraire le mode d’extraction de texte, utilisez le code suivant :

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ExtractTextExtractonMode()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_Text();

    bool wholeText = true;
    // Create an object of the PdfExtractor class
    using (var pdfExtractor = new Aspose.Pdf.Facades.PdfExtractor())
    {
        // Bind PDF document
        pdfExtractor.BindPdf(dataDir + "ExtractTextExtractonMode.pdf");

        // ExtractText
        // pdfExtractor.ExtractTextMode = 0; // pure mode
        pdfExtractor.ExtractTextMode = 1; // raw mode
        pdfExtractor.ExtractText();

        if (!wholeText)
        {
            pdfExtractor.GetText(dataDir + "ExtractTextExtractonMode_out.txt");
        }
        else
        {
            // Extract the text into separate files
            int pageNumber = 1;
            while (pdfExtractor.HasNextPageText())
            {
                pdfExtractor.GetNextPageText($"{dataDir}\\sample{pageNumber:D3}.txt");
                pageNumber++;
            }
        }
    }
}