ppt转换图片方法 ,采用Jacob调用本地COM组件转换,其中作为服务器供用户上传时,如果用户传ppt是有密码的则会使ppt一直停留在输入密码状态,导致其它用户无法使用,这时可以简单做个超时判断,关闭当前转换,具体代码如下:

public static void changeAsImage(String filePath, String exportPath, String imageFormat, int imageWidth,int imageHeight) {logger.info("filePath:{},exportPath:{}", filePath, exportPath);Map<String, Object> map = new HashMap<>();//作为超时判断用map.put("start", System.currentTimeMillis());new Thread(new Runnable() {public void run() {try {Thread.sleep(timeOut);//超时处理if (map != null && map.containsKey("start")) {logger.warn("有人采用密码ppt导入或者转换超时");map.clear();// 超时强制关闭String command = "taskkill /f /im office.exe";String command1 = "taskkill /f /im wpp.exe";String command2 = "taskkill /f /im POWERPNT.EXE";try {Runtime.getRuntime().exec(command2);Runtime.getRuntime().exec(command);Runtime.getRuntime().exec(command1);} catch (Exception e) {logger.warn("强制关闭出错{}",e.getMessage(),e);}}} catch (Exception e) {logger.warn("强制关闭出错{}",e.getMessage(),e);} finally {// 释放内存ComThread.Release();}}}).start();ActiveXComponent component = null;Dispatch presentation = null;try {ComThread.InitSTA();// 打开pptcomponent = new ActiveXComponent("PowerPoint.Application");map.put("component", component);// 获得演讲稿对象Dispatch presentations = component.getProperty("Presentations").toDispatch();// 打开一个ppt 并返回一个当前文档个对象presentation = Dispatch.call(presentations, "Open", new Variant(filePath), new Variant(0), new Variant(-1), new Variant(0)).toDispatch();Dispatch.call(presentation, "Export", new Variant(exportPath), new Variant(imageFormat),new Variant(imageWidth), new Variant(imageHeight));//成功清除超时状态map.clear();} catch (Throwable e) {logger.error("ppt转换图片出错:{}" , e.getMessage(), e);throw new RespException(e.getMessage(), e);} finally {if (component != null) {component.invoke("Quit", new Variant[0]);}// 释放内存ComThread.Release();}}

ppt转换图片及有密码情况处理相关推荐

  1. 如何将PPT转换成手机APP

    尽管在安卓系统上有像Office Suite.Documents To Go.金山WPS Office这些强大的办公软件.但在很多时候某些原因下我们还是有想把PPT演示稿转成APK安装包的需求.比如发 ...

  2. 如何将PPT转换成安卓APK安装包

       尽管在安卓系统上有像Office Suite.Documents To Go.金山WPS Office这些强大的办公软件.但在很多时候某些原因下我们还是有想把PPT演示稿转成APK安装包的需求. ...

  3. 如何把ppt转换成word文档

    遇到需要将ppt转换成word格式的情况该怎么办?直接复制粘贴?这样不仅会影响外观,甚至会丢失一些内容.那么我们怎么样才能将ppt完整的转换成word格式呢? 将ppt转换称成word文档之前我们先下 ...

  4. PDF转换Word、Excel、PPT、图片,PDF去水印,PDF拆分该怎么做到这些

    PDF转换Word.Excel.PPT.图片,PDF去水印,PDF拆分这些该如何做到?其实下载一个PDF转换工具就可以了,现在很多PDF转换工具都具备这些功能. PDF转换工具:okfone PDF转 ...

  5. excel转word_pdf转word软件永久jpg图片ppt转换excel编辑器压缩合并拆分去水印,加入自律圈即可获得!!!...

    南山说造价 昨天 pdf转word软件永久jpg图片ppt转换excel编辑器压缩合并拆分去水印,加入自律圈即可获得!!! 这不是一个普通的早起打卡圈,而是一个带早起打卡功能的终身学习圈,我每天推送不 ...

  6. PPT在线预览 转换为图片实现方案 Apache POI 实现时踩坑:含嵌入文件ppt转换报错 ArrayStoreException

    前言 背景:最近项目需要实现PPT预览功能,以及项目APP上浏览ppt,初步方案是ppt转为图片. 实现 1.ppt转为pdf,然后pdf转为图片 该种实现,先将ppt转为pdf文件,实现方式有很多, ...

  7. php把幻灯片ppt转换成视频格式,将ppt幻灯片制作成视频文件 PPT转视频格式操作步骤...

    今天有一个大事件,那就是高考第一天,本来想感慨一番,算了,小编不走这个风格!今年最热门的还是高考语文作文题,看完广东作文题才发现00后都已经成年了,而小编前几天还装嫩过了个六一来着!不管啦,小编就在这 ...

  8. ppt转换成pdf转换器免费版

    为什么80%的码农都做不了架构师?>>> ppt转换成pdf转换器免费版 ppt文件怎么转换为pdf文件?这样的问题对于很多电脑新手来说,显然不是一件容易的事情.大部分的用户遇到此类 ...

  9. ppt转换成pdf免费软件

    为什么80%的码农都做不了架构师?>>> ppt转换成pdf免费软件 导读:使用 ppt转换成pdf转换器当然是转换ppt文件的一个方法,但毕竟好的转换工具并不多,对于从事大量文案处 ...

最新文章

  1. Android Manager
  2. 全面开放270多项AI能力!百度大脑背后的技术到底有多强?
  3. Github 本周最有趣的 10 款「机器学习」开源项目 | PaperDaily #32
  4. VTK:可视化之Cursor2D
  5. android:descendantFocusability用法简析
  6. 使用SQL语句获取SQL Server数据库登录用户权限
  7. php 数组对比 unset,如何区分PHP中unset,array_splice的区别
  8. vi查找和替换字符串
  9. BOM之window对象
  10. php代码提示助手,laravel自动补全助手ide-helper安置及配置
  11. Mybatis_day4_Mybatis的延迟加载
  12. memcached php 测试,php一致性hash性能测试(flexihash/memcache/memcached)
  13. JavaWeb项目架构之FastDFS分布式文件系统
  14. mysql 日期 明天_mysql 获取昨天日期、今天日期、明天日期以及前一个小时和后一个小时的时间...
  15. html input粘贴功能,原生js实现复制粘贴功能
  16. c语言选择结构程序设计实验总结,C语言程序设计,选择结构程序设计实验
  17. cmake的aux_source_directory
  18. Android应用安全
  19. Redis持久化数据之RDB和AOF
  20. Openvas的安装调试

热门文章

  1. 使用CSS3实现流星雨动画教程
  2. APISpace 人像比对API
  3. 为什么要学习HashMap的底层原理?
  4. 英语九百句 English900(含录音下载)
  5. 手机如何测量长度?为什么现在很少携带尺子了
  6. 硬盘数据丢失怎么恢复?分享固态硬盘恢复数据的4个方法
  7. String字符串的相关语法及JPI
  8. 大数据智能营销系统的作用
  9. String.length() 与 String.getBytes().length
  10. 游戏开发之Unity2021智能导航地图烘焙