extraire le texte d'un pdf java

Dans cet article, vous apprendrez à extraire du texte de fichiers PDF de manière transparente à l’aide de Java. L’extraction de texte peut être utile dans divers scénarios tels que l’analyse de texte, la récupération d’informations, l’analyse de documents, etc. Le PDF étant l’un des documents numériques les plus utilisés, les cas d’utilisation de l’extraction de texte à partir de documents PDF sont plus nombreux. Commençons donc et voyons comment effectuer l’extraction de texte PDF à partir d’applications Java.

API Java pour extraire du texte d’un PDF - Téléchargement gratuit

Aspose.PDF for Java est une API de manipulation de fichiers PDF bien connue qui fournit un large éventail de fonctionnalités pour créer et traiter des fichiers PDF. L’API contient un puissant extracteur de texte qui offre différentes manières d’extraire du texte à partir de documents PDF en quelques lignes de code. Vous pouvez soit télécharger le JAR de l’API ou l’installer dans vos applications basées sur Maven en utilisant les configurations suivantes.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>20.11</version>
</dependency>

Extraire le texte d’un PDF en utilisant Java

Voici les étapes pour extraire du texte d’un document PDF à l’aide d’Aspose.PDF for Java.

L’exemple de code suivant montre comment extraire du texte d’un PDF à l’aide de Java.

// Pour des exemples complets et des fichiers de données, rendez-vous sur https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// Ouvrir le document
Document pdfDocument = new Document("input.pdf");

// Créer un objet TextAbsorber pour extraire du texte
TextAbsorber textAbsorber = new TextAbsorber();

// Accepter l'absorbeur pour toutes les pages
pdfDocument.getPages().accept(textAbsorber);

// Obtenir le texte extrait
String extractedText = textAbsorber.getText();

// Créer un écrivain et ouvrir le fichier
java.io.FileWriter writer = new java.io.FileWriter(new java.io.File("Extracted_text.txt"));
writer.write(extractedText);

// Écrivez une ligne de texte dans le fichier tw.WriteLine(extractedText);
// Fermer le flux
writer.close();

Extraire le texte d’une page spécifique en PDF

Vous pouvez également extraire le texte d’une page spécifique du document PDF en procédant comme suit.

L’exemple de code suivant montre comment extraire du texte d’une page spécifique au format PDF à l’aide de Java.

// Pour des exemples complets et des fichiers de données, rendez-vous sur https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// document ouvert
Document pdfDocument = new Document("input.pdf");
// créer un périphérique de texte
TextDevice textDevice = new TextDevice();

// définir les options d'extraction de texte - définir le mode d'extraction de texte (brut ou pur)
TextExtractionOptions textExtOptions = new TextExtractionOptions(TextExtractionOptions.TextFormattingMode.Raw);

textDevice.setExtractionOptions(textExtOptions);

// récupérez le texte de la première page du PDF et enregistrez-le au format de fichier
textDevice.process(pdfDocument.getPages().get_Item(1), "ExtractedText.txt");

Extraire le texte d’une zone de page en PDF

Vous pouvez également extraire du texte d’une région particulière de la page au format PDF. Pour cela, vous pouvez définir un rectangle pour couvrir la région d’où vous devez extraire le texte. Voici les étapes pour extraire le texte d’une zone de page.

L’exemple de code suivant montre comment extraire du texte d’une région de page particulière en Java.

// Pour des exemples complets et des fichiers de données, rendez-vous sur https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// document ouvert
Document doc = new Document("page_0001.pdf");

// créer un objet TextAbsorber pour extraire du texte
TextAbsorber absorber = new TextAbsorber();
absorber.getTextSearchOptions().setLimitToPageBounds(true);
absorber.getTextSearchOptions().setRectangle(new Rectangle(100, 200, 250, 350));
// accepter l'absorbeur pour la première page
doc.getPages().get_Item(1).accept(absorber);

// obtenir le texte extrait
String extractedText = absorber.getText();
// créer un écrivain et ouvrir le fichier
BufferedWriter writer = new BufferedWriter(new FileWriter(new java.io.File("ExtractedText.txt")));
// écrire le contenu extrait
writer.write(extractedText);
// Fermer l'écrivain
writer.close();

Conclusion

Dans cet article, vous avez appris à extraire du texte d’un PDF à l’aide de Java. Vous avez vu différentes manières d’extraire du texte, telles que l’extraction de texte d’un PDF entier, d’une page spécifique ou d’une région de page spécifique. Vous pouvez en savoir plus sur l’API Java PDF en utilisant documentation.

Voir également

Info : Aspose a récemment développé un service Text to GIF en ligne gratuit qui permet d’animer des textes ou de générer des GIF à partir de textes simples.