
如何将文档保存为 PDF
在当今日益数字化的世界中,便携式文档格式 (PDF) 已成为共享和保存数字文档的普遍文件格式。 然而,在某些情况下,将 PDF 转换为图像是必要的,为用户解锁了无数可能性。 将 PDF 转换为图像格式提供了一种多功能的解决方案,使文档能无缝集成到演示文稿、网页或社交媒体平台中。 在这个视觉交流的时代,将 PDF 转换为图像的能力提供了增强的可访问性,并为创造力和便利性开辟了新的途径。 本文探讨了使用 Java 将 PDF 转换为图像的重要性以及实现此任务的工具。
为此,我们将使用并比较以下两个 Java PDF 库:
- iText (iText)
- IronPDF
如何使用iText将PDF文件转换为图像
- 使用iText将PDF文件转换为图像,首先设置环境。
- 使用
renderPdf对象加载现有的PDF文件。 - 使用PDF文件的
PdfRenderImageType方法设置渲染属性。 - 使用
PdfToImageRenderer实例化PDF文档的转换。 - 使用
OUTPUT_DIRECTORY将图像保存到指定路径。
1. IronPDF for Java
IronPDF for Java 为在 Java 编程生态系统中实现强大的 PDF 操作和生成功能敞开了大门。 随着企业和开发人员寻求以编程方式处理与 PDF 相关任务的高效解决方案,IronPDF 作为一个可靠且功能丰富的库脱颖而出。 无论是将 HTML 内容转换为 PDF,合并、拆分还是编辑现有 PDF 文档,IronPDF 为 Java 开发人员提供了一套强大的工具来简化工作流程。 凭借其简单的集成和广泛的文档,这个库能够让 Java 应用程序与 PDF 无缝交互,为所有与 PDF 相关的需求提供全面的解决方案。 在本文中,我们将探索 IronPDF for Java 的关键特性和优势,并说明它如何简化 Java 应用程序中的 PDF 处理过程。
2. iText for Java (iText)
iText for Java (iText),一个强大且多功能的PDF库,赋予开发者以编程方式创建、修改和操作PDF文档的能力。 最初为.NET开发的iText (iText)已被改编为Java,提供了一个无缝而高效的解决方案,适合Java生态系统中所有与PDF相关的任务。 凭借其广泛的功能和易于使用的API,iText使Java开发者能够轻松生成动态PDF,添加内容,插入图像,从现有PDF中提取数据。 无论是创建发票、生成报告,还是将PDF处理集成到企业应用程序中,iText都是一个有价值的工具,它让开发者能够全面掌控其PDF处理需求。 本文中,我们将探索iText for Java (iText)的基本功能和优点,并通过实际示例展示其能力。
3. 安装 IronPDF for Java 库
要将 IronPDF 及其所需的日志依赖项 SLF4J 集成到您的 Maven 项目中,请按照以下步骤操作:
-
打开项目的 pom.xml 文件。
-
导航到依赖项部分。 如果尚不存在,请创建一个。
-
包含以下 IronPDF 和 SLF4J 的依赖项条目:
<dependency> <groupId>com.ironsoftware</groupId> <artifactId>com.ironsoftware</artifactId> <version>2023.7.2</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>2.0.3</version> </dependency>XML -
保存 pom.xml 文件。

就是这样! 只需按上方显示的按钮即可将这些依赖项包括在您的项目中。
4. 安装iText Java库
要安装iText,请按照以下步骤添加依赖项:
-
打开 pom.xml 文件。
-
找到依赖项标签。 如果它们不存在,请创建它们并将以下代码放在这些标签之间:
<!-- https://mvnrepository.com/artifact/com.itextpdf/itext7-core --> <dependency> <groupId>com.itextpdf</groupId> <artifactId>itext7-core</artifactId> <version>8.0.0</version> <type>pom</type> </dependency>XML -
单击屏幕右上角的小按钮。
就这样,您的依赖项已安装。
5. 使用 IronPDF 将 PDF 文档转换为图像
using IronPDF 从 PDF 页面中提取图像比您想象的要简单,只需几行代码。 IronPDF 提供了对多种图像文件类型的兼容性,如 JPEG 和 PNG。
在本节中,我们将通过示例代码来了解如何使用 IronPDF for Java 将 PDF 文件转换为图像。
import com.ironsoftware.ironpdf.PdfDocument;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.nio.file.Paths;
import java.util.List;
import java.io.File;
public class Main {
public static void main(String[] args) throws Exception {
// Load the PDF document
PdfDocument pdf = PdfDocument.fromFile(Paths.get("composite.pdf"));
// Extract all images from the PDF document into a list
List<BufferedImage> images = pdf.extractAllImages();
int i = 1; // Image counter
// Traverse the extracted images list and save each image
for (BufferedImage extractedImage : images) {
String fileName = "assets/extracted_" + i++ + ".png";
ImageIO.write(extractedImage, "PNG", new File(fileName)); // Save image as PNG
}
}
}
上述代码首先使用PdfDocument.fromFile()方法打开PDF文件,该方法将文件路径作为参数。 然后使用images的列表中。 然后,循环遍历图像,使用ImageIO.write()方法保存每个图像,该方法将图像、文件类型("PNG")和路径+名称作为参数。
输出目录截图

6. 使用iText将PDF文件转换为图像
在这一部分中,我们将看到如何使用iText Java PDF库从PDF中提取图像。 以下是用于iText PDF到图像提取的示例代码。
import com.itextpdf.pdfrender.PdfRenderImageType;
import com.itextpdf.pdfrender.PdfToImageRenderer;
import com.itextpdf.pdfrender.RenderingProperties;
import java.io.File;
import java.io.IOException;
public class PdfRender_Demo {
private static final String ORIG = "/uploads/input.pdf";
private static final String OUTPUT_DIRECTORY = "/myfiles/";
public static void main(String[] args) throws IOException {
// Set rendering properties for the PDF to image conversion
final RenderingProperties properties = new RenderingProperties();
properties.setImageType(PdfRenderImageType.JPEG); // Set image type to JPEG
properties.setScaling(1.0f); // Maintain original size
// Perform rendering from PDF to Image format
PdfToImageRenderer.renderPdf(
new File(ORIG),
new File(OUTPUT_DIRECTORY),
"/customfilename-%d",
properties
);
}
}
在使用iText工作时,观察到iText速度慢,且无法轻松处理大文件。
输出

7. 结论
在当今数字化世界中,将 PDF 转换为图像的能力提供了多种可能性,可以无缝集成文档到演示文稿、网页或社交媒体平台,增强了可访问性和创造力。 iText for Java (iText)和IronPDF for Java都为这项任务提供了有价值的解决方案。
iText赋予开发者一个强大而多功能的PDF库,可以编程方式创建、修改和操作PDF文档。 然而,它可能在处理大文件和处理速度较慢时面临挑战。
相比之下,Java 的 IronPDF 页面 提供了一个功能丰富且高效的库,为开发人员提供处理与 PDF 相关任务的工具,包括提取图像、合并、拆分和编辑 PDF 文档。 IronPDF for PDF to Image Conversion 在这个比较中显然胜出。
要了解有关使用 Java 从 PDF 中提取图像的完整教程,请访问以下 有关使用 IronPDF for Java 提取图像的综合指南。 完整比较可在此处获得 PDF 到图像库的完整比较。
iText价格信息起价为每个PDF $0.15。 至于 IronPDF,它提供了一个从 $999 开始的一次性购买的终身许可证,还提供了一个IronPDF 的免费试用许可证。 欲了解更多信息,请访问IronPDF 许可证信息。

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

