在线预览word文档

  • 在线预览word文档
  • Java 使用wps将word文件转换pdf文件
  • 转成PDF
  • 在线预览word(转成pdf)前端展示

欢迎来提更好的意见

在线预览word文档

昨天下午组长告诉我,你去研究一下在线预览word文档,带着一脸懵去上网查资料,csdn,开源,知乎等。最常见的四种文件预览方法:

  1. kkfileview 文件在线预览 ,是在spring boot上搭建的,因为我项目没用到微服务所以放弃了解;
  2. officetohtml纯前端的方式,我不是专业的前端,虽然工作中我也是一个人负责前后端(前端:layui框架+js)等页面展示+后端,但是我尽量能后端编写就不会把值复杂化传给前端。所以我放弃了解 ;
  3. JODConverter ,这个里面提到一个可以用openoffice,实现原理就是:通过第三方工具openoffice,将word、excel、ppt、txt等文件转换为pdf文件流;这样就可以在浏览器上实现预览了。我也去了解并下载软件,但是下载实在太忙,我又放弃了,想有没有更简单的方法:“不下载软件,不去部署环境,最多就是加个包”,所以又放弃了解;
  4. Aspose ,这个忘记为啥没再去了解了哈哈;
  5. 最后在各种java群里问,有没有更简单的方式,结果的确有个超级简单的方法,Java 使用wps将word文件转换pdf文件

Java 使用wps将word文件转换pdf文件

