PDFBox - Lendo Texto

No capítulo anterior, vimos como adicionar texto a um documento PDF existente. Neste capítulo, discutiremos como ler texto de um documento PDF existente.

Extração de texto de um documento PDF existente

Extrair texto é um dos principais recursos da biblioteca PDF Box. Você pode extrair texto usando ogetText() método do PDFTextStripperclasse. Esta classe extrai todo o texto do documento PDF fornecido.

A seguir estão as etapas para extrair texto de um documento PDF existente.

Etapa 1: Carregando um documento PDF existente

Carregue um documento PDF existente usando o método estático load() do PDDocumentclasse. Este método aceita um objeto de arquivo como parâmetro, uma vez que é um método estático, você pode invocá-lo usando o nome da classe conforme mostrado abaixo.

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

Etapa 2: instancie a classe PDFTextStripper

o PDFTextStripper A classe fornece métodos para recuperar texto de um documento PDF, portanto, instancie essa classe conforme mostrado abaixo.

PDFTextStripper pdfStripper = new PDFTextStripper();

Etapa 3: Recuperando o Texto

Você pode ler / recuperar o conteúdo de uma página do documento PDF usando o getText() método do PDFTextStripperclasse. Para este método você precisa passar o objeto do documento como parâmetro. Este método recupera o texto em um determinado documento e o retorna na forma de um objeto String.

String text = pdfStripper.getText(document);

Etapa 4: Fechando o Documento

Finalmente, feche o documento usando o close() método da classe PDDocument conforme mostrado abaixo.

document.close();

Exemplo

Suponha que temos um documento PDF com algum texto, conforme mostrado abaixo.

Este exemplo demonstra como ler o texto do documento PDF mencionado acima. Aqui, criaremos um programa Java e carregaremos um documento PDF chamadonew.pdf, que é salvo no caminho C:/PdfBox_Examples/. Salve este código em um arquivo com o 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();

   }
}

Compile e execute o arquivo Java salvo no prompt de comando usando os comandos a seguir.

javac ReadingText.java 
java ReadingText

Após a execução, o programa acima recupera o texto do documento PDF fornecido e o exibe conforme mostrado abaixo.

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.