文档预览当然是要能预览绝大多数格式的文件,比如:doc、docx、pdf、xls、xlsx、png、jpg等等。
在网上找到一个开源项目 https://gitee.com/kekingcn/file-online-preview.git
这个项目的特性如下:
1、支持word excel ppt,pdf等办公文档
2、支持txt,java,php,py,md,js,css等所有纯文本
3、支持zip,rar,jar,tar,gzip等压缩包
4、支持jpg,jpeg,png,gif等图片预览(翻转,缩放,镜像)
5、支持mp3,mp4,flv等多媒体文件预览
6、使用spring boot开发,预览服务搭建部署非常简便
7、rest接口提供服务,跨平台特性(java,php,python,go,php,....)都支持,应用接入简单方便
8、支持普通http/https文件下载url、http/https文件下载流url、ftp下载url等多种预览源
9、提供zip,tar.gz发行包,提供一键启动脚本和丰富的配置项,方便部署使用
10、提供Docker镜像发行包,方便在容器环境部署
11、抽象预览服务接口,方便二次开发,非常方便添加其他类型文件预览支持
12、最最重要Apache协议开源,代码pull下来想干嘛就干嘛
废话不多说,咱们来看下如何使用。
1、下载最新版发行包
地址:https://gitee.com/kekingcn/file-online-preview/releases
其他下载方式-> 下载项目源码,使用IDEA打开,启动图中main方法
2、打包的话,则使用maven打包命令,然后将图中zip包上传到服务器中,打开解压后文件夹的bin目录,运行startup脚本
3、页面测试
访问地址(默认8012端口):
如果是本地启动的服务,则是:http://localhost:8012
如果是服务器上启动的额服务,则是http://“你的服务器访问ip”:8012
如下图:
在预览测试中可以进行文档的上传和预览测试功能(这里上传的文件会存储到你的项目的配置文件中file.dir设置的位置,默认为打包根路径下的file目录下)
4、其他项目中接入使用预览服务
首先需要保证预览服务是启动且正常的,然后在你需要调用预览服务的项目中使用类似如下方法:
// 需要预览的文件的地址(可以从接口中获取,此处写死)
var url = 'http://192.168.1.63/group1/M00/00/11/wKgBP18jh6-AUm_RAAA65k9TM9I29.docx';
// 打开一个新的页签展示预览页面
window.open('http://192.168.1.161:8012/onlinePreview?url='+encodeURIComponent(url));
下面是预览的效果:
其他的文档就不展示了,大家可以去试试,效果挺不错的。