spring boot2.X word在线预览 pdf.js

公司项目需在线预览Word文档且禁止下载编辑,本文记录实现方法。先通过Spring Boot集成jodconverter将非PDF文件转成PDF,再下载pdf.js所需文件集成到Spring Boot,利用web中的viewer.html文件实现预览,最后修改viewer.js中打印和下载的点击事件来禁止相关操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

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

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

详细请查看我另一篇文章:spring boot2.X word转pdf_zenghu_10的博客-优快云博客_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水事件时来提示禁止打印和下载,以此来完成禁止打印,下载。

至此结束!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值