PDF文件和图片文件,这是两种完全不一样的格式,可是有的时候这两种格式却是有相互转换的需要,大家在工作中遇到PDF文件转图片文件的问题时是怎么解决的呢?你们使用的方法简单方便吗?如果很麻烦的话,不妨来了解一下这篇文章分享的方法哦。本文将介绍如何通过Java应用程序快速高效地将PDF转为图片格式。一起来看看吧!
- 将整个 PDF 文档转换为多个图片
- 将指定 PDF 页面转换为图片
代码编译环境:
IntelliJ IDEA 2019(jdk 1.8.0)
PDF Jar包:Free Spire.PDF for Java 5.1.0
1.引入jar包
导入方法1:
手动引入。将Free Spire.PDF for Java下载到本地,解压,找到lib文件夹下的Spire.PDF.jar文件。在IDEA中打开如下界面,将本地路径中的jar文件引入Java程序:
导入方法2:如果您想通过 Maven安装,则可以在 pom.xml 文件中添加以下代码导入 JAR 文件。- <repositories>
- <repository>
- <id>com.e-iceblue</id>
- <url>https://repo.e-iceblue.cn/repository/maven-public/</url>
- </repository>
- </repositories>
- <dependencies>
- <dependency>
- <groupId>e-iceblue</groupId>
- <artifactId>spire.pdf.free</artifactId>
- <version>5.1.0</version>
- </dependency>
- </dependencies>
复制代码 将整个 PDF 文档转换为多个图片
仅需三步即可将整个 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("都江堰.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 PDFtoImage {
- public static void main(String[] args) throws IOException {
- //创建PdfDocument类的实例
- PdfDocument pdf = new PdfDocument();
- //加载PDF文档
- pdf.loadFromFile("都江堰.pdf");
- //将PDF第1页保存为图片,并设置图片DPI分辨率
- BufferedImage image= pdf.saveAsImage(0, PdfImageType.Bitmap,500,500);
- //保存为png格式
- ImageIO.write(image, "PNG", new File("ToPNG.png"));
- }
- }
复制代码 效果图

—本文完—
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |