ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

kkFileView CAD图纸在线预览实践

kkFileView CAD图纸在线预览实践 kkFileView CAD图纸在线预览实践【免费下载链接】kkFileViewUniversal File Online Preview Project based on Spring-Boot项目地址: https://gitcode.com/GitHub_Trending/kk/kkFileView当工程团队要在浏览器里评审一张 DWG 图纸时逐份打开 CAD 客户端核对既慢又给服务器装商业软件不现实。kkFileView 是基于 Spring Boot 的文件在线预览项目把 CAD 文件接收后异步转换成 SVG、PDF 或 TIFF再直接在浏览器里渲染出来。 从 URL 参数到预览页一条 CAD 请求的完整链路预览入口是一个带url参数的在线预览请求服务端先用 FileAttribute.java 把文件名、后缀、源地址、officePreviewTypeimage / allImages / pdf等参数打包成一个请求上下文对象。后缀落在FileType.CAD的清单里dwg、dxf、dwf、iges、igs、dwt、dng、ifc、dwfx、stl、cf2、plt时FilePreviewFactory通过 Spring 容器把请求路由到CadFilePreviewImpl。这一步跑通了后面就顺了请求不用关心文件在本地还是远端CadFilePreviewImpl统一先用DownloadUtils把源文件拉到本地临时目录拿到真实路径后才进入转换逻辑。⚙️ CadToPdfService 内部从 DWG 二进制到 SVG / PDF / TIFFCadFilePreviewImpl.java 本身不做重活它只负责三件事查缓存转换过的文件直接渲染、没命中就发起异步转换并返回一个文件正在转换中的等待页、转换完成后由回调把结果登记进缓存表。真正的转换在CadToPdfService里完成核心流程是信号量限流并发数由cad.thread控制→Image.load加载 CAD 文件编码固定为简体中文→ 按cad.preview.type配置生成SvgOptions、PdfOptions或TiffOptions→ 写入输出文件。整个过程通过CompletableFuture异步执行超时由cad.timeout控制超时任务会被取消并清理残留产物。转换进度会实时更新到状态管理器等待页轮询的就是这份进度。 跑通它从 clone 到第一张图纸预览本地启动只需 Java 17 环境详见项目文档的版本要求拉下代码直接运行主类git clone https://gitcode.com/GitHub_Trending/kk/kkFileView cd kkFileView/server mvn spring-boot:run启动后访问http://localhost:8012/把一份 dwg 文件拖进去或直接拼在线预览链接例如http://localhost:8012/onlinePreview?urlhttp://localhost:8012/files/你的图纸.dwgtypedwg首次请求会先看到转换等待页几秒到几十秒后取决于图纸复杂度跳转到预览页默认svg模式下是一整张矢量图纸可无限缩放换成pdf模式则是可翻页的 PDF。这一步跑通后把预览页 URL 直接嵌进 OA 或 PLM 页面就能用了。 往深里调两个关键配置和一个扩展入口application.properties 里与 CAD 最相关的是两项。cad.preview.type决定输出形态svg / pdf / tif影响浏览器端的渲染方式cad.conversionmodule决定转换引擎——1是内置的 aspose-cad支持格式最多但比较吃服务器资源2是外部 cadviewer 进程需要按操作系统下载转换包并放置中文字体到cad.cadconverterpath指定的目录。并发和超时分别由cad.thread、cad.timeout调整。扩展入口是FilePreview接口每种文件类型对应一个实现类走FileType→getInstanceName()→ Spring Bean 的路由。想自定义 CAD 后处理比如输出后改图、加水印逻辑照CadFilePreviewImpl的骨架复制一份、改 Bean 名即可不需要动主流程。 谁在什么情况下用设计协同场景里甲方或业主不一定装 CAD把图纸预览链接贴进评审系统双方看同一张图避免我这边字体不对这类扯皮。档案与文档系统里kkFileView 常被嵌在 OA、PLM 后面当渲染服务历史 DWG/DXF 图纸入库后无需原样打开即可在线调阅stl、dxf 这类交换格式也能一并覆盖。⚠️ 用之前要知道的事第一它输出的是可渲染的图纸画面不是结构化的尺寸、公差或材料参数——别拿它当 CAD 数据解析器用要读图层实体得自己解析 DXF。第二aspose-cad 引擎转换大图纸时 CPU 占用高默认并发 5、超时 90 秒超大的装配图建议调大cad.timeout或切到 cadviewer 模块。第三外部 cadviewer 模块依赖字体包缺字体会导致中文标注乱码部署时别漏掉字体目录。一句话收束需要浏览器里快速看图选 kkFileView 合适需要从图纸里抠结构化参数它目前只负责到渲染这一步。【免费下载链接】kkFileViewUniversal File Online Preview Project based on Spring-Boot项目地址: https://gitcode.com/GitHub_Trending/kk/kkFileView创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表