Cómo leer un archivo PDF en Java

Este breve tutorial lo guía sobre cómo leer un archivo PDF en Java. Contiene código Java para leer archivos PDF de modo que primero lee el texto de PDF en Java en una cadena y luego obtiene todas las imágenes del archivo PDF para guardarlas en el disco como JPG. No es necesario instalar ninguna herramienta de terceros para leer PDF en Java.

Pasos para leer archivos PDF en Java

  1. Configure Aspose.PDF en su proyecto usando el repositorio de Maven para leer el archivo PDF
  2. Cargue el archivo PDF de muestra en el objeto de clase Document
  3. Crea una instancia del objeto de clase TextAbsorber que puede leer el texto completo del archivo PDF
  4. Leer texto PDF del archivo cargado usando el objeto de clase TextAbsorber
  5. Muestra el texto completo leído del archivo PDF en la consola
  6. Recorre todas las páginas del archivo PDF para acceder a las imágenes
  7. Analice todas las imágenes en cada colección de imágenes de página y guárdelas en el disco

En este rápido tutorial paso a paso, primero cargamos el archivo PDF de destino y luego iniciamos el objeto de clase TextAbsorber que es capaz de buscar texto en todas las páginas del PDF. Este texto completo se devuelve a una cadena que se puede mostrar o procesar según el requisito. Del mismo modo, podemos analizar todas las imágenes de la colección de imágenes y guardarlas en el disco en cualquier formato como lo guardamos como JPG en este tutorial.

Código para leer PDF usando Java

import com.aspose.pdf.License;
import com.aspose.pdf.Document;
import com.aspose.pdf.Page;
import com.aspose.pdf.TextAbsorber;
import com.aspose.pdf.XImage;
public class HowToReadPDFFileInJava {
public static void main(String[] args) throws Exception {//main() function for HowToReadPDFFileInJava
// Instantiate the license to remove trial version restrictions while reading the PDF file
License license = new License();
license.setLicense("Aspose.PDF.lic");
// Load the PDF file from which text and images are to be read
Document pdf = new Document("Input.pdf");
// 1. Read entire text from the PDF file
// Instantiate a TextAbsorber Class object to read Text from PDF file
TextAbsorber textAbsorberObject = new TextAbsorber();
// Call PageCollection.accept() method to let TextAbsorber find text in PDF Pages
pdf.getPages().accept(textAbsorberObject);
// Write the extracted text from the sample PDF to console
System.out.println(textAbsorberObject.getText());
// 2. Extract images from PDF file
int imageCount = 1;
// Iterate through all the PDF pages to access images collection and save them on the disc
for (Page pdfPage : pdf.getPages())
{
// Iterate through images collection in the PDF file
for (XImage image : pdfPage.getResources().getImages())
{
java.io.FileOutputStream outputImageFromPdfFile = new java.io.FileOutputStream(pdfPage.getNumber() + "-"+ imageCount+"-output.jpg");
// Save each image in the PDF file images collection to a JPG file
image.save(outputImageFromPdfFile);
outputImageFromPdfFile.close();
imageCount++;
}
// Reset image index
imageCount = 1;
}
}
}

En este código de muestra, usamos la clase TextAbsorber y la función getImages() de Page.getResources() para leer PDF usando Java. El objeto TextAbsorber se utiliza para leer texto mediante la función de aceptación en PDF PageCollection. Mientras que la función getImages() de la colección getResources() devuelve todas las imágenes de una página.

Tenga en cuenta que estos pasos para leer PDF en Java se pueden realizar en cualquiera de los sistemas operativos como Windows, Linux o macOS. Si desea obtener más información sobre cómo trabajar con archivos PDF, consulte el artículo sobre cómo leer marcadores en PDF usando Java.

 Español