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

效果图

相关推荐
平凡但不平庸的码农几秒前
Go Channel详解
开发语言·后端·golang
NE_STOP3 分钟前
Redis--Redis分布式系统的原理与实操
java
laomocoder4 分钟前
Project-Nexus-WAN-跨公网Agent对话
开发语言·php
子安柠5 分钟前
深入理解 Go 语言文件操作:从基础到最佳实践
开发语言·后端·golang
代码中介商6 分钟前
C++文件流操作全解析
开发语言·c++
Forget_85506 分钟前
RHEL——Kubernetes容器编排平台(二)
java·开发语言
Achou.Wang9 分钟前
go语言中使用等待组(waitgroups)和内存屏障(barriers)进行同步
开发语言·后端·golang
MATLAB代码顾问18 分钟前
【智能优化】鹈鹕优化算法(POA)原理与Python实现
开发语言·python·算法
lsx20240620 分钟前
C 标准库 - `<stdio.h>`
开发语言
得闲喝茶25 分钟前
JavaScript在数据处理的应用
开发语言·前端·javascript·经验分享·笔记