elapouya/python-docx-template 是基于 python-docx + jinja2 的 docx 模板引擎,2.7k Star,BSD-3 协议。用户先用 Microsoft Word 编辑好模板(支持图片 / 表
本资源包含什么
完整 Python 源码:来自 GitHub
elapouya/python-docx-templatemaster 分支(2026-08-14 最新),含docxtpl/(核心包:jinja2 + python-docx 集成)+tests/(测试用例)+docs/(用户手册)。核心模块:
docxtpl/__init__.py(入口)+docxtpl/template.py(DocxTemplate 类)+docxtpl/jinja_docx.py(Jinja 渲染器)+docxtpl/inline_image.py(图片嵌入)+docxtpl/richtext.py(富文本)+docxtpl/shared.py(共享工具)+docxtpl/exceptions.py(异常类)。依赖:
requirements.txt+pyproject.toml+setup.py。官方文档:
README.rst(1.6 KB 简介)+CHANGES.rst(7.3 KB 变更日志)+LICENSE.txt(BSD-3)。
核心能力
Word 当模板:用户用 Microsoft Word 编辑模板,支持图片 / 表格 / 页眉页脚 / 变量 / Jinja 标签。
Jinja2 完整语法:
{{ var }}变量 +{% if %}条件 +{% for %}循环 + filter + macro。图片嵌入:
InlineImage类在模板里直接放占位符,运行时替换为实际图片。表格行循环:
{%tr %}自定义标签复制整行,适合生成报表。条件段落:
{%p %}自定义标签按条件删除整段。富文本:
RichText类支持在 Word 中混排多种格式。跨页:
docx2pdf子模块可转 PDF。
本资源包不含什么
大型 lockfile(已剔
uv.lock349 KB、poetry.lock80 KB、Pipfile.lock29 KB)CI 配置(已剔
.github/、.appveyor.yml、.travis.yml、.readthedocs.yaml)变更日志(已剔
CHANGES.rst)Eclipse IDE 配置(已剔
.project/.pydevproject)测试套件 + docs(已剔
tests/、docs/)
资源包大小
压缩后约 0.06 MB,解压后约 0.19 MB / 20 个文件。
启动运行
# 1. 安装
pip install docxtpl
# 2. 准备模板(用 Word 编辑好 my_template.docx,里面有 {{ name }} 等 Jinja 标签)
# 3. Python 渲染
from docxtpl import DocxTemplate
tpl = DocxTemplate('my_template.docx')
context = {'name': '张三', 'items': ['苹果', '香蕉', '橙子']}
tpl.render(context)
tpl.save('output.docx')安装编译依赖
Python 3.8+
python-docx + jinja2(自动依赖)
Microsoft Word 2016+(用于编辑模板)
典型使用场景
合同 / 协议批量生成:Word 模板 + 客户信息 → 100+ 份个性化合同。
简历批量生产:招聘公司用同一模板生成多份个性化简历。
发票 / 报告生成:企业 ERP 系统自动生成月度 Word 报表。
论文 / 证书模板:学校批量生成录取通知书 / 获奖证书。
适用人群
Python 工程师:需要批量生成 Word 文档(合同 / 报表 / 证书)。
法务 / HR:让开发用代码批量生成标准文档。
替代 Word 邮件合并 + VBA 的更现代方案。
质量承诺
本资源包内源码全部来自 elapouya/python-docx-template 官方 GitHub 仓库(BSD-3 协议),master 分支,2026-08-14 最新版本。用户解压后 pip install . 即可在自己的项目里使用,或直接 pip install docxtpl 装正式版。
版权声明
本站文字内容为原创编撰或者网络搜集整理,受著作权保护,禁止未经授权批量采集转载。
本站分享的各类源码、AI大模型、程序工具仅作技术科普部署教程使用,不直接存储原版版权文件。
所有第三方资源的知识产权、开源协议、商用授权规则均归原开发团队所有。
使用者下载、部署、二次开发必须严格遵守国家著作权相关法律法规,以及资源官方许可协议,如需商业运营,务必向版权方申请合法授权。
因用户私自商用、违规分发资源造成的法律纠纷与经济损失,全部由使用者自行承担,本站不承担连带责任。