使用Java实现word文档转图片 在线预览
项目上有个需求,要实现上传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文档转图片 在线预览相关推荐
- java doc转图片_使用Java实现word文档转图片 在线预览
[Java] 纯文本查看 复制代码/** * licence 验证 * @return * @throws Exception */ public static boolean getLicense( ...
- word文档转html在线预览Demo
demo地址:https://download.csdn.net/download/caidingnu/11390310
- 文档转换、在线预览的几种方式以及推荐
互联网时代的繁荣期,在线教育犹如三国中的巴蜀之地,无论是各大巨头还是中小软件.都希望在此领域分的一口肥肉. 其中,关于文档转换.一直是开发在线教育软件让人头痛的事. 在这先说一下文档转换以及预览的几种 ...
- Java向word文档添加图片水印
前言: 水印可以说是一个标识,有时我们希望向文档中插入公司名称作为水印,或者将公司logo插入到文档中作为水印.先来看看本地word文档如何插水印吧! 然后选择图片水印选择图片添加即可. 那么想要通过 ...
- .net oss存储 oss api接口开发 office文档上传在线预览oss存储 office文档上传oss 阿里云oss接口开发
word在线预览api接口 office在线预览接口 word转图片 ppt在线预览 excel在线预览 预览支持的文件格式:word(doc,docx),excel(xls,xlsx),ppt(pp ...
- java 使用poi将PPT转为图片,在线预览PPT
在线预览PPT,我的思路为java 使用poi将PPT转为图片,图片存储到指定的文件夹下面,然后返回生成的图片名称集合,将图片路径遍历到前台的html标签上,用HTML前台模仿画一个PPT框架,操作图 ...
- Angualr6+ 将数据转换整合PDF文档导出或在线预览
前言:需要将自己的数据单或是图片等转换成PDF格式,可以在线预览与下载:所需pdfmakes和ng2-pdf-viewer:并且解决pdfmakes中文与中文符号乱码问题: 一.安装Pdfmakes ...
- java实现word文档转pdf在线浏览
用到的jar jacob.jar http://mvnrepository.com/artifact/net.sf.jacob-project/jacob /*** doc转pdf在线浏览* */pu ...
- python环绕文字_Java 设置 Word 文档中图片文字环绕方式
Java 设置 Word 文档中图片文字环绕方式 在Word文档中插入图片时,选择合理的图片文字环绕方式可以使图片的展示效果更好,也能使页面的排版更加美观.本文就将介绍如何使用Free Spire.D ...
- 使用java将word文档docx,doc(包含图形,文本框)完美转换成所有格式图片(pdf,png,gif,jpeg等等)
使用java将word文档docx,doc(包含图形,文本框,图片等)完美转换成所有格式图片(pdf,png,gif,jpeg等等)下文中附带代码,效果图等 思路 使用到的包 实现代码 效果图: 思路 ...
最新文章
- Android网络框架-OkHttp3.0总结
- 求两个数的最大公因数
- android xml: xliff:g
- 中国第一软件开发_我第一次开发企业软件中学到的知识
- Diverse Team(CF-988A)
- CSDN-Markdown--基本语法功能效果
- PhoneGap录像 以及 录音功能 简单代码实现3
- 导入文件按钮_如何将PPT软件功能配置导入另一台电脑
- tidb mysql主从复制_如何配置MySQL数据库主从复制
- 利用Python获取数组或列表中最大的N个数及其索引
- adb命令——简单常用命令介绍:截图——adb shell screencap -p /sdcard/123.png...
- C语言知识点笔记完全整理
- JS 模拟鼠标自动点击【浏览器内】
- 5月Github上最热门的数据科学和机器学习项目TOP5
- L2-048 寻宝图(25分)
- vue+element 在ie和360浏览器的兼容问题
- switch基础用法
- 光纤熔接机日常使用说明
- mac上使用dbeaver设置字体大小
- 真无线蓝牙耳机哪个延迟最低?低延迟蓝牙耳机推荐
热门文章
- easyui combogrid组件 setValue 影响
- RFID第二版答案-第六章
- html超链接调用js函数,在html中引入外部js文件,并调用带参函数的方法
- Win10登陆界面卡住,进去后无法打开网络相关的设置,谷歌浏览器无法上网
- part2:服务器接收企业微信用户消息
- 财经大数据可视化Vdc平台_为何要使用大数据可视化平台
- php正则国外手机号码,php--最新正则(手机号码)
- php应用CPU使用率100%解决思路
- 多张图片合成一张jpg工具_如何将两张图片合成一张图片?
- 华为路由器配置静态路由默认路由