USO DE IRONPDF FOR JAVA

Cómo analizar archivos PDF en Java (Tutorial para desarrolladores)

Kannaopat Udonpant
Kannapat Udonpant
8 de mayo, 2023
Actualizado 15 de septiembre, 2024
Compartir:

Este artículo creará un analizador de PDF en Java utilizando la biblioteca IronPDF de manera eficiente.

IronPDF - Biblioteca PDF Java

IronPDF for Java es una biblioteca de PDF para Java que permite la creación, lectura y manipulación de documentos PDF con facilidad y precisión. Se basa en el éxito de IronPDF for .NET y ofrece una funcionalidad eficaz en distintas plataformas. IronPDF for Java utiliza el IronPdfEngine que es rápido y está optimizado para el rendimiento.

Con IronPDF, puedes extraer texto e imágenes de archivos PDF y también permite crear PDFs desde varias fuentes incluyendo cadenas HTML, archivos, URLs e imágenes. Además, puede agregar fácilmente contenido nuevo, insertar firmas con IronPDF y incrustar metadatos en documentos PDF. IronPDF está diseñado específicamente para Java 8+, Scala y Kotlin, y es compatible con las plataformas Windows, Linux y Cloud.

Programa para crear un analizador de archivos PDF con IronPDF en Java

Requisitos previos

Para realizar un proyecto de análisis de PDF en Java, necesitará las siguientes herramientas:

  1. Java IDE: Puedes utilizar cualquier IDE compatible con Java. Hay varios IDE disponibles para el desarrollo en Java. Aquí este tutorial utilizará IntelliJ IDE. Puedes utilizar NetBeans, Eclipse, etc.

  2. Proyecto Maven: Maven es un gestor de dependencias y permite el control sobre el proyecto Java. Maven para Java se puede descargar desde el sitio web oficial de Maven. El IDE de Java IntelliJ tiene soporte integrado para Maven.

  3. IronPDF - Puedes descargar e instalar IronPDF for Java de múltiples maneras.

    • Agregar la dependencia de IronPDF en el archivo pom.xml en un proyecto Maven.
     :ProductInstall
  1. Slf4j-Simple: Esta dependencia también es necesaria para estampar contenido en un documento existente. Se puede añadir utilizando el gestor de dependencias Maven en IntelliJ, o se puede descargar directamente desde el sitio web de Maven. Agrega la siguiente dependencia al archivo pom.xml:
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>2.0.5</version>
    </dependency>
XML

Añadir las importaciones necesarias

Una vez que se hayan instalado todos los requisitos previos, el primer paso es importar los paquetes necesarios de IronPDF para trabajar con un documento PDF. Agrega el siguiente código en la parte superior del archivo Main.java:

import com.ironsoftware.ironpdf.*;
import java.io.IOException;
import java.nio.file.Paths;
JAVA

Clave de licencia

Algunos métodos disponibles en IronPDF requieren una licencia para ser utilizados. Puede adquirir una licencia o probar IronPDF en una versión de prueba gratuita. Puede configurar la tecla de la siguiente manera:

License.setLicenseKey("YOUR-KEY");
JAVA

Paso 1: Analizar un documento PDF existente

Para analizar un documento existente para la extracción de contenido, se utiliza la clase PdfDocument. Su método estático fromFile se utiliza para analizar un archivo PDF desde una ruta específica con un nombre de archivo específico en un programa Java. El código es el siguiente:

PdfDocument parsedDocument = PdfDocument.fromFile(Paths.get("sample.pdf"));
JAVA

Cómo analizar PDF en Java (Tutorial para desarrolladores), Figura 1: Documento analizado

Documento analizado

Paso 2: Extraer datos de texto del archivo PDF analizado

IronPDF for Java proporciona un método sencillo para extraer texto de documentos PDF. El siguiente fragmento de código es para extraer datos de texto de un archivo PDF está por debajo:

String extracted_text = parsedDocument.extractAllText();
JAVA

El código anterior produce el resultado que se indica a continuación:

Cómo analizar PDF en Java (Tutorial para Desarrolladores), Figura 2: Salida

Salida

Paso 3: Extraer datos de texto de URLs o cadenas HTML

La capacidad de IronPDF for Java no sólo se limita a los PDF existentes, sino que también puede crear y analizar un nuevo archivo para extraer el contenido. Aquí, este tutorial creará un archivo PDF a partir de una URL y extraerá contenido de él. El siguiente ejemplo muestra cómo realizar esta tarea:

