Java PDF 转换为图像文件
1.导言
将 PDF 页面/文档转换为 JPEG、PNG 或 TIFF 等图像文件在软件行业有很多应用。 有时,您需要 PDF 文件特定页面的图像,以便在其他地方使用,但您唯一的选择是页面的图像截图。 假设您正在开发一个 Java 项目,该项目具有将 PDF 页面加载和转换为图像文件并将其用于其他用途的功能。 使用传统的 Java 代码,转换几乎是不可能的。 为此目的,我们将使用IronPDF for Java。
如何用 Java 将 PDF 转换为图像
- 安装Java库以将PDF转换为各种图像格式
- 利用 toBufferedImages 方法将 PDF 转换为图像
- 通过先使用 renderUrlAsPdf 方法获取 PDF 来转换 URL 为图像
- 使用步骤 2 将 PDF 转换为所需的图像格式
- 使用
write
方法导出每个图像
2. IronPDF for Java
IronPDF for Java 是一个允许您创建、准备和管理PDF文件的软件包。 它之所以受到开发人员的欢迎,是因为它的 PDF 文档生成组件可以让开发人员读取 PDF 文件,并在无需使用 Adobe Acrobat 的情况下生成/创建和修改 PDF 文件。 IronPDF for Java 支持自定义页眉/页脚、签名、附件、密码和安全机制。 一个改进的性能特性是完全的多线程和异步支持。 IronPDF for Java 适用于基于 Maven 的项目。
下面我们将讨论如何使用 Java 将 PDF 页面转换为 JPEG、JPG 或 PNG 等图像格式。
3. 先决条件
在我们开始之前,有几点必须明确以进行此转换。
系统中应安装Java,并且应在环境变量中设置其路径。 如果您尚未安装 Java,请参考此Java 安装指南进行安装。
应该安装一个好的Java IDE,比如Eclipse或IntelliJ。 要下载 Eclipse,请访问此Eclipse 下载页面,要下载 IntelliJ,请访问此IntelliJ 下载页面。
- 在开始转换之前,Maven 应与集成开发环境集成。 有关安装Maven并将其集成到环境中的教程,请访问此Maven安装教程。
4. Java 版 IronPDF 的安装
一旦满足了所有前提条件,安装 IronPDF for Java 就变得简单易行,即使是新的 Java 开发人员也不例外。
要使用 IronPDF for Java,首先您需要一个 IDE。在本文中,我们将使用 JetBrains IntelliJ IDEA 来安装所需的依赖项并运行示例。
首先,打开JetBrains IntelliJ IDEA并创建一个新的Maven项目。
一个新窗口将会出现。 输入项目名称,然后点击完成。
单击完成后,将打开一个新项目,默认情况下,pom.xml
会在项目中打开,这是好的,因为我们需要添加 IronPDF for Java 的 Maven 依赖项。
在pom.xml
文件中添加以下依赖项,或者您可以从IronPDF的Maven仓库页面下载API的JAR文件。
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>com.ironsoftware</artifactId>
<version>2025.3.6</version>
</dependency>
当您将依赖项放入pom.xml
文件时,窗口右上角会出现一个小图标。
点击此图标以安装Maven依赖项。 这只需要几分钟,具体取决于您的网络连接。
5. 使用 IronPDF for Java 将 PDF 文件转换为图像
使用 IronPDF for Java,将 PDF 转换为 JPEG 等图像格式只需几行代码。 它将输入的 PDF 文档转换成输出的图像流。 toBufferedImages
方法返回一个包含 BufferedImage
对象集合的列表,并按照页面编号的升序排列。
使用 IronPDF for Java,您不仅可以从 PDF 文档生成图像,还可以直接从 URL 和 HTML 创建图像。
5.1 将PDF文档转换为图像
在以下示例中,我们将把整个PDF文档转换成图片。 要开始,请编写以下代码并运行程序。
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));
}
}
}
以下示例的输出将保存在您项目的assets文件夹中(在运行程序之前创建此文件夹),编号从1开始,并将为所有PDF页面递增。
5.2. 将URL转换为PDF和PDF转换为图像
使用 IronPDF for Java,您可以直接将 HTML 转换为 PDF,然后将生成的 PDF 的每个页面转换为图像。
在下一个示例中,我们将使用亚马逊网站。下面的程序将把 Amazon.com 上的一个页面渲染为 PDF,然后将 PDF 的每个页面输出为图像,存储在 assets 文件夹中。
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));
}
}
}
通过将对ToImageOptions
实例的调用替换为以下内容,调整从上述示例创建的图像的分辨率:
rasterOptions.setImageMaxHeight(800);
rasterOptions.setImageMaxWidth(500);
上面两行代码在调用toBufferedImage
时会调整生成的每个图像的宽度和高度。
6. 结论
本操作指南演示了如何使用 IronPDF for Java 将 PDF 转换成图片。 IronPDF生成的PDF页面图像同时包含了页码和文档名称,如前例所示。 IronPDF 可以生成不同格式的图像:JPEG、JPG、TIFF 等多种格式。
IronPDF还允许用户完全控制输出图像的分辨率。 要了解有关IronPDF for Java的更多信息以及访问有关使用Java操作PDF的其他指南,请参阅IronPDF Documentation for Java。 有关如何将PDF转换为图像的更多信息,请访问此IronPDF PDF to Images示例。
IronPDF for Java 在开发时免费,但商业使用需要许可证。 在IronPDF Java 许可页面获取更多许可的附加信息。