# file-preview **Repository Path**: marszhangzhixing/file-preview ## Basic Information - **Project Name**: file-preview - **Description**: 项目file-preview是一个文件在线预览服务,基于kkFile完全兼容kkFile功能。本项目在kkFile的基础上增加旧版本doc、xls文件的在线预览,新增支持可选网关配置,改造支持分不同环境打包,升级poi组件到了最新4.1.2版本,新增支持下载原文件,修复了kkFile的一些问题,规范化了大量代码,简化了部分代码逻辑。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://gitee.com/fqfa1226/file-preview - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 16 - **Created**: 2024-06-07 - **Last Updated**: 2024-06-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # FilePreview项目说明文档 #### 项目介绍 项目file-preview基于kkFile进行改造,完全兼容kkFile功能,并在kkFile的基础上增加旧版本doc、xls文件的在线预览,新增支持可选网关配置, 升级poi组件到了最新4.1.2版本,新增支持下载原文件,修复了kkFile的一些问题,规范化了大量代码(如文件流释放),简化了部分代码逻辑。 关于kkFile介绍: 使用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```等文件在线预览。 其他介绍请参考kkFile官网: https://kkfileview.keking.cn ### kkFile项目文档(Project documentation) 1. 详细wiki文档:https://gitee.com/kekingcn/file-online-preview/wikis/pages 1. 中文文档:https://gitee.com/kekingcn/file-online-preview/blob/master/README.md 1. English document:https://gitee.com/kekingcn/file-online-preview/blob/master/README.en.md ### kkFile项目特性 1. 支持office,pdf, cad等办公文档 1. 支持txt,java,php,py,md,js,css等所有纯文本 1. 支持zip,rar,jar,tar,gzip等压缩包 1. 支持jpg,jpeg,png,gif等图片预览(翻转,缩放,镜像) 1. 使用spring boot开发,预览服务搭建部署非常简便 1. rest接口提供服务,跨平台特性(java,php,python,go,php....)都支持,应用接入简单方便 1. 抽象预览服务接口,方便二次开发,非常方便添加其他类型文件预览支持 1. 最最重要Apache协议开源,代码pull下来想干嘛就干嘛 ### 快速开始 > 项目使用技术 - SpringBoot [SpringBoot开发参考指南](http://www.kailing.pub/PdfReader/web/viewer.html?file=springboot) - Freemarker - Redisson - jodConverter - poi > 依赖外部环境 - Redis (可选,默认不用) - OpenOffice或者LibreOffice(Windows下已内置,Linux会自动安装,Mac下需要手动安装) > 运行部署 1. 第一步:pull项目或直接下载项目压缩包 ```git clone https://gitee.com/fqfa1226/file-preview.git``` 1. 第二步:打包编译,将本地lib目录下的系统jar添加到Maven仓库(或使用本地jar依赖方式,不推荐),添加方式参考: ```mvn install:install-file -Dfile=xxx.1.1.jar -DgroupId=com.xxx -DartifactId=com.xxx.xx -Dversion=1.1 -Dpackaging=jar``` 编译:```mvn clean install -P dev``` 1. 第三步:启动运行,本地运行支持3种方式,Linux和Mac建议使用脚本运行,Mac需要手动下载office组件 - 本地IDE启动:直接运行FilePreviewApplication的main方法 - 本地jar包启动:进入到jar包所在的target目录,执行命令```java -Dfile.encoding=UTF-8 -jar file-preview-dev.jar``` - 本地脚本启动:将打出的jar包和application.properties配置文件(用于刷新配置,注意替换spring.profiles.active属性) 拷贝到脚本所在的bin目录下,执行```startup.bat```,查看log下的启动日志 - Linux启动:将打出的jar包上传到服务器,拷贝脚本bin目录下的.sh脚本和一份application.properties配置文件 (用于刷新配置,注意替换spring.profiles.active属性)到服务器,配置文件放在相对jar包的config目录下,或者和jar相同目录, 然后执行```startup.sh```启动服务,首次运行可能需要下载office组件比较慢。启动后查看日志```showlog.sh```,停止服务```shutdown.sh``` 1. 第四步:测试服务,服务启动后,浏览器访问```http://${ip}:${port}/preview/index```,会看到如下界面,代表服务启动成功,并可进行文件预览测试 ![测试首页](https://images.gitee.com/uploads/images/2021/0319/155018_9b913641_1547990.png "file.png") **特别说明:** *项目启动会读取jar包里的application.properties配置文件,启动后通过外部的application.properties刷新配置文件,所以会有两个配置文件*