
如何在 Java 中将 GIF 转换为 PDF
PDF 文件格式是最流行的基于矢量的文件之一。另一方面,GIF 基于光栅图像,在将图像显示为动画时提供了很多功能。在这篇博文中,您将学习如何在 Java 应用程序中将 GIF 转换为 PDF。因此,您将安装此文档处理 库 以编程方式构建 GIF 到 PDF 转换器。将 GIF 转换为 PDF 的过程自动化肯定会给您的业务应用程序带来竞争优势。
您将经历以下几点:
GIF转PDF-API安装
这个文档处理库很容易安装在您的 Java 项目中。但是,您可以 下载 JAR 文件或使用以下 Maven 配置安装此库。
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://releases.aspose.com/java/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-words</artifactId>
<version>22.10</version>
<classifier>jdk17</classifier>
</dependency>
如何在 Java 中将 GIF 转换为 PDF
安装库后,您可以开始编写源代码以编程方式构建 GIF 到 PDF 转换器。
您可以按照以下步骤和代码片段进行操作:
- 实例化 Document 类的实例。
- 初始化 DocumentBuilder 类的对象并绑定 Document 对象。
- 现在,加载源 GIF 文件并通过调用从 File 对象获取输入的 createImageInputStream 方法创建图像流。
- 创建一个 ImageReader 类的对象,访问方法 getImageReaders,该方法返回一个迭代器,其中包含所有当前注册的声称能够解码提供的对象的 ImageReader,通常是 ImageInputStream。
- 调用将要使用的输入源设置为给定 ImageInputStream 或其他对象的 setInput 方法。
- 通过调用 getNumImages 方法获取图像中的帧数。
- 循环遍历所有帧。
- 在多帧图像的情况下,通过调用 insertBreak 方法在每个新页面之前插入分节符。
- 通过调用 read 方法选择活动帧。
- 调用getPageSetup方法获取当前页面设置,并赋值给PageSetup类对象。 11.调用setPageWidth方法设置页面宽度。
- setPageHeight 方法将保存页面高度。 13.调用insertImage方法将图片插入到文档中,定位在页面的左上角。
- 调用 save 方法将文件保存为 PDF 文件格式。
将以下代码复制并粘贴到您的主文件中:
// 实例化 Document 类的一个实例。
Document doc = new Document();
// 初始化 DocumentBuilder 类的对象并绑定 Document 对象。
DocumentBuilder builder = new DocumentBuilder(doc);
// 现在,加载源 GIF 文件并通过调用从文件对象获取输入的 createImageInputStream 方法来创建图像流。
ImageInputStream iis = ImageIO.createImageInputStream(new File("sample.gif"));
// 创建 ImageReader 类的对象,访问方法 getImageReaders,该方法返回一个 Iterator,其中包含所有当前注册的 ImageReader,这些 ImageReader 声称能够解码提供的 Object,通常是 ImageInputStream。
ImageReader reader = ImageIO.getImageReaders(iis).next();
// 调用 setInput 方法,将要使用的输入源设置为给定的 ImageInputStream 或其他对象。
reader.setInput(iis, false);
// 通过调用 getNumImages 方法获取图像中的帧数。
int framesCount = reader.getNumImages(true);
// 循环遍历所有帧。
for (int frameIdx = 0; frameIdx < framesCount; frameIdx++) {
// 在多帧图像的情况下,通过调用 insertBreak 方法在每个新页面之前插入一个分节符。
if (frameIdx != 0)
builder.insertBreak(BreakType.SECTION_BREAK_NEW_PAGE);
// 通过调用 read 方法选择活动帧。
BufferedImage image = reader.read(frameIdx);
// 通过调用 getPageSetup 方法并将其分配给 PageSetup 类对象来获取当前页面设置。
PageSetup ps = builder.getPageSetup();
// 调用 setPageWidth 方法来设置页面宽度。
ps.setPageWidth(ConvertUtil.pixelToPoint(image.getWidth()));
// setPageHeight 方法将保存页面高度。
ps.setPageHeight(ConvertUtil.pixelToPoint(image.getHeight()));
// 调用 insertImage 方法将图像插入到文档中,并将其定位在页面的左上角。
builder.insertImage(
image,
RelativeHorizontalPosition.PAGE,
0,
RelativeVerticalPosition.PAGE,
0,
ps.getPageWidth(),
ps.getPageHeight(),
WrapType.NONE);
}
if (iis != null) {
iis.close();
reader.dispose();
}
// 通过调用 save 方法将文件保存为 PDF 文件格式。
doc.save("gifToPdf.pdf");
输出如下图所示:

获得免费许可证
您可以使用 免费临时许可证 来试用 API,而不受评估限制。
加起来
我们将在这里结束这篇博文。您已经了解了如何使用几行源代码在 Java 中将 GIF 转换为 PDF。此外,您可以安装此文档处理库以编程方式构建 GIF 到 PDF 转换器。此外,您可以访问 文档 以了解其他有趣的功能。
此外,我们建议您遵循我们的 入门指南。
最后,conholdate.com 正在撰写新的博客文章。因此,请保持联系以获取定期更新。
问一个问题
您可以在我们的 论坛 上告诉我们您的问题或疑问。
常见问题
如何将 GIF 转换为 PDF?
您可以使用此 Java 库 以编程方式执行 GIF 到 PDF 的转换。此外,请访问此 链接 以获取应对片段。