0


使用python-docx-template操作word文档

使用python-docx-template操作word文档

1.python-docx-template简介

我们知道可以使用

python-docx

库来创建word文档,但是对于文档的修改功能,还可以使用另一个库

python-docx-template

可以完成对word的修改工作。

python-docx-template

模块主要依赖两个库,

python-docx

用于读取,编写和创建子文档 ,

jinja2

用于管理插入到模板docx中的标签 。 其基本思路是利用

jinja2

制作Word模板,并动态向模板中插入文字、图片、表格等内容。

安装所需要的库文件🙌

pip install docxtpl

2.创建Word文档,在文档里使用模板语言

首先创建一个word文档 test.docx,并设置好模板:

test.docx

这是一个模板:{{ template }}

这是一个Word文件

3.Python控制生成信息

这里给大家一段示例的代码,使用

Hello World!

来填充docx文件中的

{{ template }}

模板部分

from docxtpl import DocxTemplate

# 打开docx文件
tpl = DocxTemplate('test.docx')# 要装入的数据信息
context ={'template':'Hello World!'}# 填充数据
tpl.render(context)# 保存文件操作
tpl.save('test1.docx')

检验成果👍

打开test.docx文件,现在显示如下:

这是一个模板:Hello World!

这是一个Word文件

4.内嵌图片

可以动态地将一个或多个图像添加到文档中。只需

{{ xxx }}

在模板中添加标记

只需要指定模板对象,图像文件路径以及可选的宽度和/或高度。对于高度和宽度,必须使用毫米(Mm),英寸(Inches)或点(Pt)类。

现在文档是这样的:

这是一个模板:{{ template }}

这是一个Word文件

这里插入一个图片:{{ myimage }}

编写内嵌图片的Python代码:

from docxtpl import InlineImage, DocxTemplate
from docx.shared import Mm
import jinja2

# 打开docx文件
tpl = DocxTemplate('test.docx')# 要装入的数据信息
context ={'template':'Hello World!','myimage': InlineImage(tpl,'happy.jpg', width=Mm(20)),}

jinja_env = jinja2.Environment(autoescape=True)# 填充数据
tpl.render(context, jinja_env)# 保存文件操作
tpl.save('test_temp.docx')

运行结果:🙌

在这里插入图片描述

即使再小的帆,也能远航⛵

标签: python

本文转载自: https://blog.csdn.net/Gherbirthday0916/article/details/123257392
版权归原作者 世界尽头与你 所有, 如有侵权,请联系我们删除。

“使用python-docx-template操作word文档”的评论:

还没有评论