项目上有个需求,要实现上传word,预览的时候用word每一页的图片进行预览。

一共有两种方法。第一种想到的方法是将word先转换为pdf,然后将pdf的每一页都保存为图片;第二种方法是将word直接转换为图片。

在第一种方式实现的过程中发现在文档页数变大时,转pdf时间较长,所以直接使用word转图片方法。

主要使用 aspose-words-*-jdk16.jar。破解版的jar是来自于这个大哥

    /*** licence 验证* @return* @throws Exception*/public static boolean getLicense() throws Exception {boolean result = false;try {InputStream is = com.aspose.words.Document.class.getResourceAsStream("/com.aspose.words.lic_2999.xml");License aposeLic = new License();aposeLic.setLicense(is);result = true;is.close();} catch (Exception e) {logger.error("License 获取失败");e.printStackTrace();throw e;}return result;}/***  文档转图片* @param inPath 传入文档地址* @param outDir 输出的图片文件夹地址*/public static void doc2Img(String inPath, String outDir){try {if (!getLicense()) {throw new Exception("com.aspose.words lic ERROR!");}logger.info(inPath + " -> " + outDir);long old = System.currentTimeMillis();// word文档Document doc = new Document(inPath);// 支持RTF HTML,OpenDocument, PDF,EPUB, XPS转换ImageSaveOptions options = new ImageSaveOptions(SaveFormat.PNG);int pageCount = doc.getPageCount();for (int i = 0; i < pageCount; i++) {File file = new File(outDir+"/"+i+".png");logger.info(outDir+"/"+i+".png");FileOutputStream os = new FileOutputStream(file);options.setPageIndex(i);doc.save(os, options);os.close();}long now = System.currentTimeMillis();logger.info("convert OK! " + ((now - old) / 1000.0) + "秒");} catch (Exception e) {e.printStackTrace();}}

在spring boot项目配置文件中配置文件存储目录为resource地址

spring:resources:static-locations: file:/D:/img_path/

在预览时只需要到对应的图片文件夹下找到相应的文档图片,按图片序号即可实现根据page size 分页预览的功能了,返回如下:

{"succeed": true,"model": {"list": ["http://192.168.250.247:8888/be62bd8c-0a1a-47f8-8abc-839c22c0072a/img/0.png","http://192.168.250.247:8888/be62bd8c-0a1a-47f8-8abc-839c22c0072a/img/1.png","http://192.168.250.247:8888/be62bd8c-0a1a-47f8-8abc-839c22c0072a/img/2.png"],"page": 1,"size": 3,"totalCount": 103,"totalPage": 35},"message": ""
}

实现功能,OVER。

使用Java实现word文档转图片 在线预览相关推荐

  1. java doc转图片_使用Java实现word文档转图片 在线预览

    [Java] 纯文本查看 复制代码/** * licence 验证 * @return * @throws Exception */ public static boolean getLicense( ...

  2. word文档转html在线预览Demo

    demo地址:https://download.csdn.net/download/caidingnu/11390310

  3. 文档转换、在线预览的几种方式以及推荐

    互联网时代的繁荣期,在线教育犹如三国中的巴蜀之地,无论是各大巨头还是中小软件.都希望在此领域分的一口肥肉. 其中,关于文档转换.一直是开发在线教育软件让人头痛的事. 在这先说一下文档转换以及预览的几种 ...

  4. Java向word文档添加图片水印

    前言: 水印可以说是一个标识,有时我们希望向文档中插入公司名称作为水印,或者将公司logo插入到文档中作为水印.先来看看本地word文档如何插水印吧! 然后选择图片水印选择图片添加即可. 那么想要通过 ...

  5. .net oss存储 oss api接口开发 office文档上传在线预览oss存储 office文档上传oss 阿里云oss接口开发

    word在线预览api接口 office在线预览接口 word转图片 ppt在线预览 excel在线预览 预览支持的文件格式:word(doc,docx),excel(xls,xlsx),ppt(pp ...

  6. java 使用poi将PPT转为图片,在线预览PPT

    在线预览PPT,我的思路为java 使用poi将PPT转为图片,图片存储到指定的文件夹下面,然后返回生成的图片名称集合,将图片路径遍历到前台的html标签上,用HTML前台模仿画一个PPT框架,操作图 ...

  7. Angualr6+ 将数据转换整合PDF文档导出或在线预览

    前言:需要将自己的数据单或是图片等转换成PDF格式,可以在线预览与下载:所需pdfmakes和ng2-pdf-viewer:并且解决pdfmakes中文与中文符号乱码问题: 一.安装Pdfmakes ...

  8. java实现word文档转pdf在线浏览

    用到的jar jacob.jar http://mvnrepository.com/artifact/net.sf.jacob-project/jacob /*** doc转pdf在线浏览* */pu ...

  9. python环绕文字_Java 设置 Word 文档中图片文字环绕方式

    Java 设置 Word 文档中图片文字环绕方式 在Word文档中插入图片时,选择合理的图片文字环绕方式可以使图片的展示效果更好,也能使页面的排版更加美观.本文就将介绍如何使用Free Spire.D ...

  10. 使用java将word文档docx,doc(包含图形,文本框)完美转换成所有格式图片(pdf,png,gif,jpeg等等)

    使用java将word文档docx,doc(包含图形,文本框,图片等)完美转换成所有格式图片(pdf,png,gif,jpeg等等)下文中附带代码,效果图等 思路 使用到的包 实现代码 效果图: 思路 ...

最新文章

  1. Android网络框架-OkHttp3.0总结
  2. 求两个数的最大公因数
  3. android xml: xliff:g
  4. 中国第一软件开发_我第一次开发企业软件中学到的知识
  5. Diverse Team(CF-988A)
  6. CSDN-Markdown--基本语法功能效果
  7. PhoneGap录像 以及 录音功能 简单代码实现3
  8. 导入文件按钮_如何将PPT软件功能配置导入另一台电脑
  9. tidb mysql主从复制_如何配置MySQL数据库主从复制
  10. 利用Python获取数组或列表中最大的N个数及其索引
  11. adb命令——简单常用命令介绍:截图——adb shell screencap -p /sdcard/123.png...
  12. C语言知识点笔记完全整理
  13. JS 模拟鼠标自动点击【浏览器内】
  14. 5月Github上最热门的数据科学和机器学习项目TOP5
  15. L2-048 寻宝图(25分)
  16. vue+element 在ie和360浏览器的兼容问题
  17. switch基础用法
  18. 光纤熔接机日常使用说明
  19. mac上使用dbeaver设置字体大小
  20. 真无线蓝牙耳机哪个延迟最低?低延迟蓝牙耳机推荐

热门文章

  1. easyui combogrid组件 setValue 影响
  2. RFID第二版答案-第六章
  3. html超链接调用js函数,在html中引入外部js文件,并调用带参函数的方法
  4. Win10登陆界面卡住,进去后无法打开网络相关的设置,谷歌浏览器无法上网
  5. part2:服务器接收企业微信用户消息
  6. 财经大数据可视化Vdc平台_为何要使用大数据可视化平台
  7. php正则国外手机号码,php--最新正则(手机号码)
  8. php应用CPU使用率100%解决思路
  9. 多张图片合成一张jpg工具_如何将两张图片合成一张图片?
  10. 华为路由器配置静态路由默认路由