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

效果图

相关推荐
是立不是利14 分钟前
大文件导致请求被拒的连锁反应
开发语言·前端·javascript
shehuiyuelaiyuehao24 分钟前
算法46,分治快排,排序数组
java·算法·排序算法·排序
野生技术架构师32 分钟前
1200 道 JAVA 面试题(各大企业常见面试题及答案)
java·开发语言
careathers35 分钟前
【数据结构】栈
java·数据结构
“AI国潮设计-小江”42 分钟前
【Python/SDXL实战】潮汕国潮IP视觉落地:普宁美食猫IP & 创意甜品设计(附ComfyUI工作流思路)
开发语言·人工智能·python·prompt·aigc
邪修king1 小时前
Re:Linux系统篇(二十六):文件系统(二):Ext 文件系统底层详解:从 inode、块组到软硬链接,结合 Windows 讲透文件管理本质
android·java·linux
Yyyyyy~1 小时前
【java】类和对象
java·开发语言
草莓熊Lotso1 小时前
【Redis 进阶】主从复制深度解析:从配置落地到 PSYNC 同步原理
linux·开发语言·网络·数据库·redis·缓存·php
Joy T1 小时前
Spring AI 2.0 进阶入门:Workflow、Routing、Task State 与可控 Agent
开发语言·人工智能·workflow·routing·springai·orchestrator·evaluator
重生之小比特2 小时前
【Java SE】抽象类和接口
java·开发语言