PDFBox - Lettura del testo

Nel capitolo precedente abbiamo visto come aggiungere testo a un documento PDF esistente. In questo capitolo, discuteremo come leggere il testo da un documento PDF esistente.

Estrazione di testo da un documento PDF esistente

L'estrazione del testo è una delle caratteristiche principali della libreria di box PDF. Puoi estrarre il testo usando ilgetText() metodo del PDFTextStripperclasse. Questa classe estrae tutto il testo dal documento PDF fornito.

Di seguito sono riportati i passaggi per estrarre il testo da un documento PDF esistente.

Passaggio 1: caricamento di un documento PDF esistente

Carica un documento PDF esistente utilizzando il metodo statico load() del PDDocumentclasse. Questo metodo accetta un oggetto file come parametro, poiché si tratta di un metodo statico, è possibile richiamarlo utilizzando il nome della classe come mostrato di seguito.

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

Passaggio 2: creare un'istanza della classe PDFTextStripper

Il PDFTextStripper class fornisce metodi per recuperare il testo da un documento PDF quindi, istanziare questa classe come mostrato di seguito.

PDFTextStripper pdfStripper = new PDFTextStripper();

Passaggio 3: recupero del testo

È possibile leggere / recuperare il contenuto di una pagina dal documento PDF utilizzando il file getText() metodo del PDFTextStripperclasse. A questo metodo è necessario passare l'oggetto documento come parametro. Questo metodo recupera il testo in un determinato documento e lo restituisce sotto forma di un oggetto String.

String text = pdfStripper.getText(document);

Passaggio 4: chiusura del documento

Infine, chiudi il documento utilizzando il file close() metodo della classe PDDocument come mostrato di seguito.

document.close();

Esempio

Supponiamo di avere un documento PDF con del testo come mostrato di seguito.

Questo esempio mostra come leggere il testo dal documento PDF sopra menzionato. Qui creeremo un programma Java e caricheremo un documento PDF denominatonew.pdf, che viene salvato nel percorso C:/PdfBox_Examples/. Salva questo codice in un file con nomeReadingText.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();

   }
}

Compilare ed eseguire il file Java salvato dal prompt dei comandi utilizzando i seguenti comandi.

javac ReadingText.java 
java ReadingText

Al momento dell'esecuzione, il programma di cui sopra recupera il testo dal documento PDF specificato e lo visualizza come mostrato di seguito.

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.