使用IRONPDF FOR JAVA

如何在 Java 中预览 PDF 文件

本文将演示如何在Java应用程序中使用IronPDF预览PDF文件。

IronPDF

IronPDF 是一个高性能的 Java 库,提供快速且准确的操作,是处理 PDF 相关任务的绝佳选择,例如读取 PDF 文件提取文本和图像合并拆分

通过使用IronPDF库,您可以从HTML、URL和字符串创建PDF,并实现精确的像素级渲染。

先决条件

要在Java中创建用于PDF文档的文档查看器,您需要具备以下条件。

  1. 安装了JDK(Java开发工具包)和Swing UI框架。

  2. Java IDE(集成开发环境),如Eclipse、NetBeans或IntelliJ IDEA。

  3. IronPDF库用于Java(您可以从下载它并将其包含在您的项目中)。

设置

  1. 在您选择的IDE中创建一个新的Java项目。我使用的是IntelliJ IDEA,并使用Maven创建了该项目。

  2. 通过在项目的pom.xml文件中添加下面显示的依赖项,使用Maven将IronPDF库添加到您的项目中:
    :ProductInstall
    :ProductInstall
SHELL
  1. 添加必要的进口:
    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

加载 PDF 文件格式

要查看 PDF 文档,下一步是在此 Java PDF 查看器应用程序中使用 PdfDocument 类加载 PDF 文件。

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

如何在Java中预览PDF文件,图1:输出PDF文件

输出 PDF 文件

转换为图像:

如何在Java中预览PDF文件,图2:将PDF文件转换为图像

将PDF文件转换为图像

创建PDF查看器窗口

现在,您可以使用 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

调用 Main 类的构造函数

最后,将以下代码放在PDFPreview类的主方法中:

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

代码解释

  1. PDFPreview 扩展了 JFrame,这是用于窗口创建的顶级容器。

  2. 声明的实例变量:imagePanelscrollPaneimagePaths

  3. ConvertToImages() 方法接收 PDF 文件 example.pdf,并将其转换为一系列图像。 PdfDocument加载PDF文件并将每一页转换为BufferedImage,然后将每一页作为PNG保存到assets/images/目录中,并将路径添加到imagePaths

  4. PDFPreview() 初始化应用程序。 它调用ConvertToImages()来填充imagePaths

  5. imagePanel已初始化,并将其布局设置为垂直框布局。

  6. 它遍历imagePaths,为每张图片创建ImageIcon,将它们添加到JLabel,并将标签添加到imagePanel

  7. 源代码创建JScrollPane并将imagePanel设置为其视口。

  8. 接下来,代码将scrollPane添加到框架的内容窗格中,设置框架的标题,设置默认关闭操作,打包组件,将框架居中显示在屏幕上,并使其可见。

  9. main() 是程序的入口。 它使用SwingUtilities.invokeLater()调用PDFPreview构造函数,以确保在事件调度线程上创建和修改Swing组件,该线程是专门用于GUI操作的线程。

    现在,执行程序,PDF文档查看器将显示已加载的PDF文档。

    如何在 Java 中预览 PDF 文件,图 3:输出的 PDF 文件

    输出 PDF 文件

结论

本文展示了如何使用IronPDF for Java应用程序在Java应用程序中预览PDF文件,以及如何访问和显示PDF文件。

使用 IronPDF,您可以轻松将 PDF 预览功能集成到您的 Java 应用程序中。 有关使用IronPDF for Java的详细指南和示例,您可以参考这个示例。 有关 Java PDF 阅读器教程,请访问此文章以阅读 PDF 文件

IronPDF 免费用于开发用途。 要了解更多有关许可的详细信息,您可以访问提供的许可页面。 一份用于商业用途的免费试用也可用。

Darrius Serrant
全栈软件工程师(WebOps)

达瑞乌斯·塞兰特拥有迈阿密大学计算机科学学士学位,目前在Iron Software担任全栈WebOps营销工程师。从小对编码的热爱使他认为计算机既神秘又易接近,成为创意和解决问题的完美媒介。

在Iron Software,达瑞乌斯乐于创造新事物并简化复杂概念,使其更易于理解。作为我们在职开发者之一,他还自愿教授学生,将他的专业知识传授给下一代。

对达瑞乌斯而言,他的工作之所以令人满足,是因为它具有价值并产生了真正的影响。

< 前一页
如何在 Java 中给 PDF 文件添加水印
下一步 >
在 IntelliJ 中处理 Maven 项目

通过Maven安装

版本:2025.5.6

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