
免费开源的文件在线预览终极方案kkFileView 让工程图纸和办公文档触手可及【免费下载链接】kkFileViewUniversal File Online Preview Project based on Spring-Boot项目地址: https://gitcode.com/GitHub_Trending/kk/kkFileViewkkFileView 是一个基于 Spring Boot 的万能文件在线预览开源项目一句话概括就是把文件 URL 丢给它浏览器里直接打开。无需给终端用户装 AutoCAD、Office 或 WPSDWG 图纸、Word、Excel、PPT、PDF、压缩包、3D 模型甚至 DICOM 医学影像一个服务全部搞定。一、不用它的时候文件预览有多痛车间看图纸一张 DWG 落在现场工人得先借一台装了 AutoCAD 的台式机才能打开万一 AutoCAD 版本比图纸新还可能直接报格式不兼容。跨软件办公客户发来一份 PPT你本机 WPS 版本老字体全跑版发给同事再看排版又不一样最后谁也不知道哪版是对的。压缩包不敢点开对方发了个 zip 说资料在里面你先下载、再解压、再挨个打开确认没有 exe——一套流程走完二十分钟没了。kkFileView 的解法很直接在服务端把文件转成浏览器能渲染的形态PDF、图片、SVG、HTML前端只管展示。二、kkFileView 是怎么干活的把它理解成一家餐厅前台是统一入口/onlinePreview点单传一个 Base64 URL 编码的文件地址后FilePreviewFactory这个调度员按文件后缀把单分给不同的档口——Office 档口用 JODConverter 驱动 LibreOffice 进程池把 docx/pptx 转成 PDF 或逐页图片转换输出走 officePicture.ftl 这类预览模板CAD 档口靠 aspose-cad 把 DWG 转成 SVG/PDF/TIF所以图纸在浏览器里可以无损缩放视频档口JavaCV FFmpeg 转码把 rm、avi 这些浏览器不认的格式转成 mp4压缩档口sevenzipjbinding 解压后生成目录树点里面的文件直接嵌套预览。所有转换结果都有缓存同样的文件第二次打开秒出。Office/CAD 这类重转换类文件预览分两种模式这是新手最容易懵的地方特性图片模式PDF 模式转换产物每页一张 PNG/JPG整个文档一个 PDF加载速度快分页加载大图也不卡慢要整份转换完精度中像素渲染放大有锯齿高矢量无损可搜索文本适用场景文件大、网络差内网、需要精确查看标注⚠️ 5.0 版本起Office 默认已经切到 PDF 模式且默认隐藏了模式切换按钮想找回旧体验要显式改配置后面讲。三、格式能力全景README 支持列表扫一遍覆盖面远超文件预览这个词给人的印象办公文档doc/docx、xls/xlsx含 xlsm、ppt/pptx、csv、以及 WPS 的 wps/dps/et还有 OpenOffice/LibreOffice 全套 odt/ods/odp图纸工程dwg、dxf、dwf、step、iges、ifc、brep 等 CAD 格式以及 obj、3ds、gltf、fbx 等 3D 模型图文设计psd、eps、svg、wmf、tiff、drawio、bpmn 流程图、xmind通用文件pdf、ofd、rtf、epub、eml/msg 邮件、txt/md/xml 等所有纯文本、zip/rar/7z 压缩包媒体影像mp3/wav/mp4 音频视频、avi/rm/mkv 等转码视频、dcm 医疗影像图片jpg、png、gif、webp、heic 等支持缩放、翻转、镜像Excel 有个彩蛋xlsx 默认走纯前端解析SheetJS服务器基本不干活大表格预览压力直接卸到浏览器上。四、5 分钟跑起来前置环境JDK 21注意5.0 起不再支持低版本 JDK、Maven 3.5。克隆源码git clone https://gitcode.com/GitHub_Trending/kk/kkFileView cd kkFileView打包跳过测试核心代码在 server 模块mvn -q -pl server -DskipTests package启动服务java -jar server/target/kkFileView-5.0.0.jar浏览器打开http://localhost:8012看到首页即成功。拖一个文件上去或者直接用/onlinePreview接口预览你服务器上的文件。两个依赖说明Linux 脚本启动模式会自动装 LibreOfficeWindows 发行包内置仓库里的 LibreOfficePortable 就是它Mac 需要手动装。想省事的直接拉官方 Docker 镜像keking/kkfileview-baseDockerfile 里能看到构建方式。五、性能关键配置都在哪里所有可调项集中在 application.properties全部支持环境变量覆盖集群部署很友好。转换线程与超时——这是最影响吞吐的两类参数配置项默认值说明pdf.max.threads10PDF 转换最大并发线程pdf.timeout.small/medium/large90 / 180 / 300 秒按文件规模分档的超时阈值cad.thread/cad.timeout5 线程 / 90 秒CAD 转换并发与超时office.plugin.server.ports2001,2002多个 LibreOffice 端口做负载均衡office.quality80图片模式渲染质量1-100PDF 智能 DPI 分级是个很实用的设计0-50 页用 150 DPI100-200 页降到 96 DPI超 500 页直接 72 DPI——大文件不再硬撑着高清晰度拖垮内存小文件也不糊。经验法则文件越大、页数越多优先加线程和放宽超时而不是无脑堆内存视频转码media.convert特别吃 CPU不需要的场景建议直接关掉。六、集成进你自己的系统接入的核心就一件事把文件 URL 做Base64 URL 双重编码拼到/onlinePreview?url后面。Java 侧最小示例String fileUrl http://your-cdn/drawings/mechanical.dwg; String encoded URLEncoder.encode( Base64.getEncoder().encodeToString(fileUrl.getBytes(UTF_8)), StandardCharsets.UTF_8).replace(, %20); String previewUrl http://kk-server:8012/onlinePreview?url encoded;拿到previewUrl直接window.open或塞进 iframe 就行。生产环境建议开启kk.keyAPI 密钥防刷用 nginx 反代时记得设base.url。七、谁在真实使用它机械制造车间和工艺人员浏览器直接看图纸不用申请 AutoCAD 账号建筑设计院多专业互审时结构图、电气图统一在线看杜绝我看的还是旧版企业网盘/OA作为预览后端嵌进去替代原来下载才能打开的原始体验。八、避坑指南必读⚠️ 这些坑都是真实会踩的坦诚列出来CAD 转换用的是 aspose-cad 测试版README 里写得明白商用请自行购买。内部用没问题上商业产品记得评估授权。JDK 必须是 21还按老教程装 JDK 8 的话打包直接失败。trust.host默认拒绝一切外部文件预览防 SSRF 设计想预览自己 CDN 上的文件必须配白名单5.0 起支持通配符和 CIDR老配置升级后要重新核对生效范围。delete.source.file默认是 true转换完会删掉本地源文件省磁盘如果你的源文件是唯一的务必先改。5.0 默认行为变了Office 默认 PDF 模式且隐藏切换按钮想保留旧版图片优先体验要设office.preview.typeimage和office.preview.switch.disabledfalse。视频转码是资源黑洞配置里官方都加了非常消耗 CPU 和内存的警告低配机器慎开。九、后面还会更好5.0 刚落地了 xlsx 前端解析、压缩包单工作区布局、多线程异步转换等一系列优化迭代节奏明显在加快社区方向上看3D 模型的尺寸测量、CAD 图层控制、更细粒度的格式兼容是呼声最高的三件事。kkFileView 这类项目的价值不在于它有多高级而在于把看一眼文件这件高频小事彻底抹平了。你部署后第一个打开的文件是什么格式踩过上面哪条坑欢迎在评论区聊聊。【免费下载链接】kkFileViewUniversal File Online Preview Project based on Spring-Boot项目地址: https://gitcode.com/GitHub_Trending/kk/kkFileView创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考