PDFBox - Lecture de texte

Dans le chapitre précédent, nous avons vu comment ajouter du texte à un document PDF existant. Dans ce chapitre, nous verrons comment lire du texte à partir d'un document PDF existant.

Extraction de texte à partir d'un document PDF existant

L'extraction de texte est l'une des principales fonctionnalités de la bibliothèque de boîtes PDF. Vous pouvez extraire du texte à l'aide dugetText() méthode de la PDFTextStripperclasse. Cette classe extrait tout le texte du document PDF donné.

Voici les étapes pour extraire le texte d'un document PDF existant.

Étape 1: chargement d'un document PDF existant

Charger un document PDF existant en utilisant la méthode statique load() du PDDocumentclasse. Cette méthode accepte un objet fichier en tant que paramètre, puisqu'il s'agit d'une méthode statique, vous pouvez l'appeler en utilisant le nom de classe comme indiqué ci-dessous.

File file = new File("path of the document") 
PDDocument document = PDDocument.load(file);

Étape 2: instancier la classe PDFTextStripper

le PDFTextStripper La classe fournit des méthodes pour récupérer du texte à partir d'un document PDF par conséquent, instanciez cette classe comme indiqué ci-dessous.

PDFTextStripper pdfStripper = new PDFTextStripper();

Étape 3: Récupération du texte

Vous pouvez lire / récupérer le contenu d'une page à partir du document PDF en utilisant le getText() méthode de la PDFTextStripperclasse. Pour cette méthode, vous devez transmettre l'objet document en tant que paramètre. Cette méthode récupère le texte d'un document donné et le renvoie sous la forme d'un objet String.

String text = pdfStripper.getText(document);

Étape 4: fermeture du document

Enfin, fermez le document à l'aide du close() méthode de la classe PDDocument comme indiqué ci-dessous.

document.close();

Exemple

Supposons que nous ayons un document PDF contenant du texte comme indiqué ci-dessous.

Cet exemple montre comment lire le texte du document PDF mentionné ci-dessus. Ici, nous allons créer un programme Java et charger un document PDF nomménew.pdf, qui est enregistré dans le chemin C:/PdfBox_Examples/. Enregistrez ce code dans un fichier avec un nomReadingText.java.

import java.io.File;
import java.io.IOException;

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.text.PDFTextStripper;
public class ReadingText {

   public static void main(String args[]) throws IOException {

      //Loading an existing document
      File file = new File("C:/PdfBox_Examples/new.pdf");
      PDDocument document = PDDocument.load(file);

      //Instantiate PDFTextStripper class
      PDFTextStripper pdfStripper = new PDFTextStripper();

      //Retrieving text from PDF document
      String text = pdfStripper.getText(document);
      System.out.println(text);

      //Closing the document
      document.close();

   }
}

Compilez et exécutez le fichier Java enregistré à partir de l'invite de commande à l'aide des commandes suivantes.

javac ReadingText.java 
java ReadingText

Lors de l'exécution, le programme ci-dessus récupère le texte du document PDF donné et l'affiche comme indiqué ci-dessous.

This is an example of adding text to a page in the pdf document. we can add as many lines
as we want like this using the ShowText() method of the ContentStream class.