ARTICLE · 1142094
我做了个 PDF 批量打印工具:三步操作,图纸批量流出
一个 25 年机械行业的老兵,把车间每天都在发生的图纸打印难题,做成了一个双击就能用的工具
🌟 先关注 + 设为星标 关注「用AI提升办公效率」,私信发送关键词 AI接管 免费领《AI 办公自动化实战清单》。 |
一、图纸打印是件"小事",却天天在耗人
前几篇我们讲了DWG图纸批量打印成PDF文件工具,在这个前提下,我们做了采购自动找图纸系统,采购批量把图纸发给供应商之后,问题又来了。几十上百张图纸要一个一个的点,选择纸张大小,选择竖的横的,选择打印机,打印一张就要点很多次,难道没有办法一次搞定吗?我想这个问题应该可以解决。
市面上的软件,要么功能大而全、操作繁琐,要么对 A3/A4 混排支持得一塌糊涂。与其天天将就,不如自己写一个。需求就钉死三步:选文件夹 → 勾选 → 点开始,规格自动识别、自动选纸,图纸居中、图框四边齐全。
二、动手做:走过的弯路,和那个 5mm 的坑
第一条路是"借力"——想用 Acrobat 的接口控制打印,结果三条路全堵死。索性彻底放弃对外部软件的依赖,自己把 PDF 渲染成位图,直接调用 Windows 底层打印接口。之后又经历五轮界面打磨、跟打包加密软件斗法(成品 exe 被安全软件误报,加白名单才放行)——这些都算过程。
真正卡住我的,是工具用起来之后才暴露的那个头号 Bug。
现象 图纸明明居中,打到纸上却整体向右下偏移,图框右边线和下边标题栏打不出来,左上反而多出白边。代码里明明做了居中计算,为什么位置是错的? |
根因是对 Windows 打印坐标系的理解偏差:代码取的是物理纸尺寸,把原点当成纸的左上角;但 Windows 打印坐标系的原点其实是"可打印区"左上角——激光机四边各有一条约 5mm 的物理不可打印边距,墨落不上去。于是"居中"算的是相对物理纸居中,落笔却从可打印区左上角开始,整张图被平移了一个边距的量;图又比可打印区大,右下两边就被裁掉了。
量化一下(佳能 iR-ADV C3520、A4、600dpi):物理纸 4960×7014 像素,四边边距各 120 像素,换算正好约 5.08mm。
修法很简单:布局计算全改用"可打印区"的真实尺寸,原点也跟着挪到可打印区左上角。
💡 反直觉的结论 打印机四边的物理边距改不了,图永远不可能布满整张纸,能布满的只有可打印区。想让图更大,只能把 PDF 自己留的白边裁掉再铺。 |
就一个"居中",前后耗了我将近一个月。真正花时间的,从来不是"打印"这个主功能,而是那些没人告诉你、只能拿真打印机一张一张试出来的坑。
三、修好之后:前后差在哪
把修复前后的关键点摆在一起,差别一目了然:
最终成品是一个单文件 exe,38.5MB,拷到任何 Windows 电脑上双击就能跑:
真机实测验证清单,逐项通过:
✅ A3/A4/A5 横竖版自动选纸,全部正确 ✅ 混合规格多页,单作业成功出图 ✅ 页码范围准确、多份数准确出纸 ✅ 图框边线完整,四边齐全不偏移 |
四、写在最后
市面上的软件为了兼容所有人,永远做不到"刚好适合你的场景"。把需求钉死在三步走、把每个坑亲手趟一遍,得到的就是一个每天打开、每天省事的工具。
那 5 毫米的偏移不复杂,但没有任何文档会告诉你它存在——只有真打印机一张一张打出来,你才会撞上它。
❤️ 觉得有用,点个「推荐」 在手机微信里打开文章,拉到最底部,点右下角那颗红爱心「推荐」,这篇就会进你好友的「看一看 · 朋友推荐」。 |
📤 转发话术(直接复制发朋友圈 / 群) "图纸打印总往右下偏 5mm,图框边线打不出来——折腾很久才找到根因:Windows 打印坐标系原点不是纸的左上角。做机械的可以看看。" |
📣 三件事,花你 10 秒钟 ① 拉到最底部点「❤️推荐」 ② 转发朋友圈/群帮更多人 ③ 关注「用AI提升办公效率」不错过下一篇 |
🎁 关注福利 关注「用AI提升办公效率」,私信发送关键词 AI接管,免费领取《AI 办公自动化实战清单》长图。本号只写自己亲手干过的 AI 办公实操。 |
📚 往期精彩
往期 · 阅读 726 | 往期 · 阅读 253 |
扫码关注「用AI提升办公效率」 ![]() 私信发送 AI接管 领《AI 办公自动化实战清单》 |
作者:牛哥518
