ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

kkFileView:基于 Spring Boot 的通用文件在线预览开源服务

kkFileView:基于 Spring Boot 的通用文件在线预览开源服务 kkFileView基于 Spring Boot 的通用文件在线预览开源服务【免费下载链接】kkFileViewUniversal File Online Preview Project based on Spring-Boot项目地址: https://gitcode.com/GitHub_Trending/kk/kkFileView在会议室里同事把一份 DWG 图纸链接发给你你不需要打开 CAD 软件浏览器里就能看清每一处标注。kkFileView 就是一个基于 Spring Boot 搭建的通用文件在线预览项目它覆盖 Office、CAD、3D 模型、压缩包、音视频等 20 多种文件类型转换结果通过 REST 接口输出查看方零安装、开箱即看。快速跑通环境要求只有一条硬门槛JDK 21 和 MavenLibreOffice 在 Windows 下已内置、Linux 启动脚本会自动安装macOS 需要手动装一份CAD 转换建议预留 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/能看到首页即代表服务就绪把一份 DWG 文件的 URL 交给它或者直接运行server/src/main/java/cn/keking/ServerMain.java的 main 方法都能完成第一次预览验证。跑通之后我们来看它到底把哪些能力拆成了可配置的模块。核心能力拆解CAD 图纸矢量预览在会议室里看图纸kkFileView 在后台把 DWG、DXF、DWF、IGES 等 CAD 文件转换成 SVG 矢量或 PDF前端直接加载不需要查看端装任何 CAD 客户端。默认cad.preview.typesvg缩放不丢细节需要打印、量尺寸时切到 pdf 模式。转换走后台异步队列默认 5 个线程、90 秒超时避免一张超大图纸拖住整个队列。Office 文档双模式预览大文件与内网场景兼顾Word、Excel、PPT 走 JODConverter 调用 LibreOffice 转换5.0.0 起默认 PDF 模式office.preview.typepdf且默认展开缩略图侧栏适合文本检索和书签导航的内网场景大文件或弱网环境可切回图片模式逐页渲染加载更快。两个 LibreOffice 服务端口2001、2002默认并行承担转换负载均衡。前端解析减负让浏览器干活xlsx 支持纯前端解析浏览器侧用 SheetJS 组件直接渲染表格服务器只负责分发原始文件转换压力基本归零md、json、xml、java 等纯文本也在浏览器内直接渲染不经过转换队列。3D 模型与工程格式面向工程协作除了 CAD它还承接 obj、stl、gltf、ifc、bim 等 3D 模型预览以及 bpmn 流程图、dcm 医疗影像、drawio 绘图和各类压缩包覆盖从图纸到模型到流程图的工程协作场景。能力拆到这里落到具体岗位上又是怎么用起来的谁在用、怎么用车间班组长手机上直接打开工艺图纸链接现场改工艺只换链接不用装任何软件。设计院结构专业负责人把 PDF 预览链接共享给给排水、机电专业各方对着同一份矢量图纸校对少来回传文件。监理审图员对着施工单位的共享目录批量过图压缩包里嵌套的图纸点开即看。看完使用方式再把配置和接入方式一次性说清楚。调优与集成关键配置项见 server/src/main/config/application.properties均可通过环境变量覆盖配置项默认值说明cad.preview.typesvgCAD 输出格式可切 pdfoffice.preview.typepdfOffice 预览模式pdf 或 imagecad.thread5CAD 后台转换线程数office.plugin.server.ports2001,2002LibreOffice 服务端口多端口分担转换trust.hostdefault拒绝外部源文件源白名单防 SSRF集成走 REST 接口/onlinePreviewurl 参数需要 Base64 URL 双重编码任意语言都能拼String fileUrl https://files.example.com/drawings/mechanical.dwg; byte[] b64 java.util.Base64.getUrlEncoder().encodeToString( fileUrl.getBytes(java.nio.charset.StandardCharsets.UTF_8)); String param java.net.URLEncoder.encode( new String(b64, java.nio.charset.StandardCharsets.UTF_8), java.nio.charset.StandardCharsets.UTF_8); String previewUrl http://localhost:8012/onlinePreview?url param;配置和接口都清楚了最后把边界说透免得你踩坑。已知边界与后续方向目前还做不到默认 CAD 转换集成的 aspose-cad 比较吃服务器性能超大图纸建议改走 cadviewer 转换包或分布式部署macOS 不内置 LibreOffice必须手动安装跨平台部署时别漏掉这一步5.0.0 起强制 JDK 21还在跑 JDK 8 的旧环境需要连运行时一起升级路线图中格式清单仍在持续扩充README 注明支持的文件类型在进一步丰富中3D 模型方向的尺寸测量、图层控制等能力也在规划里待验证。如果你已有文件服务器最快的下一步就是把trust.host白名单配好拼一条/onlinePreview链接进你自己的系统试试CAD 场景下遇到转换瓶颈也欢迎把你的线程和超时调参经验拿出来一起讨论。【免费下载链接】kkFileViewUniversal File Online Preview Project based on Spring-Boot项目地址: https://gitcode.com/GitHub_Trending/kk/kkFileView创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表