public class Main {
    public static void main(String[] args) throws IOException {
        License.setLicenseKey("YOUR-KEY");

        PdfDocument parsedDocument = PdfDocument.renderUrlAsPdf("https://ironpdf.com/java/");
        String extracted_text = parsedDocument.extractAllText();
        System.out.println("Text Extracted from URL:\n" + extracted_text);
    }
}
JAVA

El resultado es el siguiente:

Cómo analizar PDF en Java (Tutorial para desarrolladores), Figura 3: Salida

Salida

Paso 4: Extraer imágenes del documento PDF analizado

IronPDF también ofrece una opción fácil para extraer todas las imágenes de los documentos analizados. Aquí el tutorial usará el ejemplo anterior para ver lo fácilmente que se extraen las imágenes de los archivos PDF.

import com.ironsoftware.ironpdf.*;

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;

public static void main(String[] args) throws IOException {
    License.setLicenseKey("YOUR-KEY");

    PdfDocument parsedDocument = PdfDocument.renderUrlAsPdf("https://ironpdf.com/java/");

    try {
        List<BufferedImage> images = parsedDocument.extractAllImages();
        System.out.println("Number of images extracted from the website: " + images.size());

        int i = 0;
        for (BufferedImage image : images) {
            ImageIO.write(image, "PNG", Files.newOutputStream(Paths.get("assets/extracted_" + ++i + ".png")));
        }
    } catch (Exception exception) {
        System.out.println("Failed to extract images from the website");
        exception.printStackTrace();
    }
}
JAVA

El método [extractAllImages](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#extractAllImages()) devuelve una lista de BufferedImages. Cada BufferedImage puede ser almacenado como imágenes PNG en una ubicación utilizando el método ImageIO.write. Hay 34 imágenes en el archivo PDF analizado y cada imagen está perfectamente extraída.

Cómo analizar PDF en Java (Tutorial para desarrolladores), Figura 4: Imágenes extraídas

Imágenes extraídas

Paso 5: Extraer datos de la tabla en archivos PDF

Extraer contenido de los límites tabulares en un archivo PDF es fácil con solo una línea de código usando el método [extractAllText](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#extractAllText(). El siguiente fragmento de código muestra cómo extraer texto de una tabla en un archivo PDF:

Cómo analizar PDF en Java (Tutorial para desarrolladores), Figura 5: Tabla en PDF

Tabla en PDF

PdfDocument parsedDocument = PdfDocument.fromFile(Paths.get("table.pdf"));
String extracted_text = parsedDocument.extractAllText();
System.out.println(extracted_text);
JAVA

El resultado es el siguiente:

Cómo analizar PDF en Java (Tutorial para desarrolladores), Figura 6: Salida

Salida

Conclusión

Este artículo demostró cómo analizar un documento PDF existente o crear un nuevo archivo de parser PDF desde una URL para extraer datos de él en Java utilizando IronPDF. Después de abrir el archivo, puede extraer datos tabulares, imágenes y texto del PDF, y también puede agregar el texto extraído a un archivo de texto para su uso posterior.

Para obtener más información sobre cómo trabajar con archivos PDF programáticamente en Java, visite estos ejemplos de creación de archivos PDF.

La biblioteca IronPDF for Java es gratuita para fines de desarrollo con una prueba gratuita disponible. Sin embargo, para uso comercial se puede licenciar a través de IronSoftware, comenzando desde $749.

Kannaopat Udonpant
Ingeniero de software
Antes de convertirse en ingeniero de software, Kannapat realizó un doctorado en Recursos Medioambientales en la Universidad de Hokkaido (Japón). Mientras cursaba su licenciatura, Kannapat también se convirtió en miembro del Laboratorio de Robótica Vehicular, que forma parte del Departamento de Ingeniería de Bioproducción. En 2022, aprovechó sus conocimientos de C# para unirse al equipo de ingeniería de Iron Software, donde se centra en IronPDF. Kannapat valora su trabajo porque aprende directamente del desarrollador que escribe la mayor parte del código utilizado en IronPDF. Además del aprendizaje entre iguales, Kannapat disfruta del aspecto social de trabajar en Iron Software. Cuando no está escribiendo código o documentación, Kannapat suele jugar con su PS5 o volver a ver The Last of Us.
< ANTERIOR
Trabajar con proyectos Maven en IntelliJ
SIGUIENTE >
Cómo generar informes PDF en Java