kkFileView 部署教程:5 分钟搭起 23 类文档在线预览
【免费下载链接】kkFileViewUniversal File Online Preview Project based on Spring-Boot项目地址: https://gitcode.com/GitHub_Trending/kk/kkFileView
不需要装 Office,也不需要装 CAD 客户端。kkFileView 是一个基于 Spring Boot 的开源文件在线预览服务,把上传的文档在服务端转成图片或 PDF,浏览器里直接看。下面讲清楚它能干什么、怎么跑起来、参数怎么调。
📄 它解决什么问题
一句话定位:把各种格式的文档转成能在浏览器打开的形式。
几个关键数字:
- 格式覆盖 23 大类:Office 文档、WPS、CAD 图纸、3D 模型、压缩包、音视频、邮件文件都在内,清单见 README 支持列表;
- 一个服务端口搞定全部,默认 8012;
- 单文件上传上限默认 500MB,大文件转异步处理。
适合谁:内部系统里需要"点开链接就能看到文件"的团队,比如文档中台、图纸管理系统、OA 集成。
🚀 如何 5 分钟部署预览服务
先装环境:JDK 21 及以上、Maven 3.5+,机器内存建议 4GB。
git clone https://gitcode.com/GitHub_Trending/kk/kkFileView cd kkFileView mvn clean package -DskipTests java -jar server/target/kkFileView-5.0.0.jar启动后访问http://localhost:8012就能看到页面。Office 文档转换依赖 LibreOffice:Windows 发行包已内置,Linux 首次运行会自动安装,Mac 需要手动装一下。不想自己打 jar 的,也可以直接用仓库里的 Dockerfile 构建镜像。
🖼️ 预览效果长什么样
Word 类文档会按当前默认策略转成 PDF,左侧带缩略图导航:
PPT 同样转成 PDF 呈现,版式和配色保真度较高:
PDF 文件不经过转换,直接交给前端渲染,打开最快:
CAD 图纸默认转成 SVG 矢量格式,放大缩小不糊,标注信息完整保留:
预览模式怎么选
文档类文件有两种模式:图片模式和 PDF 模式,5.0 版本起默认走 PDF。
| 文件类型 | 默认模式 | 转换速度 | 特点 | 适用场景 |
|---|---|---|---|---|
| Office 文档 | 中等 | 保留文字可选中、支持搜索 | 审阅、归档 | |
| 图片模式(可切换) | 图片 | 稍慢 | 加载轻、低带宽友好 | 快速浏览 |
| PDF 文件 | 前端直开 | 极快 | 不走转换,页数越多自动降 DPI | 通用查看 |
| CAD 图纸 | SVG 矢量 | 中等 | 缩放不失真 | 工程看图 |
推荐:默认配置直接用就行。想切回图片优先展示,把office.preview.type设为image即可。
真实团队怎么用
- 制造企业:工艺图纸入库后统一走 kkFileView,车间平板上打开链接就能看 DWG,省掉给每台工位装 CAD 客户端的钱;
- 设计院:各专业互看对方图纸,SVG 模式放大后尺寸标注依然清晰,不需要互相导 PDF;
- 办公协作:文档系统把"下载打开"改成"点开预览",员工在浏览器里就能检索文字,审批链路变短。
避坑与参数速查
- 内存:2GB 能跑小文件,4GB 是稳妥值,常转大图纸给 8GB;
- 文件大小:10MB 以内约 30 秒内出结果,10–50MB 大约 30–120 秒,再大的文件建议调大异步超时;
- Office 转换任务默认超时 5 分钟,超时会失败而不是卡死,日志里看得到;
- 外部 URL 取文件默认全部拒绝,要开放需配置
trust.host白名单,这是防 SSRF 的开关,别图省事设成*; - 视频格式转换很吃 CPU 和内存,不用的话把
media.convert.disable打开; - 所有可调项集中在 server/src/main/config/application.properties,多数支持环境变量覆盖,改完大多不用重启。
kkFileView 把"能不能看"这件事从装软件变成了装一个服务,格式覆盖和参数粒度都够日常生产用。你实际接入时卡在过哪一步:格式转换失败、大文件超时,还是白名单配置?留言说说,我帮你对照参数看。
【免费下载链接】kkFileViewUniversal File Online Preview Project based on Spring-Boot项目地址: https://gitcode.com/GitHub_Trending/kk/kkFileView
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考