USO DE IRONPDF FOR JAVA

Cómo previsualizar archivos PDF en Java

Este artículo demostrará cómo usar IronPDF para previsualizar archivos PDF dentro de una aplicación Java.

IronPDF

IronPDF es una biblioteca de Java de alto rendimiento, que ofrece operaciones rápidas y precisas, lo que la convierte en una excelente opción para tareas relacionadas con PDF, como la lectura de archivos PDF, la extracción de texto e imágenes, la fusión y la división.

Con la ayuda de la biblioteca IronPDF, puedes crear PDFs desde HTML, URLs y cadenas con un renderizado preciso y perfecto a nivel de píxel.

Requisitos previos

Para crear un visor de documentos PDF en Java, se necesitan las siguientes cosas.

  1. JDK (Java Development Kit) y el marco de UI Swing instalados.

  2. Un IDE de Java (entorno de desarrollo integrado) como Eclipse, NetBeans o IntelliJ IDEA.

  3. Biblioteca IronPDF para Java (Puedes descargarla desde el sitio web de IronPDF e incluirla en tu proyecto).

Puesta en marcha

  1. Crea un nuevo proyecto Java en el IDE que hayas elegido. Estoy usando IntelliJ IDEA y creé el proyecto usando Maven.

  2. Agrega la biblioteca de IronPDF a tu proyecto utilizando Maven añadiendo las dependencias que se muestran a continuación en el archivo pom.xml de tu proyecto:
    :ProductInstall
    :ProductInstall
SHELL
  1. Añade las importaciones necesarias:
    import com.ironsoftware.ironpdf.PdfDocument;

    import javax.imageio.ImageIO;
    import javax.swing.*;
    import javax.swing.border.EmptyBorder;
    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.IOException;
    import java.nio.file.Paths;
    import java.util.ArrayList;
    import java.util.List;
    import com.ironsoftware.ironpdf.PdfDocument;

    import javax.imageio.ImageIO;
    import javax.swing.*;
    import javax.swing.border.EmptyBorder;
    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.IOException;
    import java.nio.file.Paths;
    import java.util.ArrayList;
    import java.util.List;
JAVA

Cargar el formato de archivo PDF

Para ver documentos PDF, el siguiente paso es cargar el archivo PDF en esta aplicación de visualización de PDF de Java utilizando la clase PdfDocument.

public class PDFPreview extends JFrame {

    private List<String> imagePaths = new ArrayList<>();

    private List<String> ConvertToImages() throws IOException {
        PdfDocument pdfDocument = PdfDocument.fromFile(Paths.get("example.pdf"));
        // Create a list of paths for images
        List<BufferedImage> extractedImages = pdfDocument.toBufferedImages();
        int i = 1;
        for (BufferedImage extractedImage : extractedImages) {
            String fileName = "assets/images/" + i + ".png";
            ImageIO.write(extractedImage, "PNG", new File(fileName));
            imagePaths.add("assets/images/" + i + ".png");
            i++;
        }
        return imagePaths;
    }
}
public class PDFPreview extends JFrame {

    private List<String> imagePaths = new ArrayList<>();

    private List<String> ConvertToImages() throws IOException {
        PdfDocument pdfDocument = PdfDocument.fromFile(Paths.get("example.pdf"));
        // Create a list of paths for images
        List<BufferedImage> extractedImages = pdfDocument.toBufferedImages();
        int i = 1;
        for (BufferedImage extractedImage : extractedImages) {
            String fileName = "assets/images/" + i + ".png";
            ImageIO.write(extractedImage, "PNG", new File(fileName));
            imagePaths.add("assets/images/" + i + ".png");
            i++;
        }
        return imagePaths;
    }
}
JAVA

Cómo previsualizar archivos PDF en Java, Figura 1: El archivo PDF de salida

El archivo PDF de salida

Convertido en imágenes:

Cómo previsualizar archivos PDF en Java, Figura 2: Convertir archivo PDF a imágenes

Convertir archivo PDF a imágenes

Creación de la ventana del visor de PDF

Ahora, puede mostrar las imágenes convertidas en una ventana de vista previa utilizando componentes Java Swing.

public class PDFPreview extends JFrame {
    private JPanel imagePanel;
    private JScrollPane scrollPane;

    public PDFPreview() {
        try {
            imagePaths = this.ConvertToImages();
        } catch (Exception e) {

        }

        // Create imagePanel
        imagePanel = new JPanel();
        imagePanel.setLayout(new BoxLayout(imagePanel, BoxLayout.Y_AXIS));

        // Add images to the panel
        for (String imagePath : imagePaths) {
            ImageIcon imageIcon = new ImageIcon(imagePath);
            JLabel imageLabel = new JLabel(imageIcon);
            imageLabel.setBorder(new EmptyBorder(10, 10, 10, 10));
            imagePanel.add(imageLabel);
        }

        // Create the scroll pane and add imagePanel to it
        scrollPane = new JScrollPane(imagePanel);
        scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);

