最近公司项目需求需要在线预览word文档,并且不能在在线下载和编辑。在此记录我是如何做的。

针对word的在线预览网上大多给的解决方案就是先把word文件转成pdf,然后通过pdf.js在线预览pdf。

下面是详情详细的操作步骤;

1.springboot继承jodconverter把非pdf文件转成pdf

详细请查看我另一篇文章:spring boot2.X word转pdf_zenghu_10的博客-CSDN博客_springboot word转pdf

2.下载pdf.js所需文件并集成到spring boot

pdf.js下载地址:Getting Started

下载之后是这么个目录,把当前目录的文件以及文件夹copy到spring boot的statifc中,确保能通过域名加地址直接访问.

我是在static中创建了一个pdfjs文件夹,把所有文件都放到此文件夹中。

这是copy之后的情况。

3.使用pdf.js进行文件预览

pdf.js文件预览的关键是web中的viewer.html文件,只需要访问该文件,并把你要预览的pdf文件路径当做参数传递过去就可以实现预览啦。

例如:我的pdf文件路径为项目的static下面的/upload/works/course/1561101210883411_doc_to_pdf.pdf并且该文件可以直接通过http://localhost/upload/works/course/1561101210883411_doc_to_pdf.pdf路径进行访问。

预览是访问的地址就是http://localhost/pdfjs/web/viewer.html?file=/upload/works/course/1561101210883411_doc_to_pdf.pdf

效果图:

注意:如在预览中遇到“file origin does not match viewer”错误请把web文件夹下面的viewer.js文件中的此行注释掉

4.禁止下载和打印文件

由于pdf.js自带下载和打印功能,需要禁止下载和打印。

在处理该问题时我在网上也找了解决办法,好多都说把web文件夹下面的viewer.html中的Print和Download 2个button按钮隐藏掉就可以了,这种方式我试了,不好使,不知道是因为我版本比较新的问题还是怎么回事,目前我的pdf.js的版本为"pdfjs-2.0.943-dist"。

最终我的解决方案:在web文件夹中的viewer.js中把打印和下载的点击触发的click事件行为进行修改,触发click水事件时来提示禁止打印和下载,以此来完成禁止打印,下载。

至此结束!

spring boot2.X word在线预览 pdf.js相关推荐

  1. html5 pdf.js 使用方法,PDF 文件在线预览(pdf.js 使用教程)

    因项目开发需要在线展示 PDF文件,为解决 PDF文件 在浏览器打开后电子签章.电子签名等展示不全且部分浏览器兼容问题特利用pdf.js解决该问题: pdf.js框架为HTML5,无需任何本地支持,兼 ...

  2. pdf在线预览 pdf.js的使用

    1.官网:https://mozilla.github.io/pdf.js/ 2.使用方法 1) 通过官网,下载pdfJs插件包,放至项目中: window.open("./js/pdfJS ...

  3. 前端【vue】实现文档在线预览功能,在线预览pdf、word、xls、ppt等office文件

    前端江太公 前端实现文档在线预览功能 最直接的就是使用XDOC 文档云服务 XDOC可以实现预览以DataURI表示的DOC文档,此外XDOC还可以实现文本.带参数文本.html文本.json文本.公 ...

  4. office在线预览 word在线预览 .net在线预览 文件在线浏览接口

    office在线预览 word在线预览 excel在线预览 文件浏览接口服务 支持移动端浏览,只要能使用浏览器上网都可以使用,不需要安装任何第三方工具. 1.word在线预览 excel在线预览,.n ...

  5. android 在线预览pdf文件

    android原生webView不支持预览pdf文件,ios却可以,所以android想要实现在线预览webView要通过其他方法,有以下几种方法: 1.andorid原生自带的pdf管理库,主要提供 ...

  6. 前端如何实现 Word 在线预览

    前端如何实现 Word 在线预览 在前端实现 Word 文件在线预览时,常用的方法包括使用第三方库.浏览器插件.后端服务器.在线文档转换平台等,具体如下: 使用第三方库 常见的前端第三方库包括 Mam ...

  7. js在线预览pdf,doc,xls,jpg等文件

    由于项目需要,需要在上传文件后在线预览所上传的文件.最开始我的思路就是想到各种插件什么的.比如说pdf.js.pdfobject,但最后都没能达到我所想要的效果. 最后我发现,原来,只需要一个很简单的 ...

  8. WEB在线预览PDF

    这是我在博客园发表的第一篇文章.以后会陆续把在线预览其他格式文档的解决方案发表出来. 解决思路:把pdf转换成html显示. 在线预览pdf我暂时了解3种解决方案,欢迎大家补充. 方案一: 利用pdf ...

  9. html中在线预览pdf文件之pdf在线预览插件

    html中在线预览pdf文件之pdf在线预览插件 最近遇到一个需求,要在html页面查看pdf生成的pdf文件! 翻来覆去找到两种办法 ,最后采用了jquery.media.js插件 方式一 将pdf ...

最新文章

  1. Science Bulletin:上海植生所王二涛组发表基于绝对丰度的植物根际微生物群落“扩增-选择”组装模型
  2. 超分辨率(super-resolution)VS解模糊(deblur)
  3. 深入理解DIP、IoC、DI以及IoC容器
  4. 【Ray Tracing in One Weekend 超详解】 光线追踪1-7 Dielectric 半径为负,实心球体镂空技巧...
  5. 计算机丢失quartz.dll什么意思,win7系统中出现缺少quartz.dll文件的修复方法
  6. mysql group set,Mysql--group_concat()、group by、find_in_set()使用笔记
  7. memcached构建高性能web应用
  8. Latex写作学习——(大学生数学建模论文模板)
  9. 微电子科学与工程是否属于计算机类专业,微电子科学与工程专业属于什么学科...
  10. Android 如何开启与关闭adb 的认证机制(google adb secure) (adb RSA 指纹认证)
  11. 7-139 手机话费
  12. TCP三次握手之-awl工具-SYN洪水攻击
  13. Calcite的RelFieldTrimmer简介
  14. Windows10系统自带Microsoft图片发黄
  15. pdcp层的作用_LTE系统中PDCP子层功能研究
  16. 清除maven仓库lastUpdated文件
  17. call by value 和 call by reference
  18. 【知识碎片】python 字符串格式化输出:%d,%s,%f
  19. Linux2019/7/30.1
  20. 深入理解webpack自动刷新浏览器

热门文章

  1. 【620】【信息管理基础】【信息政策与信息法律】
  2. WinSCP集成PuTTY
  3. winform项目——计算器程序01:标准窗体设计
  4. ios webview html交互 卡死,iOS 之webview 的js交互(alert、confirm、prompt)弹窗造成界面卡死...
  5. 月度计划:2022年5月
  6. 服务器性能-一台服务器能承载多少人同时访问?
  7. 坐标变换中等幅值变换和等功率变换
  8. 安装TIA博途V14 SP1后,打开软件时系统提示出现一个并行的错误_解决办法
  9. RationalDMIS 2020 “拟合坐标系”功能
  10. 普及什么是“国家队”,国家队“黑阔”,安全公司“黑客”