Java PDF a archivo de imagen

1. Introducción

La conversión de páginas/documentos PDF a archivos de imagen como JPEG, PNG o TIFF tiene muchas aplicaciones en la industria del software. A veces, usted necesita una imagen de páginas específicas de un archivo PDF para utilizar en algún lugar, pero su única opción es la captura de pantalla de la página. Imagine que está trabajando en su proyecto Java que tiene una funcionalidad para cargar y convertir páginas PDF en archivos de imagen y utilizarlos para otros fines. Utilizando código Java tradicional, la conversión es casi imposible. Para ello, utilizaremos IronPDF for Java.

2. IronPDF para Java

IronPDF para Java es un paquete que permite crear, preparar y gestionar archivos PDF. Es popular entre los desarrolladores por su componente de generación de documentos PDF, que les permite leer PDF, generar/crear y modificar archivos PDF sin necesidad de Adobe Acrobat. IronPDF para Java admite encabezados/pies de página personalizados, firmas, archivos adjuntos, contraseñas y mecanismos de seguridad. Una de las características de rendimiento mejoradas es la compatibilidad total con multihilo y async. IronPDF para Java funciona con proyectos basados en Maven.

A continuación explicaremos cómo convertir páginas PDF a formatos de imagen como imágenes JPEG, JPG o PNG utilizando Java.

3. Requisitos previos

Antes de empezar, hay algunos puntos que deben estar presentes para llevar a cabo esta conversión.

  1. Java debe estar instalado en el sistema y su ruta debe establecerse en Variables de entorno. Consulte este enlace para instalar Java si no lo ha hecho antes.
  2. Se debe instalar un buen IDE de Java, como Eclipse o IntelliJ. Para descargar Eclipse, visite este enlace enlace y para descargar IntelliJ, haga clic en este enlace enlace.
  3. Maven debe estar integrado con el IDE antes de comenzar con la conversión. Para el tutorial de instalación de Maven y su integración en el entorno, visite enlace[enlace].

4. Instalación de IronPDF para Java

Una vez cumplidos todos los requisitos previos, la instalación de IronPDF para Java es bastante sencilla y fácil incluso para los nuevos desarrolladores de Java.

Para utilizar IronPDF para Java, primero necesitas un IDE. Para este artículo, utilizaremos JetBrains IntelliJ IDEA para instalar las dependencias necesarias y ejecutar ejemplos.

En primer lugar, abra JetBrains IntelliJ IDEA y cree un nuevo proyecto Maven.

Java PDF to Image - Figura 1: Crear nuevo proyecto Maven

Crear un nuevo proyecto Maven

Aparecerá una nueva ventana. Introduzca el nombre del proyecto y haga clic en Finalizar.

Java PDF to Image - Figura 2: Nombre del nuevo proyecto

Nombre del nuevo proyecto

Después de hacer clic en finalizar, un nuevo proyecto se abrirá y por defecto pom.xml se abre en el proyecto que es bueno porque tenemos que añadir las dependencias de Maven IronPDF para Java.

Java PDF to Image - Figura 3: Nuevo proyecto

Nuevo proyecto

Añada las siguientes dependencias en el archivo pom.xml o puede descargar el archivo JAR de la API de la siguiente manera enlace.

<dependency>
   <groupId>com.ironsoftware</groupId>
   <artifactId>com.ironsoftware</artifactId>
   <version>2024.3.1</version>
</dependency>

Una vez colocadas las dependencias en el archivo pom.xml, aparecerá un pequeño icono en la esquina superior derecha de la ventana.

Java PDF to Image - Figura 4: Dependencias de Maven

Dependencias de Maven

Haga clic en este icono para instalar las dependencias de Maven. Esto sólo le llevará unos minutos, dependiendo de su conexión a Internet.

5. Convertir archivos PDF en imágenes con IronPDF para Java

Con IronPDF para Java, la conversión de PDF a imágenes como JPEG es cuestión de unas pocas líneas de código. Convierte el documento PDF de entrada en un flujo de imágenes de salida. Es el método toBufferedImages que devuelve una lista que contiene una colección de objetos BufferedImage, y está ordenada en orden ascendente correspondiente a los números de página.

