JAVA 实现PDF转图片(spire.pdf.free版)

1. 引入 jar

导入方法1:

手动引入。将Free Spire.PDF for Java下载到本地,解压,找到lib文件夹下的Spire.PDF.jar文件。在IDEA中打开如下界面,将本地路径中的jar文件引入Java程序:

导入方法2:如果您想通过 Maven安装,则可以在 pom.xml 文件中添加以下代码导入 JAR 文件。

|-------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | <``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 格式。

完整代码

|-------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | 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 格式。

完整代码

|-------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | 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"``)); ``} } |

效果图

相关推荐
用户298698530142 小时前
Word 文档字符级格式化:Java 实现方案详解
java·后端
笨鸟飞不快2 小时前
从单个服务到集群:一次完整的性能排查复盘
java·前端
荣码2 小时前
用Streamlit给AI应用套个界面,10行代码出Web页面
java·python
SamDeepThinking2 小时前
Java微服务练习方式
java·后端·微服务
朦胧之13 小时前
AI 编程-老项目改造篇
java·前端·后端
程序猿大帅17 小时前
别再只当调包侠了:用 Spring AI 落地 Function Calling,我被大模型硬生生砸出了三个大坑
java
程序员晓琪18 小时前
约定大于配置:基于 Java 包名自动生成 API 版本路由的最佳实践
java·spring boot·后端
Flittly19 小时前
【AgentScope Java新手村系列】(11)中断与恢复
java·spring boot·spring
众少成多积小致巨19 小时前
JNI (Java Native Interface) 技术手册中文参考指南
android·java·c++
东坡白菜19 小时前
破局全栈:前端开发的Java入门实战记录—JPA(2)
java·后端