本文整理了一个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. 页面可视化搭建工具前生今世
  2. 网络推广外包——企业委托网络推广外包公司提高网站流量和访问量
  3. stl的nth_element
  4. TypeScript 枚举指南
  5. 目标检测如何计算召回率_计算机视觉目标检测的框架与过程
  6. JavaWeb项目架构之NFS文件服务器
  7. STM32之端口复用与重映射
  8. nginx支持php5,配置nginx支持php
  9. 传说之下音乐计算机版,传说之下同人音乐
  10. Ubuntu16.04安装Shark-3.0.0
  11. pc机收集信息cpu\配置\网络信息
  12. autojs控制台美化
  13. SAXReader解析xml文件
  14. 程序员的年终总结,各种版本各种残
  15. JQuery学习——标签页(Tabs)
  16. 129. 求根节点到叶节点数字之和
  17. KL散度的含义与性质
  18. 部署-Mycat-Server-1.6.7.4安装与配置(CentOS 7.7)
  19. linux进程kill命令关不掉
  20. ISCC——部分题wp

热门文章

  1. 繁花盛开的夏天读后感
  2. 期末操作系统之HXL所给知识点(速成)
  3. HDMI转Displayport转换器支持4K分辨率
  4. 单片机炫彩灯实训报告_51单片机呼吸灯实验报告.doc
  5. 神威超级计算机配置,神威太湖轻型超级计算机配置和性能列表
  6. java 除法运算,向上与向下取整和四舍五入
  7. 给视频加字幕用什么软件简单?分享3个简单好用的软件
  8. xp系统dns服务器异常请稍后再试,xp系统网页“无法解析服务器的dns地址”的详细办法...
  9. vivox6android版本5.1,vivo X6的手机系统是什么?vivo X6能升级安卓5.0吗?
  10. mercury重置密码后服务器无响应,melogin.cn打不开的解决办法 水星路由器重置完无法上网...