        // Set up the frame
        getContentPane().add(scrollPane);
        setTitle("PDF Viewer");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        pack();
        setLocationRelativeTo(null);
        setVisible(true);
    }
}
public class PDFPreview extends JFrame {
    private JPanel imagePanel;
    private JScrollPane scrollPane;

    public PDFPreview() {
        try {
            imagePaths = this.ConvertToImages();
        } catch (Exception e) {

        }

        // Create imagePanel
        imagePanel = new JPanel();
        imagePanel.setLayout(new BoxLayout(imagePanel, BoxLayout.Y_AXIS));

        // Add images to the panel
        for (String imagePath : imagePaths) {
            ImageIcon imageIcon = new ImageIcon(imagePath);
            JLabel imageLabel = new JLabel(imageIcon);
            imageLabel.setBorder(new EmptyBorder(10, 10, 10, 10));
            imagePanel.add(imageLabel);
        }

        // Create the scroll pane and add imagePanel to it
        scrollPane = new JScrollPane(imagePanel);
        scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);

        // Set up the frame
        getContentPane().add(scrollPane);
        setTitle("PDF Viewer");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        pack();
        setLocationRelativeTo(null);
        setVisible(true);
    }
}
JAVA

Invocar el constructor de la clase Main

Finalmente, coloque el siguiente código en el método principal de la clase PDFPreview:

public static void main(String[] args) {
    SwingUtilities.invokeLater(
         PDFPreview::new
    );
}
public static void main(String[] args) {
    SwingUtilities.invokeLater(
         PDFPreview::new
    );
}
JAVA

Código Explicación

  1. PDFPreview extiende JFrame, un contenedor de nivel superior para la creación de ventanas.

  2. Variables de instancia declaradas: imagePanel, scrollPane, y imagePaths.

  3. ConvertToImages() toma el archivo PDF example.pdf y lo convierte en una serie de imágenes. El PdfDocument carga el archivo PDF y convierte cada página en un BufferedImage, luego guarda cada una como un PNG en el directorio assets/images/ y añade las rutas a imagePaths.

  4. PDFPreview() inicializa la aplicación. Llama a ConvertToImages() para poblar imagePaths.

  5. imagePanel se inicializa y establece su diseño como diseño de caja vertical.

  6. Itera sobre imagePaths y crea ImageIcon para cada imagen, las añade a JLabel, y añade las etiquetas a imagePanel.

  7. El código fuente crea JScrollPane y establece imagePanel como su viewport.

  8. A continuación, el código agrega scrollPane al panel de contenido del marco, establece el título del marco, configura la operación de cierre predeterminada, empaqueta los componentes, centra el marco en la pantalla y lo hace visible.

  9. main() es el punto de entrada del programa. Invoca al constructor PDFPreview usando SwingUtilities.invokeLater() para asegurar que los componentes Swing se creen y modifiquen en el Subproceso de Despacho de Eventos, el subproceso dedicado para operaciones de GUI.

    Ahora, ejecute el programa y aparecerá el visor de archivos PDF con el documento PDF cargado.

    Cómo previsualizar archivos PDF en Java, Figura 3: El archivo PDF de salida

    El archivo PDF de salida

Conclusión

Este artículo demostró cómo usar IronPDF para aplicaciones basadas en Java para previsualizar archivos PDF dentro de una aplicación Java, y cómo acceder y mostrar un archivo PDF.

Con IronPDF, puede integrar fácilmente la funcionalidad de previsualización de PDF en su aplicación Java. Para obtener orientación detallada y ejemplos sobre cómo utilizar IronPDF for Java, puede consultar este ejemplo. Para el tutorial del lector de PDF de Java visita este artículo para leer archivos PDF.

IronPDF es gratuito para propósitos de desarrollo. Para obtener más información sobre los detalles de la licencia, puede visitar la página de licencias proporcionada. También está disponible una prueba gratuita para uso comercial.

Darrius Serrant
Ingeniero de Software Full Stack (WebOps)

Darrius Serrant tiene una licenciatura en Informática de la Universidad de Miami y trabaja como Ingeniero de Marketing WebOps Full Stack en Iron Software. Atraído por la programación desde una edad temprana, veía la computación como algo misterioso y accesible, lo que la convertía en el medio perfecto para la creatividad y la resolución de problemas.

En Iron Software, Darrius disfruta creando cosas nuevas y simplificando conceptos complejos para hacerlos más comprensibles. Como uno de nuestros desarrolladores residentes, también se ha ofrecido como voluntario para enseñar a los estudiantes, compartiendo su experiencia con la próxima generación.

Para Darrius, su trabajo es gratificante porque es valorado y tiene un impacto real.

< ANTERIOR
Cómo poner una marca de agua en archivos PDF en Java
SIGUIENTE >
Trabajar con proyectos Maven en IntelliJ

Instalar con Maven

Versión:2025.5.6

<dependency>
  <groupId>com.ironsoftware</groupId>
  <artifactId>ironpdf</artifactId>
  <version>2025.5.6</version>
</dependency>