news 2026/9/12 13:46:53

kkFileView 文件在线预览教程:3 步跑起本地服务,DWG 图纸浏览器直接看

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
kkFileView 文件在线预览教程:3 步跑起本地服务,DWG 图纸浏览器直接看

kkFileView 文件在线预览教程:3 步跑起本地服务,DWG 图纸浏览器直接看

【免费下载链接】kkFileViewUniversal File Online Preview Project based on Spring-Boot项目地址: https://gitcode.com/GitHub_Trending/kk/kkFileView

项目群里丢来一份 DWG 施工图,会议室电脑没装 CAD;客户发来的 Word 在微信里传几次就变了样。这类"打开看看"的需求,其实不用装一套软件。kkFileView 是基于 Spring Boot 的通用文件在线预览项目,部署成一个服务后,几十种格式都能在浏览器里直接打开。

三步跑起本地预览

前置条件:JDK 21+(5.0.0 版本强制要求)和 Maven。

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/,默认端口可用环境变量KK_SERVER_PORT覆盖。仓库自带 Windows 版 LibreOffice(server/LibreOfficePortable/),Linux 启动脚本会自动安装转换组件,只有 Mac 需要手动装 LibreOffice。不想编译的话也可以直接运行server/src/main/java/cn/keking/ServerMain.java的 main 方法。

能力全景:哪些格式丢进去能直接看

kkFileView 把"转换+前端渲染"都收敛在一个服务里,覆盖面大致如下:

  • 办公文档:doc/docx、xls/xlsx、ppt/pptx、csv,以及 WPS 的 wps/dps/et、OFD
  • CAD 图纸:dwg、dxf、dwf、iges、dwt、plt、cf2 等
  • 3D 模型:stl、obj、gltf/glb、3dm、fbx、ifc、fcstd 等
  • 文本文档:txt、java、py、sql 等源码高亮,md 和 xml 带渲染
  • 压缩包:zip、rar、7z、tar 等,可进入包内继续预览
  • 其他:图片(含 heic)、音视频、xmind、drawio、bpmn、dcm、eml/msg 邮件、epub

DWG 图纸怎么在线看:三种预览模式怎么选

CAD 图纸默认走SVG 矢量模式cad.preview.type=svg),缩放不失真,适合反复放大看细节;改成pdf则整份图纸转成 PDF,方便打印和标注。Office 文档 5.0 起默认也是PDF 模式,想恢复以前的图片优先行为,显式设置office.preview.type=image并打开office.preview.switch.disabled=false

场景选哪种为什么
大图纸、低带宽,要打开快image(图片模式)按页转图片分批加载,像素渲染有精度损失
需要打印、标注、保留矢量pdf矢量无损,支持搜索定位
在线反复放大查看svg(CAD 默认)矢量格式,缩放不糊

转换引擎也分两档:默认的aspose-cadcad.conversionmodule=1)支持格式最多但吃服务器性能;只处理 dwg/dxf/dwf 时可切到 cadviewer,需自行下载转换包并放字体。

接入自己的系统:一个 GET 接口搞定

核心接口就一个:/onlinePreview?url=,注意url参数是文件地址做 Base64 再 URL 编码的双重编码(源码WebUtils.decodeUrl里有明确报错提示):

String fileUrl = "http://files.example.com/dwg/plan.dwg"; String encoded = URLEncoder.encode( Base64.getEncoder().encodeToString(fileUrl.getBytes(StandardCharsets.UTF_8)), StandardCharsets.UTF_8); String preview = "http://localhost:8012/onlinePreview?url=" + encoded;

可选参数:key(开启kk.key后必填)、encryption(AES 加密)、page(起始页)、highlightall(全文高亮)。

踩坑提示

  • ⚠️trust.host 不配就全部拒绝:防 SSRF 机制下,不配置信任域名时,外部文件 URL 的预览请求会被默认拒绝,正式使用必须配白名单,只留本机测试用*不推荐。
  • 上传上限默认 500MB(spring.servlet.multipart.max-file-size),大图纸场景按需调大,同时留意cad.timeout(默认 90 秒)和cad.thread(默认 5 线程)。
  • Linux 部署注意file.dir目录读写权限,转换缓存默认每天凌晨 3 点清理一次。
  • 老版本升级 5.0.0 后 Office 默认行为从图片变 PDF,依赖旧行为的要在配置里显式改回来。

从 clone 到第一个图纸在浏览器里打开,整个过程十分钟以内。kkFileView 的价值在于把"装软件才能看"变成了"加个地址就能看",内网部署后基本不需要外部依赖。

你日常被索要预览最多的格式是哪种?

【免费下载链接】kkFileViewUniversal File Online Preview Project based on Spring-Boot项目地址: https://gitcode.com/GitHub_Trending/kk/kkFileView

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/12 13:45:19

MODBUS RTU从零到实战:报文拆解、CRC计算与调试避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/12 13:45:06

GPT-6的200万Token上下文窗口技术解析与应用

1. GPT-6的200万Token上下文窗口意味着什么 当第一次听说GPT-6支持200万Token的上下文窗口时,我的第一反应是:这简直是把整个图书馆塞进了AI的记忆里。作为长期从事AI应用开发的老兵,我深知上下文长度对大模型能力的决定性影响。传统模型的4K…

作者头像 李华
网站建设 2026/9/12 13:44:30

Arduino IDE全平台安装与硬件通信链路打通指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/12 13:44:10

ZLUDA 让 AMD 显卡直接跑 CUDA 应用

ZLUDA 让 AMD 显卡直接跑 CUDA 应用 【免费下载链接】ZLUDA CUDA on non-NVIDIA GPUs 项目地址: https://gitcode.com/GitHub_Trending/zl/ZLUDA 装完 PyTorch 一直提示驱动对不上号?ZLUDA 是个兼容层(简单说就是站在 CUDA 驱动和真实显卡之间翻译…

作者头像 李华
网站建设 2026/9/12 13:43:29

内网渗透工具栈:Metasploit、Impacket、CrackMapExec、mimikatz实战

12-内网渗透工具栈:Metasploit、Impacket、CrackMapExec、mimikatz实战合规声明:本文所有命令与演示仅在本地靶场(VulnHub、Metasploitable、自建域环境)或已签署书面授权的渗透测试项目中执行。未经授权的渗透测试属违法行为&…

作者头像 李华
网站建设 2026/9/12 13:41:24

OpenVINO与ONNX模型部署实战:人脸关键点检测的转换、量化与性能优化

简介:面向算法部署与计算机视觉开发者,这份项目源码演示了如何利用OpenVINO加ONNX的流水线,部署支持68点与39点landmark的人脸关键点检测模型,尤其适合需要将PyTorch等训练模型迁移至英特尔硬件、追求实时推理的工程场景。资源共1…

作者头像 李华