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"``)); ``} } |

效果图

相关推荐
古法老登瞎折腾6 小时前
大数据智能运维实战(十一):运维 MCP 的工程化——权限、限流、审计与错误处理
java·大数据·运维·spring ai·mcp
学逆向的6 小时前
C 堆区内存管理
c语言·开发语言·网络安全
huoyueyi6 小时前
《融天AI-APP从0到1开发实录》
开发语言·lua
智能运维指南6 小时前
研制过程“两张皮“怎么破:研制一体化支撑平台的定位、能力边界与落地前提
java·前端·人工智能·嘉为蓝鲸
yz_aiks7 小时前
Spring AI 2.1 ChatMemory 已过时用什么替代:迁移到 Session Memory 实战(JDBC 存储与会话压缩)
java·spring boot·大模型·ai agent·spring ai
金銀銅鐵7 小时前
[Java] 用 GUI 展示 EnumMap 增删键值对时的内部变化
java·后端·ai编程
学长毕设7 小时前
基于SpringBoot的上门洗车服务系统设计与实现
java·spring boot·后端
jason成都7 小时前
RTKLIB-Java 多基线联合RTK:FIX率从0%到91.5%的三层根因修复
java·gnss·rtklib·rtklib_java
OpenAnolis小助手8 小时前
PHP 两个严重漏洞曝光,龙蜥社区 24 小时完成 3 版本修复
开发语言·操作系统·php·龙蜥社区
鱼宵8 小时前
Stream 终端操作一次讲透:collect、count、reduce 怎么选
java·stream·终端操作