将 PDF 文档转换为 JPEG 或 PNG 等图像格式有多种用途,例如,您可以更方便地在社交媒体上分享内容、嵌入到网站中,或者在演示文稿中使用。将 PDF 转换为图像还可以避免因打印机不完全支持 PDF 格式而导致的问题。本文将介绍如何在 Java 中使用 Spire.PDF for Java 将 PDF 转换为 JPEG 或 PNG 格式。
安装 Spire.PDF for Java
首先,您需要在 Java 程序中添加 Spire.Pdf.jar 文件作为依赖项。JAR 文件可以从此链接下载。 如果您使用 Maven,则可以将以下代码添加到项目的 pom.xml 文件中,从而在应用程序中导入 JAR 文件。
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>https://repo.e-iceblue.cn/repository/maven-public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.pdf</artifactId>
<version>11.4.2</version>
</dependency>
</dependencies>
Java 将 PDF 转换为 JPEG
在 Java 中将 PDF 转换为 JPEG 图像可以通过 Spire.PDF for Java 提供的 PdfDocument.saveAsImage() 方法来实现。此方法将 PDF 文档中的特定页面转换为 BufferedImage 对象,然后您可以将其保存为 .jpg 格式的文件。下面是将 PDF 文档的每一页转换为 JPEG 图像文件的具体步骤。
- 创建一个 PdfDocument 对象。
- 使用 PdfDocument.loadFromFile() 方法加载 PDF 文件。
- 遍历 PDF 文档中的每一页。
- 使用 PdfDocument.saveAsImage() 方法将当前页面转换为 BufferedImage 对象。
- 重新创建一个与转换后的图像相同宽度和高度的 RGB 类型 BufferedImage。
- 使用 ImageIO.write() 方法将图像数据保存为 .jpg 文件。
- Java
import com.spire.pdf.PdfDocument;
import com.spire.pdf.graphics.PdfImageType;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
public class ConvertPdfToJpeg {
public static void main(String[] args) throws IOException {
// 创建一个 PdfDocument 的实例
PdfDocument pdf = new PdfDocument();
// 加载示例 PDF 文档
pdf.loadFromFile("/示例文件.pdf");
// 遍历 PDF 中的所有页面
for (int i = 0; i < pdf.getPages().getCount(); i++) {
// 将当前页面保存为 BufferedImage 对象
BufferedImage image = pdf.saveAsImage(i, PdfImageType.Bitmap, 300, 300);
// 使用 RGB 类型重新创建一个 BufferedImage 对象
BufferedImage newImg = new BufferedImage(image.getWidth(), image.getHeight(), BufferedImage.TYPE_INT_RGB);
newImg.getGraphics().drawImage(image, 0, 0, null);
// 将图片信息写为 .jpg 文件
File file = new File("/PDF转JPEG/" + String.format(("JPEG-%d.jpg"), i));
ImageIO.write(newImg, "JPEG", file);
}
pdf.close();
}
}
Java 将 PDF 转换为 PNG
将 PDF 文档的页面转换为 PNG 格式的图片的步骤基本与将其保存为 JPEG 文件相同,也会用到 PdfDocument.saveAsImage() 和 ImageIO.write() 方法。使用它们将 PDF 转换为 PNG 的详细步骤如下。
- 创建 PdfDocument 对象。
- 使用 PdfDocument.loadFromFile() 方法加载 PDF 文件。
- 遍历 PDF 文档中的每一页。
- 使用 PdfDocument.saveAsImage() 方法将特定页面转换为 BufferedImage 对象。
- 使用 ImageIO.write() 方法将图像数据保存为 .png 文件。
- Java
import com.spire.pdf.*;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
public class ConvertPdfToPng {
public static void main(String[] args) throws IOException {
// 创建一个 PdfDocument 的实例
PdfDocument doc = new PdfDocument();
// 加载一个示例 PDF 文档
doc.loadFromFile("/示例文件.pdf");
// 使生成的 PNG 文件背景透明
//doc.getConvertOptions().setPdfToImageOptions(0);
// 遍历 PDF 中的所有页面
for (int i = 0; i < doc.getPages().getCount(); i++) {
// 将当前页面保存为 BufferedImage 对象
BufferedImage image = doc.saveAsImage(i);
// 将图片信息写为 .png 文件
File file = new File("/PDF转PNG/" + String.format("PNG-%d.png", i));
ImageIO.write(image, "png", file);
}
doc.close();
}
}
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。