本文整理了一个PDF转图片的工具类,支持单页及多页的转换!

首先需要引入相关的jar包

 <dependency><!--PDF操作工具包--><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox-app</artifactId><version>2.0.16</version></dependency>

实现代码如下:

public class PDFtoImages {/*** 转换单页pdf* @param filename PDF文件名*/public static String pdftoPng(String filename) {// 将pdf装图片 并且自定义图片得格式大小File file = new File(filename);String fileName = file.getName();int dot = fileName.lastIndexOf('.');if ((dot > -1) && (dot < (fileName.length() - 1))) {filename = fileName.substring(0, dot);}try {PDDocument doc = PDDocument.load(file);PDFRenderer renderer = new PDFRenderer(doc);BufferedImage image = renderer.renderImageWithDPI(0, 124);//为了方便,暂时写死File imageFile = new File("E:\\pdftoimges\\"+filename+".png");ImageIO.write(image, "png", imageFile);return imageFile.getPath();} catch (IOException e) {e.printStackTrace();}return null;}public static void pdftoimage(String filepath) {File file = new File(filepath);try {PDDocument doc = PDDocument.load(file);PDFRenderer renderer = new PDFRenderer(doc);int pageCount = doc.getNumberOfPages();for (int i = 0; i < pageCount; i++) {BufferedImage image = renderer.renderImageWithDPI(i, 296);int size = i+1;//          BufferedImage image = renderer.renderImage(i, 2.5f);ImageIO.write(image, "PNG", new File("E:\\pdftoimges\\png\\测试第"+size+"页.png"));}} catch (IOException e) {e.printStackTrace();}}

测试

public static void main(String[] args) {String filename ="E:\\pdf\\测试.pdf";//pdftoimage(filename);String imagePath = pdftoPng(filename);System.out.println(imagePath);}

java实现PDF转图片功能,附实例源码!相关推荐

  1. 【Android数据存储】ContentProvider详细介绍(附实例源码)

    1.ContentProvider是什么? ContentProvider--内容提供者.它是一个类,这个类主要是对Android系统中进行共享的数据进行包装,并提供了一组统一的访问接口供其他程序调用 ...

  2. java 摄像头 win7_JAVA摄像头调用方法_实例源码介绍—Win7

    JAVA摄像头调用_实例源码介绍-Win7. 本人菜鸟级人物,由于要搞个人脸识别登录(JAVACV),百度谷歌了一下午,找了网上简单的样例代码来试,可是老是调试不过,出现CaptureDeviceMa ...

  3. C语言3D矢量操作有关的功能(附完整源码)

    3D矢量操作有关的功能 3D矢量数据类型定义 geometry_datatypes.h 3D矢量操作有关的功能以下几个接口 3D矢量操作有关的功能的完整源码(定义,实现,main函数测试) 3D矢量数 ...

  4. Java公式编辑器开发思路,附项目源码

    第一篇:脑图篇 1.1 手绘 Spring 架构脑图 1.2 手绘 Spring5 架构脑图 1.3 手绘 Spring Security 架构脑图 1.4 手绘 Spring Boot 架构脑图 1 ...

  5. java 教室借用管理系统_[内附完整源码和文档] 基于JAVA语言的学生选课信息管理系统...

    摘 要 本系统运用Java面向对象的方法设计而成. 近年来,学生选课系统越来越在高校学生群体中得到普及,其所承担的功能也变得越来越丰富,所起到的作用也变得越来越重要,在被学校学生重视的同时,也意味着它 ...

  6. 基于JAVA的校园二手交易平台(附:源码 论文 数据库文件)

    开发背景 随着全世界互联网技术的不断发展,各种基于互联网技术的网络应用不断涌现,网络技术正在不断的深入人们的生活.人们从Internet上获取信息.享受生活.交流感情.网上工作等.Internet正在 ...

  7. 基于Java的项目物业管理系统(附:源码课件)

    项目背景: 在最近几年,我国的物业管理行业发生了极其飞速的发展.物业管理行业有客户众多.系统设备繁杂.覆盖范围巨大的特点,针对这些特点,建立一个优秀的物业管理系统,动态的管理物业并整合优化各种相关资源 ...

  8. 基于Java的项目人力资源管理系统【附:源码课件】

    项目背景 近年来,随着国内市场需求不断扩大,企业之间的竞争也在逐渐加剧.为了实现长期盈利,以及占领更多市场份额的目标,许多企业开始将重心放在对内部的管理上,加强对人力资源的管理是很多企业关注的重点.本 ...

  9. 基于JAVA的网上购书系统(附:源码 论文 项目运行视频)

    摘要 在当今的社会中, 随着社会经济的快速发展以及计算机网络技术和通讯技术的快速成长,网络应用领域也一天天扩大,网络中的新鲜事物层出不穷.电子商务的发展增加了许多商业交易的平台,借助于这种互联网平台, ...

最新文章

  1. 八、LaTex中的表格
  2. OSSIM下部署HIDS
  3. python字典可以切片吗_7.map(感觉跟python中的字典有点像)数组,切片(make)傻傻分不清楚,多多指点...
  4. 132. Leetcode 461. 汉明距离 (位运算-汉明距离相关题目)
  5. 面试官:我想用Nginx提升系统10倍性能,你有哪些建议?
  6. 马鞍山职业计算机考试,2020年职业适应性(技能)测试纲要
  7. array,arraylist,string的总结
  8. 数据结构——进制转换(10—n)
  9. 存储芯片在智能化产业链中扮演的角色将更加重要
  10. MariaDB-5.5.56 主主复制+keepalived高可用
  11. Omnet 4.2.2 errorList
  12. 一文了解数据库索引:哈希、B-Tree 与 LSM
  13. spring-第十四篇之资源访问Resource接口
  14. 数据库、数据库系统、数据库管理系统三者的区别
  15. SQL查询语句精华大全
  16. sop流程图模板_标准作业流程SOP详解,附流程图绘制规范,不愁不会画!
  17. java is alphabetic_java中的java.lang.Character类 – 方法| 2 - Break易站
  18. Android状态栏添加QS快捷开关
  19. 【杂篇 · 电脑】买R9000P以来遇到的解决的和未解决的问题汇总
  20. 对曲线的坐标的积分的斯托克斯公式+参数定积分法

热门文章

  1. Hexo-Matery主题细致美化
  2. scratch编程密室逃脱
  3. excel查找并返回多行数据
  4. 什么是Rest风格的Api?
  5. Non-Interactive Guessing Number
  6. php 蓝奏网盘上传文件,教给大家一个蓝奏云高级玩法,如何把文件一键秒上传到蓝奏云网盘...
  7. Java工具类-获取请求ip/浏览器/操作系统/浏览器版本
  8. 百度人脸识别API调用实现
  9. 面向医疗数据的差分隐私保护
  10. python复利计算_如何让Python复利计算器给出正确的答案