from docxtpl import DocxTemplate
#设定模板word文件
doc = DocxTemplate("my_word_template.docx")
context = { 'company_name' : "World company" }
doc.render(context)
#渲染后,保存为新的word文件
doc.save("generated_doc.docx")
docxtpl包使用了两个主要的包:
- python-docx for reading, writing and creating sub documents(读写创建子文档,含子包docx.shared)
- jinja2 for managing tags inserted into the template docx(管理插入到模板中的标签)
python-docx包创建文档功能强大,但是在修改文档上还是python-docx-template比较方便。
word模板中用到的Jinja2语法的标签。
- 文字类RichText
- 图片类InlineImage
- 替换图片replace_pic函数