Pruebe en producción sin marcas de agua.
Funciona donde lo necesite.
Obtén 30 días de producto totalmente funcional.
Ténlo en funcionamiento en minutos.
Acceso completo a nuestro equipo de asistencia técnica durante la prueba del producto
Este artículo demostrará cómo usar IronPDF para previsualizar archivos PDF dentro de una aplicación Java.
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.
Para crear un visor de documentos PDF en Java, se necesitan las siguientes cosas.
JDK (Java Development Kit) y el marco de UI Swing instalados.
Un IDE de Java (entorno de desarrollo integrado) como Eclipse, NetBeans o IntelliJ IDEA.
Crea un nuevo proyecto Java en el IDE que hayas elegido. Estoy usando IntelliJ IDEA y creé el proyecto usando Maven.
pom.xml
de tu proyecto: :ProductInstall
:ProductInstall
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;
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;
}
}
El archivo PDF de salida
Convertido en imágenes:
Convertir archivo PDF a imágenes
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);
}
}
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
);
}
PDFPreview
extiende JFrame
, un contenedor de nivel superior para la creación de ventanas.
Variables de instancia declaradas: imagePanel
, scrollPane
, y imagePaths
.
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
.
PDFPreview()
inicializa la aplicación. Llama a ConvertToImages()
para poblar imagePaths
.
imagePanel
se inicializa y establece su diseño como diseño de caja vertical.
Itera sobre imagePaths
y crea ImageIcon
para cada imagen, las añade a JLabel
, y añade las etiquetas a imagePanel
.
El código fuente crea JScrollPane
y establece imagePanel
como su viewport.
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.
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.
El archivo PDF de salida
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.