发票与装箱单归档、合同与周报合并分发、批量生成服务确认单与验收单、无 Office 环境下的文档流水线
点击空白处退出提示
发票与装箱单归档、合同与周报合并分发、批量生成服务确认单与验收单、无 Office 环境下的文档流水线
两类高频文档活:PDF 合并拆分与表格提取、Word 模板批量个性化,全部纯 Python 库完成,不装 Word/Excel,可在无 Office 服务器上跑。
A. PDF:1. 合并:多份源件按指定顺序合并,页数守恒可核(本例 1+3+2=6 页)。
2. 拆分:两种粒度——按页拆(6 份单页)与按段拆(按来源片段 1/3/2 页),后者常用于单独发清单那几页。
3. 表格提取:不用 OCR,读 PDF 字符坐标,按基线聚行、按 x 排序,得到干净 CSV(本例 6 行×4 列)。
4. 转 Word:分段重建 docx(本例 56 段),表格用 CSV 重建,保证可编辑。
B. Word:一份带 5 个占位符(客户、项目、金额、交付日期、免费修订次数)的 docx 模板,配一份 10 行 CSV,逐行替换正文段落、表格单元格与页眉页脚,输出 10 份个性化文档。
关键是每份保存后立即用 python-docx 读回断言:占位符残留为 0、数据确实写进去、体积正常(本例最小 37,642 字节)。批量生成最怕某几份没替换成功却没人发现。
交付实测:合并 6 页、拆分 1/3/2 页与 6 份单页全对;表格提取 6 行×4 列,首行 INV-2026-001 / Widget Assembly / 12 / 2400.00 与源 PDF 逐字一致;转 Word 56 段、占位符残留 0;批量生成 10 份全部 >10 KB、5 个字段逐份比对一致、批量记录 10 行×8 字段与产物对得上;独立校验 48 项全过、0 失败;全程 Word/Excel COM 加载 0 次。
交付:复现脚本(内置断言)、独立校验脚本、成品 PDF/docx、表格 CSV、模板与批量记录、处理说明;换客户只换 CSV 与占位符。
纯 Python 做 PDF 合并拆分与坐标法表格提取,按 CSV 批量填 Word 模板,每份读回断言残留 0;校验 48 项全过,不依赖 Office。



评论