Java PDF 转换为图像文件
1.导言
将 PDF 页面/文档转换为 JPEG 图像、PNG 或 TIFF 等图像文件在软件行业有很多应用。有时,您需要 PDF 文件特定页面的图像以用于某处,但您唯一的选择就是页面的图像截图。想象一下,您正在开发的 Java 项目具有将 PDF 页面加载和转换为图像文件并用于其他目的的功能。使用传统的 Java 代码几乎不可能完成转换。为此,我们将使用 IronPDF for Java.
如何用 Java 将 PDF 转换为图像
- 安装 Java 库,将 PDF 转换为各种图像格式
- 利用 到缓冲图像 将 PDF 转换为图像的方法
- 将 URL 转换为图像,首先获取 PDF 文件,然后使用 renderUrlAsPdf 方法
- 使用第 2 步将 PDF 转换为所需的图像格式
- 使用
写道
方法 to export each image
2.Java 版 IronPDF
IronPDF for Java 是一个允许您创建、准备和管理 PDF 文件的软件包。它之所以受到开发人员的欢迎,是因为它的 PDF 文档生成组件允许开发人员读取 PDF、生成/创建和修改 PDF 文件,而无需使用 Adobe Acrobat。IronPDF for Java 支持自定义页眉/页脚、签名、附件、密码和安全机制。IronPDF for Java 改进的性能之一是完全支持多线程和异步。IronPDF for Java 可与基于 Maven 的项目协同工作。
下面我们将讨论如何使用 Java 将 PDF 页面转换为 JPEG 图像、JPG 或 PNG 图像等图像格式。
3.先决条件
在我们开始之前,必须具备以下几点才能进行转换。
1.系统中应安装 Java,并在环境变量中设置其路径。请参考 链接 Java 安装。
2.应安装一个良好的 Java IDE,如 Eclipse 或 IntelliJ。要下载 Eclipse,请访问 链接 并下载 IntelliJ,请点击此处 链接.
3.在开始转换之前,应将 Maven 与集成开发环境集成。有关安装 Maven 并将其集成到环境中的教程,请访问以下网站 链接[链接].
4.安装 IronPDF for Java
一旦满足了所有前提条件,安装 IronPDF for Java 就变得非常简单,即使是新 Java 开发人员也能轻松上手。
要使用 IronPDF for Java,首先需要一个集成开发环境。在本文中,我们将使用 JetBrains IntelliJ IDEA 安装所需的依赖项并运行示例。
首先,打开 JetBrains IntelliJ IDEA 并创建新的 Maven 项目。
这时会出现一个新窗口。输入项目名称并点击完成。
点击 "完成 "后,将打开一个新项目,默认情况下会在项目中打开 pom.xml,这很好,因为我们需要添加 IronPDF for Java 的 Maven 依赖项。
在 pom.xml 文件中添加以下依赖项,或从以下链接下载 API 的 JAR 文件 链接.
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>com.ironsoftware</artifactId>
<version>2024.9.1</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 的其他操作指南,请参阅以下内容 链接.有关如何将 PDF 转换为图像的更多信息,请访问此页面 链接.
IronPDF for Java 用于开发目的是免费的,但用于商业用途则需要许可证。获取有关许可证的更多信息 这里.