Con IronPDF para Java no sólo podrá generar imágenes a partir de documentos PDF, sino que también podrá crear imágenes a partir de URL y HTML directamente.

5.1. Convertir un documento PDF en imágenes

En el siguiente ejemplo, convertiremos todo el documento PDF en imágenes. Para empezar, sólo tienes que escribir el siguiente código y ejecutar el programa.

import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.edit.PageSelection;
import com.ironsoftware.ironpdf.image.ToImageOptions;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.nio.file.Paths;
import java.util.List;

public class main {
    public static void main(String [] args) throws IOException {
        PdfDocument instance = PdfDocument.fromFile(Paths.get("business plan.pdf"));
        List<BufferedImage> extractedImages = instance.toBufferedImages();
        ToImageOptions rasterOptions = new ToImageOptions();
        rasterOptions.setImageMaxHeight(800);
        rasterOptions.setImageMaxWidth(500);

        List<BufferedImage> sizedExtractedImages = instance.toBufferedImages(rasterOptions, PageSelection.allPages());
        int pageIndex = 1;
        for (BufferedImage extractedImage : sizedExtractedImages) {
            String fileName = "assets/images/" + pageIndex++ + ".png";
            ImageIO.write(extractedImage, "PNG", new File(fileName));
        }
    }
}
JAVA

El resultado del siguiente ejemplo se guardará en la carpeta assets de su proyecto (cree esta carpeta antes de ejecutar el programa) con numeración que comienza en 1 y se incrementará para todas las páginas del PDF.

Java PDF to Image - Figura 5: Nuevo proyecto

Salida de PDF a imágenes

5.2. Conversión de URL a PDF y de PDF a imágenes

Con IronPDF para Java, puede convertir HTML a PDF directamente y, a continuación, convertir cada página del PDF generado en imágenes.

Para el siguiente ejemplo, utilizaremos el sitio web de Amazon. El siguiente programa convertirá una página de Amazon.com en PDF y luego mostrará cada página del PDF como imágenes almacenadas en una carpeta de activos.

import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.edit.PageSelection;
import com.ironsoftware.ironpdf.image.ToImageOptions;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.nio.file.Paths;
import java.util.List;

public class main {
    public static void main(String [] args) throws IOException {
        PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20");
        List<BufferedImage> extractedImages = pdf.toBufferedImages();
        ToImageOptions rasterOptions = new ToImageOptions();
        rasterOptions.setImageMaxHeight(800);
        rasterOptions.setImageMaxWidth(500);
        List<BufferedImage> sizedExtractedImages = pdf.toBufferedImages(rasterOptions, PageSelection.allPages());
        int i = 1;
        for (BufferedImage extractedImage : sizedExtractedImages) {
            String fileName = "assets/images/" + i++ + ".png";
            ImageIO.write(extractedImage, "PNG", new File(fileName));
        }
    }
}
JAVA
Java PDF to Image - Figure 6: Salida de PDF a imágenes

Salida de PDF a imágenes

Ajuste la resolución de las imágenes creadas a partir del ejemplo anterior sustituyendo las llamadas a la instancia ToImageOptions por las siguientes:

rasterOptions.setImageMaxHeight(800);
rasterOptions.setImageMaxWidth(500);
JAVA

Las dos líneas de código anteriores ajustan la anchura y la altura que tendrá cada una de las imágenes generadas cuando se invoque toBufferedImage.

6. Conclusión

Esta Guía práctica muestra cómo convertir PDF en imágenes utilizando IronPDF para Java. Las imágenes de página PDF producidas con IronPDF contienen tanto el número de página como el nombre del documento, como se muestra en los ejemplos anteriores. IronPDF puede generar imágenes en diferentes formatos: JPEG, JPG, TIFF y muchos más.

IronPDF también ofrece a sus usuarios un control total sobre la resolución de la imagen de salida. Para obtener más información sobre IronPDF para Java y acceder a otras guías prácticas sobre cómo manipular PDF con Java, consulte lo siguiente enlace. Para obtener más información sobre cómo convertir un PDF en imágenes, consulte este enlace enlace.

IronPDF para Java es gratuito para fines de desarrollo. pero requiere una licencia para su uso comercial. Obtenga más información adicional sobre la licencia aquí.