PDFBox - Lectura de texto
En el capítulo anterior, hemos visto cómo agregar texto a un documento PDF existente. En este capítulo, analizaremos cómo leer texto de un documento PDF existente.
Extracción de texto de un documento PDF existente
La extracción de texto es una de las principales características de la biblioteca de cuadros PDF. Puede extraer texto con elgetText() método del PDFTextStripperclase. Esta clase extrae todo el texto del documento PDF dado.
Los siguientes son los pasos para extraer texto de un documento PDF existente.
Paso 1: carga de un documento PDF existente
Cargue un documento PDF existente utilizando el método estático load() del PDDocumentclase. Este método acepta un objeto de archivo como parámetro, ya que este es un método estático, puede invocarlo usando el nombre de la clase como se muestra a continuación.
File file = new File("path of the document")
PDDocument document = PDDocument.load(file);
Paso 2: Cree una instancia de la clase PDFTextStripper
los PDFTextStripper La clase proporciona métodos para recuperar texto de un documento PDF, por lo tanto, cree una instancia de esta clase como se muestra a continuación.
PDFTextStripper pdfStripper = new PDFTextStripper();
Paso 3: recuperar el texto
Puede leer / recuperar el contenido de una página del documento PDF utilizando el getText() método del PDFTextStripperclase. Para este método, debe pasar el objeto del documento como parámetro. Este método recupera el texto de un documento determinado y lo devuelve en forma de objeto String.
String text = pdfStripper.getText(document);
Paso 4: cerrar el documento
Finalmente, cierre el documento usando el close() método de la clase PDDocument como se muestra a continuación.
document.close();
Ejemplo
Supongamos que tenemos un documento PDF con algo de texto como se muestra a continuación.
Este ejemplo demuestra cómo leer texto del documento PDF mencionado anteriormente. Aquí, crearemos un programa Java y cargaremos un documento PDF llamadonew.pdf, que se guarda en el camino C:/PdfBox_Examples/. Guarde este código en un archivo con nombreReadingText.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 y ejecute el archivo Java guardado desde el símbolo del sistema utilizando los siguientes comandos.
javac ReadingText.java
java ReadingText
Tras la ejecución, el programa anterior recupera el texto del documento PDF dado y lo muestra como se muestra a continuación.
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.