一、开源项目简介
使用spring boot打造文件文档在线预览项目解决方案,支持doc、docx、ppt、pptx、xls、xlsx、zip、rar、mp4、mp3以及众多类文本如txt、html、xml、java、properties、sql、js、md、json、conf、ini、vue、php、py、bat、gitignore等文件在线预览。
二、功能概述
特性一览
一键部署,快速接入
- 支持Windows、Linux平台一键部署,两行js代码就可以接入预览
支持常见文件格式,兼容新版Office文档
- 支持文本、图片、Office文档、WPS文档、PDF、视频、音频、压缩包等常见文件类型预览
支持多种预览模式灵活切换
- 支持pdf、懒加载分页图、轮播图片等预览模式动态配置、灵活切换
独立部署,提供restful接口,适用于微服务场景
- 独立于业务系统外,提供restful http接口,开发语言无关,微服务场景下直接提供在线预览服务
项目特性
- 支持word excel ppt,pdf等办公文档
- 支持txt,java,php,py,md,js,css等所有纯文本
- 支持zip,rar,jar,tar,gzip等压缩包
- 支持jpg,jpeg,png,gif等图片预览(翻转,缩放,镜像)
- 支持mp3,mp4,flv等多媒体文件预览
- 使用spring boot开发,预览服务搭建部署非常简便
- rest接口提供服务,跨平台特性(java,php,python,go,php,….)都支持,应用接入简单方便
- 支持普通http/https文件下载url、http/https文件下载流url、ftp下载url等多种预览源
- 提供zip,tar.gz发行包,提供一键启动脚本和丰富的配置项,方便部署使用
- 提供Docker镜像发行包,方便在容器环境部署
- 抽象预览服务接口,方便二次开发,非常方便添加其他类型文件预览支持
- 最最重要Apache协议开源,代码pull下来想干嘛就干嘛
三、技术选型
环境要求
- Java: 1.8+
- Maven:3.4+
- OpenOffice或LiberOffice(Windows下已内置,CentOS或Ubuntu下会自动下载安装,MacOS下需要自行安装)
四、界面展示
1. 文本预览#
支持所有类型的文本文档预览, 由于文本文档类型过多,无法全部枚举,默认开启的类型如下 txt,html,htm,asp,jsp,xml,json,properties,md,gitignore,log,java,py,c,cpp,sql,sh,bat,m,bas,prg,cmd
文本预览效果如下
![「开源」文件文档在线预览项目解决方案,支持doc、docx、ppt、pptx、xls、xlsx、zip、rar、mp4、mp3以及众多类文本插图 「开源」文件文档在线预览项目解决方案,支持doc、docx、ppt、pptx、xls、xlsx、zip、rar、mp4、mp3以及众多类文本插图](https://lanmeijiang.cdn.ruantang.net/wp-content/uploads/2022/08/20220806131035995.png?imageView2/0/format/webp/interlace/1/q/90|imageslim)
2. 图片预览#
支持jpg,jpeg,png,gif等图片预览(翻转,缩放,镜像)
3. word文档预览#
支持doc,docx文档预览,word预览有两种模式:一种是每页word转为图片预览,另一种是整个word文档转成pdf,再预览pdf。两种模式的适用场景如下
- 图片预览:word文件大,前台加载整个pdf过慢
- pdf预览:内网访问,加载pdf快
- 图片预览模式预览效果如下pdf预览模式预览效果如下
![「开源」文件文档在线预览项目解决方案,支持doc、docx、ppt、pptx、xls、xlsx、zip、rar、mp4、mp3以及众多类文本插图1 「开源」文件文档在线预览项目解决方案,支持doc、docx、ppt、pptx、xls、xlsx、zip、rar、mp4、mp3以及众多类文本插图1](https://lanmeijiang.cdn.ruantang.net/wp-content/uploads/2022/08/20220806131341920.png?imageView2/0/format/webp/interlace/1/q/90|imageslim)
pdf预览模式预览效果如下
![「开源」文件文档在线预览项目解决方案,支持doc、docx、ppt、pptx、xls、xlsx、zip、rar、mp4、mp3以及众多类文本插图2 「开源」文件文档在线预览项目解决方案,支持doc、docx、ppt、pptx、xls、xlsx、zip、rar、mp4、mp3以及众多类文本插图2](https://lanmeijiang.cdn.ruantang.net/wp-content/uploads/2022/08/20220806131352213.png?imageView2/0/format/webp/interlace/1/q/90|imageslim)
4. ppt文档预览#
支持ppt,pptx文档预览,和word文档一样,有两种预览模式
图片预览模式预览效果如下
![「开源」文件文档在线预览项目解决方案,支持doc、docx、ppt、pptx、xls、xlsx、zip、rar、mp4、mp3以及众多类文本插图3 「开源」文件文档在线预览项目解决方案,支持doc、docx、ppt、pptx、xls、xlsx、zip、rar、mp4、mp3以及众多类文本插图3](https://lanmeijiang.cdn.ruantang.net/wp-content/uploads/2022/08/20220806131213958.png?imageView2/0/format/webp/interlace/1/q/90|imageslim)
pdf预览模式预览效果如下
![「开源」文件文档在线预览项目解决方案,支持doc、docx、ppt、pptx、xls、xlsx、zip、rar、mp4、mp3以及众多类文本插图4 「开源」文件文档在线预览项目解决方案,支持doc、docx、ppt、pptx、xls、xlsx、zip、rar、mp4、mp3以及众多类文本插图4](https://lanmeijiang.cdn.ruantang.net/wp-content/uploads/2022/08/20220806131217848.png?imageView2/0/format/webp/interlace/1/q/90|imageslim)
5. pdf文档预览#
支持pdf文档预览,和word文档一样,有两种预览模式
图片预览模式预览效果如下
![「开源」文件文档在线预览项目解决方案,支持doc、docx、ppt、pptx、xls、xlsx、zip、rar、mp4、mp3以及众多类文本插图5 「开源」文件文档在线预览项目解决方案,支持doc、docx、ppt、pptx、xls、xlsx、zip、rar、mp4、mp3以及众多类文本插图5](https://lanmeijiang.cdn.ruantang.net/wp-content/uploads/2022/08/20220806131224923.png?imageView2/0/format/webp/interlace/1/q/90|imageslim)
pdf预览模式预览效果如下
![「开源」文件文档在线预览项目解决方案,支持doc、docx、ppt、pptx、xls、xlsx、zip、rar、mp4、mp3以及众多类文本插图6 「开源」文件文档在线预览项目解决方案,支持doc、docx、ppt、pptx、xls、xlsx、zip、rar、mp4、mp3以及众多类文本插图6](https://lanmeijiang.cdn.ruantang.net/wp-content/uploads/2022/08/20220806131229150.png?imageView2/0/format/webp/interlace/1/q/90|imageslim)
6. excel文档预览#
支持xls,xlsx文档预览,预览效果如下
![「开源」文件文档在线预览项目解决方案,支持doc、docx、ppt、pptx、xls、xlsx、zip、rar、mp4、mp3以及众多类文本插图7 「开源」文件文档在线预览项目解决方案,支持doc、docx、ppt、pptx、xls、xlsx、zip、rar、mp4、mp3以及众多类文本插图7](https://lanmeijiang.cdn.ruantang.net/wp-content/uploads/2022/08/20220806131232527.png?imageView2/0/format/webp/interlace/1/q/90|imageslim)
ps,如碰到excel预览乱码问题,可参考 预览乱码
7. 压缩文件预览#
支持zip,rar,jar,tar,gzip等压缩包,预览效果如下
![「开源」文件文档在线预览项目解决方案,支持doc、docx、ppt、pptx、xls、xlsx、zip、rar、mp4、mp3以及众多类文本插图8 「开源」文件文档在线预览项目解决方案,支持doc、docx、ppt、pptx、xls、xlsx、zip、rar、mp4、mp3以及众多类文本插图8](https://lanmeijiang.cdn.ruantang.net/wp-content/uploads/2022/08/20220806131237558.png?imageView2/0/format/webp/interlace/1/q/90|imageslim)
可点击压缩包中的文件名,直接预览文件,预览效果如下
![「开源」文件文档在线预览项目解决方案,支持doc、docx、ppt、pptx、xls、xlsx、zip、rar、mp4、mp3以及众多类文本插图9 「开源」文件文档在线预览项目解决方案,支持doc、docx、ppt、pptx、xls、xlsx、zip、rar、mp4、mp3以及众多类文本插图9](https://lanmeijiang.cdn.ruantang.net/wp-content/uploads/2022/08/20220806131242343.png?imageView2/0/format/webp/interlace/1/q/90|imageslim)
8. 多媒体文件预览#
理论上支持所有的视频、音频文件,由于无法枚举所有文件格式,默认开启的类型如下
mp3,wav,mp4,flv
如有没有未覆盖全面,可通过配置文件指定多媒体类型
视频预览效果如下
![「开源」文件文档在线预览项目解决方案,支持doc、docx、ppt、pptx、xls、xlsx、zip、rar、mp4、mp3以及众多类文本插图10 「开源」文件文档在线预览项目解决方案,支持doc、docx、ppt、pptx、xls、xlsx、zip、rar、mp4、mp3以及众多类文本插图10](https://lanmeijiang.cdn.ruantang.net/wp-content/uploads/2022/08/20220806131247791.png?imageView2/0/format/webp/interlace/1/q/90|imageslim)
音频预览效果如下
![「开源」文件文档在线预览项目解决方案,支持doc、docx、ppt、pptx、xls、xlsx、zip、rar、mp4、mp3以及众多类文本插图11 「开源」文件文档在线预览项目解决方案,支持doc、docx、ppt、pptx、xls、xlsx、zip、rar、mp4、mp3以及众多类文本插图11](https://lanmeijiang.cdn.ruantang.net/wp-content/uploads/2022/08/20220806131252440.png?imageView2/0/format/webp/interlace/1/q/90|imageslim)
9. CAD文档预览#
支持CAD dwg文档预览,和word文档一样,有两种预览模式
图片预览模式预览效果如下
![「开源」文件文档在线预览项目解决方案,支持doc、docx、ppt、pptx、xls、xlsx、zip、rar、mp4、mp3以及众多类文本插图12 「开源」文件文档在线预览项目解决方案,支持doc、docx、ppt、pptx、xls、xlsx、zip、rar、mp4、mp3以及众多类文本插图12](https://lanmeijiang.cdn.ruantang.net/wp-content/uploads/2022/08/20220806131256850.png?imageView2/0/format/webp/interlace/1/q/90|imageslim)
pdf预览模式预览效果如下
![「开源」文件文档在线预览项目解决方案,支持doc、docx、ppt、pptx、xls、xlsx、zip、rar、mp4、mp3以及众多类文本插图13 「开源」文件文档在线预览项目解决方案,支持doc、docx、ppt、pptx、xls、xlsx、zip、rar、mp4、mp3以及众多类文本插图13](https://lanmeijiang.cdn.ruantang.net/wp-content/uploads/2022/08/20220806131300774.png?imageView2/0/format/webp/interlace/1/q/90|imageslim)
五、开源协议
使用Apache2.0开源协议
评论(0)