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

效果图

相关推荐
思茂信息3 分钟前
CST电动车EMC仿真(二)——电机控制器MCU的EMC仿真
开发语言·javascript·单片机·嵌入式硬件·cst·电磁仿真
❀͜͡傀儡师9 分钟前
使用DelayQueue 分布式延时队列,干掉定时任务!
java·分布式·delayqueue·spingboot
失散1314 分钟前
分布式专题——55 ElasticSearch性能调优最佳实践
java·分布式·elasticsearch·架构
开始了码27 分钟前
关于qt运行程序点击几下未响应的原因
开发语言·qt
QT 小鲜肉28 分钟前
【QT/C++】Qt样式设置之CSS知识(系统性概括)
linux·开发语言·css·c++·笔记·qt
洛克希德马丁35 分钟前
Qt配置安卓开发环境
android·开发语言·qt
我要升天!35 分钟前
QT-- 理解项目文件
开发语言·数据库·qt
jonyleek36 分钟前
【JVS更新日志】低代码、APS排产、物联网、企业计划11.12更新说明!
java·物联网·低代码·前端框架·团队开发
keke_俩个科1 小时前
实战派 JMeter 指南:核心功能、并发压测实操与常见问题解决方案
java·jmeter·spring·spring cloud·tomcat
青鱼入云1 小时前
IDEA源码阅读神器-Diagram工具
java·ide·intellij-idea