java 实现pdf转化为批量图片(两步走)

微信小程序先看pdf批量转图片效果

1.导入jar包

方法1:在maven中导入

    <dependency><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox</artifactId><version>2.0.12</version></dependency>

方法2:在官网下载 手动导入
官网地址: https://mvnrepository.com/artifact/org.apache.pdfbox/pdfbox

2.代码实现

public class PDFTransformImage {/*** main方法*/public void main(String[] args) {PDFTransformImage pdfTransformImage = new PDFTransformImage();pdfTransformImage.pdfToImage("pdf路径(要带上pdf的文件名)", "输出图片路径(路径下找study-0.png的文件)", 150, UUID.randomUUID());}/*** PDF文件转PNG图片,全部页数** @param PdfFilePath  pdf完整路径* @param dstImgFolder 图片存放的文件夹* @param dpi          dpi越大转换后越清晰,相对转换速度越慢* @return 返回转换后图片集合list*/public List<File> pdfToImage(String PdfFilePath, String dstImgFolder, int dpi, UUID uuid) {//        UUID uuid = UUID.randomUUID();String uuId = uuid.toString();System.out.println(uuId);File file = new File(PdfFilePath);//定义集合保存返回图片数据List<File> fileList = new ArrayList<File>();@SuppressWarnings("resource")//抑制警告PDDocument pdDocument = new PDDocument();try {//String imagePDFName = file.getName().substring(0, dot); // 获取图片文件名String imgFolderPath = null;if (dstImgFolder.equals("")) {imgFolderPath = dstImgFolder + File.separator + uuId;// 获取图片存放的文件夹路径} else {imgFolderPath = dstImgFolder + File.separator + uuId;}if (createDirectory(imgFolderPath)) {pdDocument = PDDocument.load(file);PDFRenderer renderer = new PDFRenderer(pdDocument);/* dpi越大转换后越清晰,相对转换速度越慢 */PdfReader reader = new PdfReader(PdfFilePath);System.out.println("pdf总共多少页-----" + reader.getNumberOfPages());StringBuffer imgFilePath = null;for (int i = 0; i < reader.getNumberOfPages(); i++) {String imgFilePathPrefix = imgFolderPath + File.separator + "study";
//                    System.out.println("imgFilePathPrefix=====" + imgFilePathPrefix);imgFilePath = new StringBuffer();imgFilePath.append(imgFilePathPrefix);imgFilePath.append("-");imgFilePath.append(String.valueOf(i));imgFilePath.append(".jpg");File dstFile = new File(imgFilePath.toString());BufferedImage image = renderer.renderImageWithDPI(i, dpi);ImageIO.write(image, "png", dstFile);fileList.add(dstFile);}System.out.println("PDF文档转PNG图片成功!");return fileList;} else {System.out.println("PDF文档转PNG图片失败:" + "创建" + imgFolderPath + "失败");return null;}} catch (IOException e) {e.printStackTrace();return null;}}//创建文件夹private boolean createDirectory(String folder) {File dir = new File(folder);if (dir.exists()) {return true;} else {return dir.mkdirs();}}//删除文件夹//param folderPath 文件夹完整绝对路径public void delFolder(String folderPath) {try {delAllFile(folderPath); //删除完里面所有内容String filePath = folderPath;filePath = filePath.toString();java.io.File myFilePath = new java.io.File(filePath);myFilePath.delete(); //删除空文件夹} catch (Exception e) {e.printStackTrace();}}//删除指定文件夹下所有文件//param path 文件夹完整绝对路径public boolean delAllFile(String path) {boolean flag = false;File file = new File(path);if (!file.exists()) {return flag;}if (!file.isDirectory()) {return flag;}String[] tempList = file.list();File temp = null;for (int i = 0; i < tempList.length; i++) {if (path.endsWith(File.separator)) {temp = new File(path + tempList[i]);} else {temp = new File(path + File.separator + tempList[i]);}if (temp.isFile()) {temp.delete();}if (temp.isDirectory()) {delAllFile(path + "/" + tempList[i]);//先删除文件夹里面的文件delFolder(path + "/" + tempList[i]);//再删除空文件夹flag = true;}}return flag;}}

java 实现pdf转化为批量图片(两步走)相关推荐

  1. Java去除PDF文件中的图片

