
固定格式文档批量生产工具tpl2doc前言tpl2doc 是什么解决什么问题优点与特色推荐人群安装环境要求方式一pip 安装命令行使用方式二技能包安装AI 助手使用推荐工作流AI 写文字工具出格式第一步把固定格式文档变成模板一次性第二步AI 只负责写文字每次要做的第三步一条命令批量出稿支持哪些文档场景文本 / 图片 / 整篇插入基础直接从现有 docx 取内容进阶表格导出图片 / 插入子演示文稿场景扩展批量与工程化多文档 target一套资料多份文档target 导出模板体系整体搬运输出覆盖策略常见问题写在最后前言本人是这个工具的作者这篇文章其实算是一个为自己做的工具的一个推广说明因为本人平时工作经常需要提交一堆文档这些文档重复且格式相同所以为了方便自己特地做了这个工具完成后感觉效果不错就发出来了看看有没有其他人需要下面是详细介绍项目github地址tpl2doc 是什么tpl2doc 是一款模板驱动的低代码 Word/PPT 文档自动化生成工具开源MIT 协议。它的工作方式很朴素你手里有一份格式完全正确的文档开题报告、公文、标书、实验报告……把每次会变化的位置打上占位符变成模板AI 只负责把新内容写成文字工具一条命令把文字填进模板批量产出格式与模板完全一致的成品文档。一句话格式由模板保证AI 只负责内容。解决什么问题问题tpl2doc 的解法AI 生成文档排版不可控格式一塌糊涂AI 根本不排版——只输出纯文字格式完全由你的模板决定固定格式文档反复产出开题/结题/公文/标书/报告手动调格式浪费时间模板固化格式每次只换内容一条命令批量出稿文档自动化工具门槛高要写代码调格式配置是 YAML声明变量从哪取即可零代码工具不认 WPS国内办公主流底层用 WPS COM 驱动Windows WPS 即装即用内容散落在多个文件、多份文档要共享资料Content 资料目录统一管理多文档 target 一套资料出多份文档优点与特色模板驱动格式零差错没打占位符的部分原样保留占位符按模板原格式填充——格式不可能错因为根本没改格式AI 友好配套技能包3 个 skill对 AI 说自然语言即可完成打模板 → 准备资料 → 生成全流程也可纯命令行使用七种变量类型文本、图片、整篇插入、从 docx 直接取文本/图片、插入子演示文稿、表格导出为图片批量与工程化多文档 target 一键生成全部单元target 可导出 zip 整体搬运输出覆盖策略防误覆盖样式零默认不注入任何全局样式模板是什么样成品就是什么样Python API调度层对外唯一入口可集成进自己的自动化脚本推荐人群适合有固定格式文档反复产出需求的人高校师生开题报告、结题报告、实验报告、课程设计说明书、答辩 PPT——格式按学校规定内容每届不同行政办公单位公文、验收报告、会议纪要、周报月报——格式硬性规定错一点就退回投标咨询投标文件、项目申报书、查新报告——格式评审占分模板固定、内容常新任何手里有一份固定格式模板要经常填新内容的人如果你只是偶尔随手写一份文档这个工具用不上如果你的文档格式永远不变、内容永远在变它正好命中。下面说安装和使用。安装环境要求Windows 10/11 WPS OfficeWord 文字 演示组件生成引擎依赖Python 3.9方式一pip 安装命令行使用gitclone https://github.com/yun-xxx/tpl2doccdtpl2doc pipinstall.tpl2doc--help# 即装即用方式二技能包安装AI 助手使用推荐从 GitHub Releases 下载tpl2doc-skill-pack-1.0.1.zip解压后把整个文件夹拷入你所用 AI 助手的技能目录例如项目.codebuddy/skills/装一次依赖pipinstall-rscripts/tpl2doc/requirements.txt技能包内含 3 个 skill 和引擎完整打包副本免安装、可整体搬到任意电脑。之后你直接对 AI 说自然语言即可“把这份开题报告文档做成模板封面保留摘要和正文替换成变量”“按这个配置帮我准备一套’智能养老’主题的资料”“生成文档”AI 会按技能包里的说明自动完成整个流程。工作流AI 写文字工具出格式第一步把固定格式文档变成模板一次性打开你的格式文档把每次会变化的位置替换成{{ 变量名 }}其余全部保留课题名称{{ doc_title }} 摘要 {{ abstract }} 技术路线 {{ tech_route }} {{ img_background }} ← 图片占位符封面、页眉、章节结构、所有格式设置——原封不动。第二步AI 只负责写文字每次要做的让 AI 写内容存进 Content 目录的文本资料md 文件# 银发老人夜间安全监护系统 ## 摘要 abstract 本课题设计一款基于 Arduino nano 的夜间安全监护装置…… tech_route 硬件选型 → 程序设计 → 模型制作 → 系统联调 AI 输出什么格式都无所谓——文本就是文本排版不存在的。第三步一条命令批量出稿写一个配置YAML声明变量从哪取template:template.docxvariables:-jinja_var:doc_titletype:textheading:{level:1,index:1}-jinja_var:abstracttype:texttext_id:abstract-jinja_var:img_backgroundtype:imagefile:背景.pngwidth_mm:140tpl2doc build-ttemplate.docx-cconfig.yaml-C./Content-ooutput.docx产物格式与你的模板完全一致的成品文档。同样的流程换一套 Content就是下一份。支持哪些文档场景文本 / 图片 / 整篇插入基础textAI 写的文本块、标题image图片插入表格内自动限宽不会溢出单元格docx_insert整篇插入另一个文档如把硬件清单文档插进来直接从现有 docx 取内容进阶docx_source不用把内容抄进文本资料直接从你已有的 .docx 里按序号取段落文字、按序号取图片含表格内图片-jinja_var:survey_q1type:docx_sourcekind:textfile:数据分析.docxselect:0:19:6# 取第 0、6、12、18 段-jinja_var:img_chart1type:docx_sourcekind:imagefile:数据分析.docxselect:7# 取第 7 张内嵌图表格导出图片 / 插入子演示文稿场景扩展docx_table把 docx 整张表格含单元格内图片导出为 PNG 插入——适合统计表格pptx_insertPPT 模板中留一页独占标记生成时替换为子演示文稿页面——适合答辩 PPT 拼接批量与工程化多文档 target一套资料多份文档开题报告 研究日志 答辩 PPT 申报书格式各不相同但共享同一套 Content同一个课题的资料my_target/ ├── 开题报告/ (template.docx config.yaml) ├── 研究日志/ (template.docx config.yaml) └── 答辩PPT/ (template.pptx config.yaml)tpl2doc build my_target-C./Content-ooutput/# 一键全部产出target 导出模板体系整体搬运tpl2doc targets export 开题报告 -o 开题报告.zip——模板 配置 示例资料打成 zip换电脑、给同事解压即用。输出覆盖策略~/.tpl2doc/config.toml配置overwrite prompt / always / never防止误覆盖已有文档。常见问题QAI 写的文字还要不要管格式完全不用。AI 只负责输出文字内容放进 md 文本资料格式由模板 配置保证AI 不参与排版。Q没有 WPS 能用吗不能。工具用 WPS COM 驱动生成Windows WPS 是运行前提——这也是它专门面向国内办公环境的原因。Q模板里的格式会不会被破坏不会。没打占位符的部分原样保留占位符填充的文本按模板原格式或配置声明的样式应用样式零默认不注入任何全局样式。Q适合什么样的人适合有固定格式文档反复产出需求的人高校师生开题/结题/报告/PPT、行政办公公文/验收/纪要、投标咨询标书/申报书。不适合偶尔随手写一份文档的人。QAI 排版不可控的问题真的解决了吗解决了——因为 AI 根本不排版。它输出纯文字格式完全由你的模板决定。写在最后tpl2doc 是我为自己在真实场景里开发的工具我手上有开题报告、研究报告、答辩 PPT、项目申报书这类固定格式文档每份都要反复填新内容、手动调格式于是做了这个工具。目前它还是我的个人项目正在持续打磨中。它不是什么大众工具它只解决一个问题固定格式的文档批量、快速、格式零差错地生产。如果你也有同样的需求欢迎试用。项目开源MIT 协议https://github.com/yun-xxx/tpl2doc