贴上代码:

   /**** 判断需要转化文件的类型(Excel、Word、ppt)** @param inputFile*/public String convertToPDF(String inputFile) {//判断原文件是否存在File file = new File(inputFile);if (file.exists()) {String kind = getFileSufix(inputFile);if (kind.equals("pdf")) {return inputFile;//原文件就是PDF文件}String pdfFile = inputFile.substring(0, inputFile.lastIndexOf(".")) + ".pdf";if (kind.equals("doc")||kind.equals("docx")||kind.equals("txt")) {wordToPDF(inputFile,pdfFile);}else if (kind.equals("ppt")||kind.equals("pptx")||kind.equals("pptm")||kind.equals("ppsx")) {pptToPDF(inputFile,pdfFile);}else if(kind.equals("xls")||kind.equals("xlsx")){ExToPDF(inputFile,pdfFile);}else{return inputFile;//原文件是其它格式文件}//返回创建的pdfreturn pdfFile;} else {//System.out.println("原文件不存在!");return inputFile;}}

依赖包:

  <dependency><groupId>net.sf.jacob-project</groupId><artifactId>jacob</artifactId><version>1.14.3</version></dependency><dependency><groupId>com.jacob</groupId><artifactId>1.0.0</artifactId><scope>system</scope><systemPath>K:\jacob-1.20\jacob.jar</systemPath></dependency>

记得还有下载:jacob-1.20.zip 解压以后,会看到五个文件,但是都不用管它,只需要里面的jar,我是window的所以用…x64.dll。分别放到1: --dll文件 ,放到自己的tomacat/bin下面 2:–dll文件 放到C:/windows/system32下面 3 --dll ,jar 这个我因为我项目下面没有WEB-INF/lib,所以我并没有添加。
启动项目,报错了,,,,,,,,

java.lang.NoClassDefFoundError: Could not initialize class com.jacob.com.ComThread

然后看到一篇博主的就改了一下就好了,目前还没更新到线上,本地测试是可以的。

转成PDF

1、贴代码:

//设置响应内容类型为PDF类型response.setContentType("application/pdf;charset=UTF-8");ServletOutputStream sos = response.getOutputStream();//不在网页中打开,而是直接下载该文件,下载后的文件名为“Example.pdf”File pdf = null;FileInputStream fis = null;byte[] buffer = new byte[1024*1024];if(filePath!=null){     //pdf文件路径pdf = new File(filePath);response.setContentLength((int) pdf.length());fis = new FileInputStream(pdf);int readBytes = -1;while((readBytes = fis.read(buffer, 0, 1024*1024)) != -1){sos.write(buffer, 0, 1024*1024);}sos.close();fis.close();}

在线预览word(转成pdf)前端展示

前端js请求并把id带到后台,用

   String id = (String) request.getSession().getAttribute("页面名称xxxxx");页面用iframe打开<iframe id="test1" style="width: 100%;height: 80vh;"></iframe>js请求://pdf预览
$(".withExport ").on("click",function(){
var fileId= $(this).attr("fileId");
$.get( contextPath + 'xxx/pdfs?'+'id='+fileId, {}, function(str){var addIndex = layer.open({type: 1,title:'pdf',content: str,area: ["70%","750px"]});$.get( contextPath + '/selectPDFs?'+ 'id='+fileId, {}, function(str){$("#test1").attr("src",contextPath + "/pdf/web/viewer.html?file=/ams/displayPDFs?");});
});
});

以上就是在线预览word和pdf的思路,如果需要代码,可以留言,我整理文档发给你。溜啦溜啦,还要部署到线上测试。

在线预览word文档相关推荐

  1. Springboot 超简单实现在线预览,Word文档 doc、xlsx、pdf、txt等

    前言 PDF.TXT 只要资源可访问,根本就不需要进行任何处理,直接访问查看就完事了. 也是因为这个PDF可以直接查看(现在浏览器基本支持了),那么我们实现Word文档在线预览,其实也是 把WORD文 ...

  2. 调用office web 365接口实现在线预览word文档,PDF,PPT

    我项目中是直接用iframe显示: <iframe id="iframe_src"  scrolling="auto"  width="100% ...

  3. web项目 在线预览doc文档

    在线预览word文档 前端代码 后台controller代码(使用Aspose.Words) 前端代码 在前端发送ajax请求,并展示后端生成的html临时文件 showFile:function(m ...

  4. Android实现在线预览office文档(Word,Pdf,excel,PPT.txt等格式)

    1.概述 我们都知道,Android原生并没有提供浏览office文档格式的相关Api,在安卓端想要实现在线预览office文档的功能显然很是复杂,我们手机安装QQ浏览器时,在手机打开office文档 ...

  5. web项目使用OpenOffice实现前端在线预览office文档(超详细)

    超详细的OpenOffice实现前端在线预览office文档记录 最近搞一个数字化共享平台,是一个java web项目,使用框架ssm,其中项目有一个需要在线预览PDF.excle.ppt.word文 ...

  6. 前端预览word文档实现

    记录前端预览word文档的需求实现 方案一:XDOC文档预览 可以使用XDOC文档预览云服务来进行word文件的在线预览,直接去网站体验就知道怎么用了. https://view.xdocin.com ...

  7. 安卓WebView在线预览office文档功能实现

    *## 在线预览office文档 我就直奔主题吧!估计是目前最简单的了吧! 我也搜了很多资料不外乎2种 使用谷歌文档服务(google国内使用不了,各种试就是显示不出来,) mWebView.load ...

  8. 加载js文件,在线预览pdf文档

    加载js文件,在线预览pdf文档 效果演示 环境要求 JS文件下载 Jsp页面导入js文件 jquery.media.js源码 效果演示 首先,先展示效果图 环境要求 Tomcat8.5 [注意]:T ...

  9. 移动端h5页面预览word文档

    在web端预览word文档,可以使用iframe来实现.但由于兼容性问题,并不能使用iframe在安卓和ios上预览文件 经测试发现,mammoth插件可以实现该功能 <!DOCTYPE htm ...

最新文章

  1. java 复制 粘贴_在java中如何实现复制,粘贴,剪切
  2. Spring+ActiveMQ配置
  3. 网联能否一统天下,取决于三个问题
  4. java.jsp.jdbc_Java-jsp使用JDBC访问数据库时显示乱码是怎么回事?
  5. 《MySQL——join语句优化tips》
  6. python使用GUI(图形用户界面)
  7. 是银弹吗?业务基线方法论
  8. 前端基础git(一)-git入门代码版本控制介绍
  9. 鸿蒙王者荣耀想要转区吗,王者荣耀:跨系统角色转移功能终于上线,想要成功转区,这九点常识必须要知道!...
  10. C语言随笔小算法:取出一个任意整数的每一位数值
  11. iOS:菜单控制器和菜单项:UIMenuController和UIMenuItem
  12. Tensorflow相关学习笔记(一)GPU处理相关
  13. 使用 Google Analytics 跟踪 JavaScript 错误
  14. DAG图中的关键路径算法
  15. Netron可视化网络结构
  16. 《东周列国志》第七十八回 会夹谷孔子却齐 堕三都闻人伏法
  17. 腾讯的“小弟”长大了
  18. 进行淘宝商品比价的定向爬虫
  19. python编码及初体验
  20. 蝴蝶效应,混沌理论与股市

热门文章

  1. idea实现svn拉分支和合并分支的教程
  2. java实现短信验证码发送(基于阿里云短信sdk)
  3. 代码中终止python程序
  4. 【在线工具】在线视频压缩工具
  5. CAD中用多重插入块加密的图纸怎么分解?
  6. Win10+VMplayer12中U盘无法挂载解决
  7. English语法_动名词-概述
  8. 2023 易语言 MuX云切片转码系统前端源码
  9. VPS2105 替代金升阳模块 无光耦 DCDC 电源控制器 4-100V 小体积
  10. Navcat15Premium激活失败