    场景:调用第三方的接口取得的PDF文件流中有个不想要的图片,跟第三方接口沟通无果的情况下,自己想办法去掉吧. 解决思路:打算用PDFBox去掉PDF中的图片,但是在代码中resources.getIm ...

  2. Java实现pdf转化为png图片

    从https://java.net/projects/pdf-renderer下载最新的PDFRenderer-0.9.1.jar Java实现代码为: package com.hq.png;impo ...

  3. java实现PDF转tif(图片清晰度高)

    分享一个pdf转换tif的方法.转换后图片格式小!清晰度还很高! <!-- pdf转tif --><dependency><groupId>org.icepdf.o ...

  4. java实现pdf生成,包括合并图片

    参考帖子: 这位大佬的帖子必读,因为涉及到pdf创建表单的教程: java使用itext填充pdf模板,超简单教学,有手就行 以下是学习当中参考的帖子: java pdf域插入img_java实现在p ...

  5. Java 将PDF 转为Word、图片、SVG、XPS、Html、PDF/A

    本文将介绍通过Java编程来实现PDF文档转换的方法.包括: 1. PDF转为Word 2. PDF转为图片 3. PDF转为Html 4. PDF转为SVG 4.1 将PDF每一页转为单个的SVG4 ...

  6. 使用python将pdf转化为长图片

    源文章:PDF转图片再转长图.python.pil_qq_41256425的博客-CSDN博客_pdf转长图 python 之所以发这个是因为源文章中的库升级以后这个代码没法跑了,所以更新了新的代码: ...

  7. java与jasper模板_ireport中使用java进行pdf转化,jasper作为模板

    /** * 导出pdf * @param list */ public void pdfExport(List list) { File file = new File("E:\\1.jas ...

  8. pdf转化成图片格式

    引言 知识要及时总结,放到自己的仓库. 概述 公司项目一个小任务,需要将pdf格式的文件转化为png图片格式.一开始的想法就是java一定有jar包实现了这个功能,只要查到这个jar包即可.经过度娘的 ...

  9. java pdf转图片拼接_java实现pdf按页转换为图片

    本文实例为大家分享了java实现pdf按页转换为图片的具体代码,供大家参考,具体内容如下 本程序是利用jacob.jar包实现的,关于jacob.jar的配置见我上一篇文章,程序中可配置参数选择图片清 ...

最新文章

  1. Android View 的onDraw 和 draw 一定会调用吗?
  2. JQuery Ajax 与 Knockout.js的结合
  3. 计算机专业毕业求职,计算机专业毕业生求职简历
  4. Sentinel熔断限流器工作原理
  5. FPGA---多按键消抖检测
  6. 新兴IT企业特斯拉(三)——Model S
  7. html写16进制编辑器,浏览器中的16进制编辑器 Hexed.it
  8. 360浏览器极速模式pdf文件不能预览问题
  9. tp5.0 百度编辑器上传图片到阿里云oss
  10. 【题解】LuoGu5369:[PKUSC2018]最大前缀和
  11. Centos安装beef
  12. 小提琴统计图_箱形图和小提琴图
  13. 智慧景区“数字孪生“三维可视化运营管理平台-景区“元宇宙”的数字
  14. c# 使用System.Media.SoundPlayer播放wav格式的声音文件
  15. 电脑族应该怎么保护眼睛
  16. windows7 专业版安装中文语言包
  17. 仙剑奇侠传五服务器列表为空,仙剑奇侠传五
  18. 蜜友工作室来博客园开博了
  19. 尚硅谷_在线教育_Nuxt整合错误
  20. 股神巴菲特的成功之道

热门文章

  1. idea安装EasyCode插件
  2. 【python编程】使用python获取机器所在网络的公网IP(第一种方法)
  3. 如何找回word文档的打开密码
  4. 数据库学习之MySQL (九)—— 数学函数 字符串函数 CONCAT TRIM PAD
  5. 【LIDC-IDRI】 CT 肺结节 XML 标记特征良恶性标签PKL转储(一)
  6. FPGA编程中打拍的目的
  7. API+DevOps:华为云API Arts一体化平台,端到端呵护您的API
  8. 【视频学习】大神教你玩转Excel,收获高效人生
  9. 基于ARDUINO汽车智能防碰撞控制系统设计(毕业设计)
  10. 给员工的一封信:在职业生涯规划的框架中工作