一,pdf图片转换工具

import org.apache.http.entity.ContentType;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.rendering.PDFRenderer;
import org.springframework.mock.web.MockMultipartFile;
import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;import javax.annotation.Resource;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;/*** pdf转换成图片工具类*/
@Component
public class PdfConvertPictureUtil {@Resourceprivate MultipartFileToFile multipartFileToFile;@Resourceprivate OOSUtils oosUtils;/*** pdf转换图片* bucketName 桶名* objectKey key* @param fileInput*/public List<File> pdf2png(MultipartFile fileInput) {String originalFilename = fileInput.getOriginalFilename();//String currentUserGroupType = transferUtil.getCurrentEnterpriseId().toString();//当前用户所在的企业id
//        String currentUserGroupType = "1562634732836425730";//当前用户所在的企业
//        String original = originalFilename.split("\\.")[0];
//        String path=currentUserGroupType+"/"+original+"/";//企业文件夹+pdf文件名List<File> fileList=new ArrayList<>();PDDocument doc=null;try {File file = multipartFileToFile.ultipartFileToFile(fileInput);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, 144); // Windows native DPI// BufferedImage srcImage = resize(image, 240, 240);//产生缩略图File file1 = new File("./file" + "/" + originalFilename + "_" + (i + 1) + "." + "jpg");//写出的文件ImageIO.write(image, "jpg", file1);fileList.add(file1);
//                String key=path+original + "_" + (i + 1) + "." + "jpg";
//                oosUtils.putObjectFile1(bucketName,key,file1);}} catch (Exception e) {e.printStackTrace();}finally {if (doc != null) {try {doc.close();} catch (IOException ioe){ioe.printStackTrace();}}}return fileList;}/*** File文件转为MultipartFile文件** @param file* @return*/private MultipartFile getMultipartFile(File file) {if(!file.exists()){throw new RuntimeException("文件不存在");}FileInputStream fileInputStream = null;MultipartFile multipartFile = null;try {fileInputStream = new FileInputStream(file);multipartFile = new MockMultipartFile(file.getName(), file.getName(),ContentType.APPLICATION_OCTET_STREAM.toString(), fileInputStream);} catch (Exception e) {e.printStackTrace();}return multipartFile;}}

二 删除临时文件 方

  public void deleteFiles(File file ) {if (!file.exists()) {System.out.println("文件:" + file+ "不存在!");}if (!file.delete()) System.out.println("文件:" + "删除失败!");System.out.println("文件:" + "删除成功");}

删除临时文件方法二

  /*** 删除临时文件** @param files*/public void deleteFiles(Set<Map<String, String>> files) {for (Map<String, String> file : files) {File f = new File(file.get("path"));if (!f.exists()) {System.out.println("文件:" + file.get("name") + "不存在!");continue;}if (!f.delete()) System.out.println("文件:" + file.get("name") + "删除失败!");System.out.println("文件:" + file.get("name") + "删除成功");}}

上传PDF文件转换图片工具类相关推荐

  1. 上传pdf文件转图片翻页小工具,遇到JSP form中type=file的文件上传及后台Part处理问题(后台取值为null)

    最近公司要求做一个上传pdf文件后将文件转换为翻页图片的小工具,我是这么做的 1.先找图片翻页的demo,微软有现有的产品turn.js感兴趣的可以自己看一下 ,有双页的有单页的,因为我司要求手机端使 ...

  2. PHP文件上传,下载,Sql工具类!

    PHP文件上传,下载,Sql工具类! 对文件大小,文件类型 同名覆盖 中文转码的操作,可直接使用 前台 upload.html <!DOCTYPE html> <html> & ...

  3. mactxt文件如何转换成html,最佳的用于Mac上的PDF文件转换到HTML文件的转换器

    您是否正在寻找一种在Mac上将PDF文件转换为HTML文件的方法?您经常因为这个情况感到苦恼吗?有许多在线服务和桌面应用程序都可以帮助您将PDF文件转换为HTML文件.市面上有几款不同的PDF转换软件 ...

  4. php上传pdf文件错误,php上传pdf文件,一些特殊字符丢失

