PDFBox - czytanie tekstu

W poprzednim rozdziale widzieliśmy, jak dodać tekst do istniejącego dokumentu PDF. W tym rozdziale omówimy, jak czytać tekst z istniejącego dokumentu PDF.

Wyodrębnianie tekstu z istniejącego dokumentu PDF

Wyodrębnianie tekstu jest jedną z głównych funkcji biblioteki skrzynek PDF. Możesz wyodrębnić tekst za pomocągetText() metoda PDFTextStripperklasa. Ta klasa wyodrębnia cały tekst z danego dokumentu PDF.

Poniżej przedstawiono kroki, aby wyodrębnić tekst z istniejącego dokumentu PDF.

Krok 1: Ładowanie istniejącego dokumentu PDF

Załaduj istniejący dokument PDF metodą statyczną load() z PDDocumentklasa. Ta metoda akceptuje obiekt pliku jako parametr, ponieważ jest to metoda statyczna, którą można wywołać za pomocą nazwy klasy, jak pokazano poniżej.

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

Krok 2: Utwórz wystąpienie klasy PDFTextStripper

Plik PDFTextStripper zapewnia metody pobierania tekstu z dokumentu PDF, dlatego należy utworzyć wystąpienie tej klasy, jak pokazano poniżej.

PDFTextStripper pdfStripper = new PDFTextStripper();

Krok 3: Pobieranie tekstu

Możesz przeczytać / pobrać zawartość strony z dokumentu PDF za pomocą rozszerzenia getText() metoda PDFTextStripperklasa. W tej metodzie musisz przekazać obiekt dokumentu jako parametr. Ta metoda pobiera tekst z danego dokumentu i zwraca go w postaci obiektu String.

String text = pdfStripper.getText(document);

Krok 4: Zamknięcie dokumentu

Na koniec zamknij dokument przy użyciu rozszerzenia close() metoda klasy PDDocument, jak pokazano poniżej.

document.close();

Przykład

Załóżmy, że mamy dokument PDF z pewnym tekstem, jak pokazano poniżej.

Ten przykład pokazuje, jak czytać tekst z wyżej wymienionego dokumentu PDF. Tutaj utworzymy program Java i załadujemy dokument PDF o nazwienew.pdf, który jest zapisywany w ścieżce C:/PdfBox_Examples/. Zapisz ten kod w pliku o nazwieReadingText.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();

   }
}

Skompiluj i uruchom zapisany plik Java z wiersza poleceń, używając następujących poleceń.

javac ReadingText.java 
java ReadingText

Po uruchomieniu powyższy program pobiera tekst z podanego dokumentu PDF i wyświetla go jak pokazano poniżej.

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.