PDF 格式的文档在很多设备和平台上都能支持展示,但图片格式的文件在某些任务中兼容性更好,并且应用相对更为广泛。当需要将 PDF 文件以图片的方式显示时,我们通常可以通过将 PDF 文档格式转为目标图片格式的方式来实现。本篇文章,将介绍如何使用 Spire.PDF for Java 把 PDF 转为图片格式,内容将从以下两个 Java 示例来展示:
安装 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>10.10.0</version>
</dependency>
</dependencies>
将整个 PDF 文档转换为多个图片
以下是实现转换的主要步骤:
- 创建 PdfDocument 类的对象,并通过 PdfDocument.loadFromFile(String filename) 方法加载 PDF 文档。
- 循环遍历 PDF 每一页,并通过 PdfDocument.saveAsImage(int pageIndex, PdfImageType type, int dpiX, int dpiY) 方法将 PDF 页面保存为图片格式。
- 指定图片格式为 .png 格式。
- Java
import com.spire.pdf.*;
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 PDFtoImage {
public static void main(String[] args)throws IOException {
//实例化PdfDocument类的对象
PdfDocument pdf = new PdfDocument();
//加载PDF文档
pdf.loadFromFile("sample.pdf");
//遍历PDF每一页,保存为图片
for (int i = 0; i < pdf.getPages().getCount(); i++) {
//将页面保存为图片,并设置DPI分辨率
BufferedImage image = pdf.saveAsImage(i, PdfImageType.Bitmap,500,500);
//将图片保存为png格式
File file = new File( String.format(("ToImage-img-%d.png"), i));
ImageIO.write(image, "PNG", file);
}
pdf.close();
}
}
将指定 PDF 页面转换为图片
以下是实现格式转换的主要步骤:
- 创建 PdfDocument 类的实例。
- 通过 PdfDocument.loadFromFile(String filename) 方法加载 PDF 文档。
- 调用 PdfDocument.saveAsImage(int pageIndex, PdfImageType type, int dpiX, int dpiY) 方法将 PDF 指定页面保存为图片。
- 设置图片格式为 .png 格式。
- Java
import com.spire.pdf.*;
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 PDFtoImage2 {
public static void main(String[] args) throws IOException {
//创建PdfDocument类的实例
PdfDocument pdf = new PdfDocument();
//加载PDF文档
pdf.loadFromFile("testfile.pdf");
//将PDF第3页保存为图片,并设置图片DPI分辨率
BufferedImage image= pdf.saveAsImage(2, PdfImageType.Bitmap,500,500);
//保存为png格式
ImageIO.write(image, "PNG", new File("outputfile/ToPNG.png"));
}
}
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请 该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。 获取有效期 30 天的临时许可证。