
如何在 Java 中预览 PDF 文件
本文将演示如何使用IronPDF在Java应用程序中预览PDF文件。
IronPDF
IronPDF 是一个高性能的Java库,提供快速准确的操作,是执行PDF相关任务(如读取PDF文件、提取文本和图像、合并和分拆等任务)的绝佳选择。
在IronPDF库的帮助下,您可以从HTML、URL和字符串创建具有精确像素完美渲染的PDF。
前提条件
要在Java中创建PDF文档查看器,您需要设置以下内容。
- 安装JDK(Java开发工具包)和Swing UI框架。
- 一个 Java IDE(集成开发环境),例如 Eclipse、NetBeans 或 IntelliJ IDEA。
- Java版的IronPDF库(您可以从IronPDF网站下载并将其包含在项目中)。
设置
-
在您选择的IDE中创建一个新的Java项目。我使用的是IntelliJ IDEA,并使用Maven创建了一个项目。
-
使用Maven将IronPDF库添加到您的项目中,通过在项目的
pom.xml文件中添加如下所示的依赖项:<!-- Add IronPDF dependency in your pom.xml --> <dependency> <groupId>com.ironsoftware</groupId> <artifactId>ironpdf</artifactId> <version>latest_version</version> </dependency>XML -
添加必要的导入:
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文档,下一步是通过使用PdfDocument类在这个Java PDF查看器应用程序中加载PDF文件。
public class PDFPreview extends JFrame {
private List<String> imagePaths = new ArrayList<>();
private List<String> ConvertToImages() throws IOException {
// Load the PDF document from a file
PdfDocument pdfDocument = PdfDocument.fromFile(Paths.get("example.pdf"));
// Convert the PDF pages to a list of BufferedImages
List<BufferedImage> extractedImages = pdfDocument.toBufferedImages();
int i = 1;
// Iterate over the extracted images and save each to an image file
for (BufferedImage extractedImage : extractedImages) {
String fileName = "assets/images/" + i + ".png";
ImageIO.write(extractedImage, "PNG", new File(fileName));
// Store the file paths in the image paths list
imagePaths.add("assets/images/" + i + ".png");
i++;
}
return imagePaths;
}
}
输出 PDF 文件
转换为图像:
将PDF文件转换为图像
创建PDF查看器窗口
现在,您可以使用Java Swing组件将转换后的图像显示在预览窗口中。
public class PDFPreview extends JFrame {
private JPanel imagePanel;
private JScrollPane scrollPane;
public PDFPreview() {
try {
// Convert the PDF to images and store the image paths
imagePaths = this.ConvertToImages();
} catch (Exception e) {
e.printStackTrace();
}
// 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);
}
}
调用主类构造函数
最后,将以下代码放在PDFPreview类的主方法中:
public static void main(String[] args) {
// Run the PDF viewer in the Event Dispatch Thread
SwingUtilities.invokeLater(
PDFPreview::new
);
}
代码解释
JFrame,这是一个用于窗口创建的顶级容器。- 声明的实例变量:
imagePaths。 example.pdf,并将其转换为一系列图像。imagePaths。PDFPreview()初始化应用程序。 它调用imagePaths。imagePanel被初始化,并将其布局设置为垂直盒布局。- 它遍历
imagePanel。 - 源代码创建
imagePanel设置为其视口。 - 接下来,代码将
scrollPane添加到框架的内容窗格中,设置框架的标题,设置默认关闭操作,打包组件,将框架居中于屏幕,并使其可见。 main()是程序的入口点。 它使用PDFPreview构造函数,以确保Swing组件在事件调度线程上被创建和修改,这是用于GUI操作的专用线程。
现在,执行该程序,PDF文档查看器将与加载的PDF文档一起显示。
输出 PDF 文件
结论
本文演示了如何使用IronPDF用于基于Java的应用程序来预览Java应用程序中的PDF文件,以及如何访问和显示PDF文件。
利用IronPDF,您可以轻松将PDF预览功能集成到Java应用程序中。 有关使用IronPDF for Java的详细指导和示例,您可以参考此示例。 Java PDF阅读器教程请访问此文章以阅读PDF文件。
IronPDF可免费用于开发用途。 要了解有关许可的详细信息,您可以访问提供的许可页。 可用于商业用途的免费试用也可用。

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。
相关文章


