将 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 文件。
com.e-iceblue
e-iceblue
https://repo.e-iceblue.cn/repository/maven-public/
e-iceblue
spire.pdf
11.2.3
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 天的临时许可证。