PDF 格式因其跨平台支持而统治着数字文档的世界。但是,在某些情况下,您必须将 PDF 文件转换为其他文件格式。对于这种情况,本文介绍了如何将 PDF 文件转换为流行的图像格式。特别是,您将学习如何使用 Java 将 PDF 转换为 PNG、JPEG、BMP 和 TIFF 图像。
- Java PDF 到图像转换器 API
- 使用 Java 将 PDF 文件转换为 PNG
- 使用 Java 将 PDF 文件转换为 JPEG
- 使用 Java 将 PDF 转换为 BMP
- 使用 Java 将 PDF 转换为 TIFF
- 获取免费 API 许可证
Java PDF 到图像转换器 API
在本文中,我们将使用 Aspose.PDF for Java,它旨在创建新的以及操作现有的 PDF 文件。该 API 提供了将 PDF 文件高保真地转换为各种文档和图像格式的功能。您可以 下载 API 的 JAR 或使用以下 Maven 配置安装它。
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>20.12</version>
<classifier>jdk17</classifier>
</dependency>
使用 Java 将 PDF 文件转换为 PNG 图像
在 PDF 到 PNG 的转换中,PDF 文件的每一页都被转换成一个单独的 PNG 图像。因此,您可以根据您的方案转换 PDF 的单个页面、所有页面或特定页面。以下是使用 Java 将 PDF 文件转换为 PNG 的步骤。
- 使用 Document 类加载 PDF 文件。
- 使用 Document.getPages() 方法循环浏览 PDF 文件中的页面。
- 为每个 PNG 图像创建 OutputStream 对象。
- 实例化 Resolution 类以设置渲染图像的分辨率。
- 创建一个 PngDevice 类的对象,并使用 Resolution 对象对其进行初始化。
- 使用 PngDevice.process(Document.getPages().getItem(Index), OutputStream) 方法将 PDF 页面转换为 PNG 图像。
- 关闭文件流。
以下代码示例展示了如何使用 Java 将 PDF 转换为 PNG 图像。
// 如需完整的示例和数据文件,请访问 https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// 打开文档
Document pdfDocument = new Document("input.pdf");
// 循环浏览 PDF 文件的所有页面
for (int pageCount = 1; pageCount <= pdfDocument.getPages().size(); pageCount++) {
// 创建流对象以保存输出图像
java.io.OutputStream imageStream = new java.io.FileOutputStream("Converted_Image" + pageCount + ".png");
// 创建分辨率对象
Resolution resolution = new Resolution(300);
// 创建具有特定分辨率的 PngDevice 对象
PngDevice pngDevice = new PngDevice(resolution);
// 转换特定页面并将图像保存到流
pngDevice.process(pdfDocument.getPages().get_Item(pageCount), imageStream);
// 关闭流
imageStream.close();
}
使用 Java 将 PDF 文件转换为 JPEG 图像
以下是使用 Java 将 PDF 文件中的页面转换为 JPEG 图像的步骤。
- 使用 Document 类加载 PDF 文件。
- 使用 Document.getPages() 方法循环浏览 PDF 中的页面。
- 为每个 JPEG 图像创建 OutputStream 对象。
- 实例化 Resolution 类来设置渲染图像的分辨率。
- 创建一个 JpegDevice 类的对象并使用 Resolution 对象对其进行初始化。
- 使用 JpegDevice.process(Document.getPages().getItem(Index), OutputStream) 方法将 PDF 页面转换为 JPEG 图像。
- 关闭文件流。
以下代码示例展示了如何使用 Java 将 PDF 页面转换为 JPEG 图像。
// 如需完整的示例和数据文件,请访问 https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// 打开文档
Document pdfDocument = new Document("input.pdf");
// 循环浏览 PDF 文件的所有页面
for (int pageCount = 1; pageCount <= pdfDocument.getPages().size(); pageCount++)
{
// 创建流对象以保存输出图像
java.io.OutputStream imageStream = new java.io.FileOutputStream("Converted_Image" + pageCount + ".jpg");
// 创建分辨率对象
Resolution resolution = new Resolution(300);
// 创建 JpegDevice 对象,其中第二个参数指示结果图像的质量
JpegDevice jpegDevice = new JpegDevice(resolution, 100);
// 转换特定页面并将图像保存到流
jpegDevice.process(pdfDocument.getPages().get_Item(pageCount), imageStream);
// 关闭流
imageStream.close();
}
使用 Java 将 PDF 转换为 BMP 图像
以下是在 Java 中执行 PDF 到 BMP 转换的步骤。
- 使用 Document 类加载 PDF 文件。
- 使用 Document.getPages() 方法遍历 PDF 页面。
- 为每个 BMP 图像创建 OutputStream 对象。
- 实例化 Resolution 类以设置渲染图像的分辨率。
- 创建 BmpDevice 类的对象并使用 Resolution 对象对其进行初始化。
- 使用 BmpDevice.process(Document.getPages().getItem(Index), OutputStream) 方法将 PDF 页面转换为 BMP 图像。
- 关闭文件流。
以下代码示例展示了如何在 Java 中执行 PDF 到 BMP 图像的转换。
// 如需完整的示例和数据文件,请访问 https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// 打开文档
Document pdfDocument = new Document("input.pdf");
// 循环浏览 PDF 文件的所有页面
for (int pageCount = 1; pageCount <= pdfDocument.getPages().size(); pageCount++) {
// 创建流对象以保存输出图像
java.io.OutputStream imageStream = new java.io.FileOutputStream("Converted_Image" + pageCount + ".bmp");
// 创建分辨率对象
Resolution resolution = new Resolution(300);
// 创建具有特定分辨率的 BmpDevice 对象
BmpDevice bmpDevice = new BmpDevice(resolution);
// 转换特定页面并将图像保存到流
bmpDevice.process(pdfDocument.getPages().get_Item(pageCount), imageStream);
// 关闭流
imageStream.close();
}
使用 Java 将 PDF 转换为 TIFF
与上述光栅图像格式相比,TIFF 是一种多页图像格式。因此,您可以一次将 PDF 文件转换为 TIFF,而无需遍历每一页。另一方面,您还可以指定 PDF 中要转换为 TIFF 的页面范围。以下是使用 Java 将 PDF 文件转换为 TIFF 的步骤。
- 使用 Document 类加载 PDF 文件。
- 为 TIFF 图像创建 OutputStream 对象。
- 实例化 Resolution 类以设置渲染图像的分辨率。
- 使用 TiffSettings 类设置附加选项,例如压缩类型、颜色深度等。
- 创建一个 TiffDevice 类的对象并使用 Resolution 对象对其进行初始化。
- 使用 TiffDevice.process(Document, OutputStream) 方法(或其他 重载方法 指定页面范围)将 PDF 转换为 TIFF。
- 关闭文件流。
以下代码示例展示了如何使用 Java 将 PDF 文件转换为 TIFF 图像。
// 如需完整的示例和数据文件,请访问 https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// 打开文档
Document pdfDocument = new Document("input.pdf");
// 创建流对象以保存输出图像
java.io.OutputStream imageStream = new java.io.FileOutputStream("Converted_Image.tiff");
// 创建分辨率对象
Resolution resolution = new Resolution(300);
// 实例化 TiffSettings 对象
TiffSettings tiffSettings = new TiffSettings();
// 设置结果 TIFF 图像的压缩
tiffSettings.setCompression(CompressionType.CCITT4);
// 设置结果图像的颜色深度
tiffSettings.setDepth(ColorDepth.Format8bpp);
// 将 PDF 渲染为 TIFF 时跳过空白页
tiffSettings.setSkipBlankPages(true);
// 创建具有特定分辨率的 TiffDevice 对象
TiffDevice tiffDevice = new TiffDevice(resolution, tiffSettings);
// 转换特定页面 (第1页)并将图像保存到流
tiffDevice.process(pdfDocument, 1, 1, imageStream);
// 关闭流
imageStream.close();
获取免费 API 许可证
您可以免费试用该 API,不受评估限制。 获取免费的临时许可证 现在。
结论
在本文中,您学习了如何使用 Java 将 PDF 文件转换为图像格式。步骤和代码示例展示了如何执行 PDF 到 PNG、PDF 到 JPEG、PDF 到 BMP 和 PDF 到 TIFF 的转换。您可以使用 documentation 探索有关 Java PDF API 的更多信息。
也可以看看
信息:使用 Aspose JPG to PPT 或 PNG to PPT 转换器,您可以从简单的图像生成 PowerPoint 演示文稿。