java 实现pdf转化为批量图片(两步走)
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转化为批量图片(两步走)相关推荐
- Java去除PDF文件中的图片
场景:调用第三方的接口取得的PDF文件流中有个不想要的图片,跟第三方接口沟通无果的情况下,自己想办法去掉吧. 解决思路:打算用PDFBox去掉PDF中的图片,但是在代码中resources.getIm ...
- Java实现pdf转化为png图片
从https://java.net/projects/pdf-renderer下载最新的PDFRenderer-0.9.1.jar Java实现代码为: package com.hq.png;impo ...
- java实现PDF转tif(图片清晰度高)
分享一个pdf转换tif的方法.转换后图片格式小!清晰度还很高! <!-- pdf转tif --><dependency><groupId>org.icepdf.o ...
- java实现pdf生成,包括合并图片
参考帖子: 这位大佬的帖子必读,因为涉及到pdf创建表单的教程: java使用itext填充pdf模板,超简单教学,有手就行 以下是学习当中参考的帖子: java pdf域插入img_java实现在p ...
- 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 ...
- 使用python将pdf转化为长图片
源文章:PDF转图片再转长图.python.pil_qq_41256425的博客-CSDN博客_pdf转长图 python 之所以发这个是因为源文章中的库升级以后这个代码没法跑了,所以更新了新的代码: ...
- java与jasper模板_ireport中使用java进行pdf转化,jasper作为模板
/** * 导出pdf * @param list */ public void pdfExport(List list) { File file = new File("E:\\1.jas ...
- pdf转化成图片格式
引言 知识要及时总结,放到自己的仓库. 概述 公司项目一个小任务,需要将pdf格式的文件转化为png图片格式.一开始的想法就是java一定有jar包实现了这个功能,只要查到这个jar包即可.经过度娘的 ...
- java pdf转图片拼接_java实现pdf按页转换为图片
本文实例为大家分享了java实现pdf按页转换为图片的具体代码,供大家参考,具体内容如下 本程序是利用jacob.jar包实现的,关于jacob.jar的配置见我上一篇文章,程序中可配置参数选择图片清 ...
最新文章
- Android View 的onDraw 和 draw 一定会调用吗?
- JQuery Ajax 与 Knockout.js的结合
- 计算机专业毕业求职,计算机专业毕业生求职简历
- Sentinel熔断限流器工作原理
- FPGA---多按键消抖检测
- 新兴IT企业特斯拉(三)——Model S
- html写16进制编辑器,浏览器中的16进制编辑器 Hexed.it
- 360浏览器极速模式pdf文件不能预览问题
- tp5.0 百度编辑器上传图片到阿里云oss
- 【题解】LuoGu5369:[PKUSC2018]最大前缀和
- Centos安装beef
- 小提琴统计图_箱形图和小提琴图
- 智慧景区“数字孪生“三维可视化运营管理平台-景区“元宇宙”的数字
- c# 使用System.Media.SoundPlayer播放wav格式的声音文件
- 电脑族应该怎么保护眼睛
- windows7 专业版安装中文语言包
- 仙剑奇侠传五服务器列表为空,仙剑奇侠传五
- 蜜友工作室来博客园开博了
- 尚硅谷_在线教育_Nuxt整合错误
- 股神巴菲特的成功之道