    php上传pdf文件,上传到服务器上发现pdf文件里面一些特殊字符不显示了,将pdf文件压缩成zip文件上传后,提示压缩包损坏 求高手解答 回复讨论(解决方案) php上传文件时,不会破坏文件内容.这 ...

  5. pdf上传及预览;file上传pdf文件及预览;vue上传pdf文件及预览;vue-pdf预览pdf文件

    需求:上传pdf文件,并点击可以打开预览.使用input的file功能即可完成,预览只需要跳转到pdf的url地址即可.还可以配合vue-pdf直接预览,点击看这篇. 以下代码可直接复制使用!!!有效 ...

  6. 免费PDF批量转换图片工具

    免费PDF批量转换图片工具 免费PDF批量转换图片工具 程序界面 测试效果 程序说明 使用说明 使用注意 开发环境 测试环境 程序版本 源文章出处 下载地址(百度云) 免费PDF批量转换图片工具 一款 ...

  7. java pdf文件转换图片,pdf文件转图片(java实现)

    项目中pdf文件太大,在手机端打开缓慢.需要将pdf文件转换成图片.加载比较快,增加用户体验.话不多说,直接上干货. 一.在pom引入依赖的jar org.apache.pdfbox fontbox ...

  8. elment上传pdf文件至服务器,基于element-ui组件手动实现单选和上传功能.pdf

    基基于于element-ui组组件件手手动动实实现现单单选选和和上上传传功功能能 在用户使用过程中提出一键导入的功能,需求如下:点击导入按钮显示提示框,然后是单选框以及上传按钮.这篇 文章 要介绍了基 ...

  9. Java实现七牛云上传下载文件或图片

    文章目录 写在前面 一.准备工作 1.1.为什么选择七牛云? 1.2.七牛云注册 二.java操作七牛云对象存储下载 2.1.pom.xml引入依赖 2.2.上传下载具体代码 三.具体业务例子(七牛云 ...

最新文章

  1. EventBus的使用(一看就懂)
  2. 按键精灵安卓怎么可以获取屏幕上的数字_安卓11来了,感受一下
  3. MyBatis运行原理(三)接口式编程及创建代理对象原理分析
  4. VC,VB程序button、图标样式美化
  5. 动态反射——Load,LoadFrom和LoadFile
  6. SANS研究所:7大最危险的攻击技术介绍
  7. 无线模块在“水盾”防溺水安全预警系统的应用
  8. 汉仪尚巍手书可以商用吗_【商用车维修】夏天修空调可以撑起全年修车收入的一半,你会了吗?...
  9. ASP.NET从字符串中查找字符出现次数的方法
  10. LeetCode —— 146. LRU缓存机制(Python)
  11. python常用模块-time和datatime
  12. 【报告分享】2022金融科技趋势研究报告.pdf(附下载链接)
  13. html5盒子层级设置,解决CSS中子元素z-index与父元素兄弟节点的层级问题
  14. 免费素材大荟萃:免费图标和UI设计
  15. Android:PopupWindow、自定义菜单
  16. python项目如何打包_python项目怎么打包运行?
  17. Echart词云图自定义形状,少词显示不全,配置项相关设置
  18. 虚拟机黑裙加载硬盘_适合练手,在虚拟机中安装黑群晖,想要组建NAS服务器的看这里...
  19. 压摆率和上升时间的区别
  20. Docker配置阿里云镜像加速器以及镜像的常用操作命令

热门文章

  1. 项目:信息系统项目管理和开发经验分享
  2. 比 Nginx 性能更强的下一代 Web 服务器
  3. 螺栓拧紧的力学分析以及如何选型?
  4. 马里兰大学计算机专业水平,马里兰大学帕克分校计算机工程本科专业.pdf
  5. 苹果智能拨号软件_‎App Store 上的“CeleDial 智能拨号”
  6. 解决 Threejs 无法加载 GLTF 模型的材质,报错 Unknown extension “KHR_materials_pbrSpecularGlossiness
  7. “2018可信区块链峰会”8大分论坛精彩提要!
  8. 青铜三人行之两数之和
  9. QCoreApplication
  10. openwrt的静态路由