ARTICLE · 1272836
CAD怎么转PDF?不用装AutoCAD,开源项目go-cad支持DWG自动拆页
开源专刊 / CAD 工程工具
CAD怎么转PDF?不用装AutoCAD,开源项目go-cad支持DWG自动拆页
DWG / DXF 解析 · 图幅识别 · PDF 导出 · 文本提取
假设同事发来一份施工图,让你找一下某个楼层的设计说明。
打开才发现,好几幅图铺在同一个画面里。你放大、缩小,来回拖动,终于找到图名。接着还得想:怎么把这部分发给另一个没装 CAD 软件的人?
截个图,字可能看不清;整份文件转过去,对方又未必方便打开。
如果能把这些图按图幅拆开,装进一份 PDF,再用图名做目录,查阅就省事多了。
这正是开源项目 go-cad 最近增加的一项能力。

图 1|CAD 文件的处理与输出。功能流程示意;PDF 能力对应原文所列功能分支,非软件界面或实测结果。
01 / GO-CAD
先解决一个小事:让别人方便看图
go-cad 是一个用 Go 编写的 CAD 处理库,可以读取 DWG、DXF,提取图纸文字,也能生成 PNG、SVG 等格式。
它主要面向开发者。比如,你正在做工程资料系统,希望用户上传图纸后,能在网页里预览,或者下载一份方便分享的文件,就可以考虑把它接进去。
新增的 PDF 导出提供了两种方式:
整张图放在一页。 保留原来的整体关系,适合先看全貌。
按识别出的图幅拆成多页。 翻到对应页面,就能查看其中一幅图;识别到的图名还可以生成书签,方便跳转。
比如,同一份文件里包含楼层平面图、系统图和设计说明。整理成多页 PDF 后,接收者就可以按名字找内容,不必一直在大画布里拖来拖去。

图 2|机械零件图的 PNG 渲染样例。轮廓、尺寸线与中文技术要求来自项目公开仓库,非本文实测,也不是 PDF 截图。
02 / GO-CAD
能放大看,不代表能复制文字
这里有个容易误会的地方。
按照原文说明,导出的 PDF 使用矢量路径呈现线条和字形。它与普通截图不同,放大查看时可以保留矢量图形的表现。
但代价是:文字已经变成了轮廓,不能像普通 PDF 文本那样,直接选中复制。
所以,这里其实有两种不同的需求:
想把图纸交给别人阅读,可以导出 PDF。
想搜索设计说明、整理材料名称,或者把内容交给 AI,需要使用原始 CAD 的文本提取结果。

图 3|PDF 导出面向阅读,CAD 文本提取面向检索和整理。流程说明图,不是产品界面;不表示工具自带检索系统。
图纸看得清,和图纸里的文字能被检索,是两种能力。
中文字体也需要准备。生成端缺少合适字体时,标注效果仍可能受到影响,最好先拿自己的图纸试一次。
03 / GO-CAD
对开发者来说,少的是一轮轮重复处理
做一个图纸资料库,通常不只有“打开文件”这一步。
列表里需要缩略图,详情页需要预览,下载时需要文件,搜索时又需要文字。
go-cad 的用处,是让这些处理可以围绕同一份 CAD 解析结果展开:
在线预览:用 PNG 做预览和缩略图,用 SVG 展示矢量内容。
分享归档:按图幅展示内容,或导出 PDF,方便浏览与传递。
文字检索:提取文字,供后续索引、检索与整理使用。

图 4|识别并单独渲染出的“给水系统图”。来源为项目仓库的 PNG 拆图测试样例,用于说明单幅渲染结果,不是 PDF 截图。
它采用纯 Go 实现,不需要通过 cgo 连接 C 代码,也不依赖安装 AutoCAD 来完成这些处理。对于已经使用 Go 的后端项目,接入方式会更直接。
不过,它提供的是图纸处理能力。上传页面、用户权限、文件管理和搜索功能,仍需要由业务系统完成。
04 / GO-CAD
想体验 PDF,先别装错版本
原文发布时,PDF 导出仍在 feat/pdf-export 分支,尚未合入主分支。
这点比安装命令更值得先记住:只照着主分支的普通安装方式操作,不一定能用到文章里的 PDF 功能。
原文提供了一个固定提交,体验环境要求 Go 1.25 或以上:
bash
go install github.com/unitedrhino/go-cad/cmd/dwg2png@d32c4e587bbf
工具名字虽然叫 dwg2png,但在这个版本中,也可以通过输出文件的扩展名选择 PDF。
整图导出:
bash
dwg2png drawing.dwg -o drawing.pdf
按图幅导出多页 PDF:
bash
dwg2png drawing.dwg -sheets -o sheets.pdf
体验前,建议再查看仓库当前的版本说明。上面的命令沿用原文提供的提交,并非本文的本地实测记录。
05 / GO-CAD
自动拆好以后,还是要对一遍原图
自动识别图框,听起来很省事,但不能把导出成功当成检查完成。
图幅挨得太近,可能被合到一起;一些内容比较稀疏的区域,也可能没有按预期保留。识别不到图框时,多页模式会回退为整图单页。
正式发给别人之前,至少对照原图看一下:
图幅有没有漏,图名是否对应,中文、尺寸和特殊符号是否正常。
如果要拿去打印,还要另行核对纸张与实际比例。
同样,提取出来的文字可以交给 AI 汇总设计说明、整理材料信息,但材料数量、型号和施工要求,仍应回到原图确认。图纸没写的内容,不能让 AI 补出来。
END / GO-CAD
写在最后
go-cad 吸引我的地方,是它处理了工程资料流转中的一段具体工作。
一份 CAD,设计人员需要继续编辑,项目同事可能只想翻阅,资料系统则需要预览、归档和检索。同一份文件,到了不同人手里,需要的形式并不一样。
把图纸转成方便阅读的文件,再把文字单独提取出来使用,这个分工很实用。
如果你正在做工程资料管理、图纸在线预览,或者准备把 CAD 接入知识库,可以先拿一份有代表性的图纸试试。看看关键内容是否完整,比先追求批量处理更有价值。
项目地址:https://github.com/unitedrhino/go-cad















































































