Java PDF 转换为图像文件
1.导言
将 PDF 页面/文档转换为 JPEG、PNG 或 TIFF 等图像文件在软件行业有很多应用。 有时,您需要 PDF 文件特定页面的图像,以便在其他地方使用,但您唯一的选择是页面的图像截图。 假设您正在开发一个 Java 项目,该项目具有将 PDF 页面加载和转换为图像文件并将其用于其他用途的功能。 使用传统的 Java 代码,转换几乎是不可能的。 为此,我们将使用IronPDF for Java.
如何用 Java 将 PDF 转换为图像
- 安装 Java 库,将 PDF 转换为各种图像格式
- 利用 到缓冲图像 将 PDF 转换为图像的方法
- 将 URL 转换为图像,首先获取 PDF 文件,其中包含 renderUrlAsPdf 方法
- 使用步骤 2 将 PDF 转换为所需的图像格式
- 使用
写道
方法导出每幅图像
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。
应该安装一个好的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
文件中添加以下依赖项,或从以下网址下载 API 的 JAR 文件IronPDF 的 Maven 资源库页面.
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>com.ironsoftware</artifactId>
<version>2024.11.4</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 Java 文档. 有关如何将 PDF 转换为图片的更多信息,请访问此处IronPDF PDF 转图像示例.
IronPDF for Java 在开发时免费,但商业使用需要许可证。 有关许可证的更多信息,请访问IronPDF Java 许可页面.