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

简介: 1.python-docx-template简介我们知道可以使用python-docx库来创建word文档,但是对于文档的修改功能,还可以使用另一个库 python-docx-template 可以完成对word的修改工作。python-docx-template 模块主要依赖两个库, python-docx用于读取,编写和创建子文档 , jinja2用于管理插入到模板docx中的标签 。 其基本思路是利用jinja2制作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')


8f62972a109a434aba3ad547ec94c0f2.png


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

目录
相关文章
|
6天前
|
Linux Python Windows
Python PDF文件转Word格式,只需要3秒(附打包)
Python PDF文件转Word格式,只需要3秒(附打包)
25 3
Python PDF文件转Word格式,只需要3秒(附打包)
|
3天前
|
XML 存储 数据格式
使用Python的zipfile模块巧解Word批量生成问题
通过以上步骤,我们得到了填充了特定数据的 Word 文档。这个过程可以通过循环对多个数据集重复执行,从而实现批量生成多个 Word 文档的目标。
11 5
|
5天前
|
Python
Python——将PPT和Word转为PDF文件
Python——将PPT和Word转为PDF文件
20 1
|
18天前
|
IDE API 开发工具
|
27天前
|
Shell 程序员 开发工具
[oeasy]python0026_调试程序_pdb3_帮助_help_求助_文档
调试程序_debug_next_下一步_list_pdb3 🥋
31 1
|
1月前
|
自然语言处理 程序员 编译器
`pylatex`是一个Python库,用于生成LaTeX文档。LaTeX是一种用于高质量排版和打印的文档准备系统,特别适用于科学、技术和数学文档。
`pylatex`是一个Python库,用于生成LaTeX文档。LaTeX是一种用于高质量排版和打印的文档准备系统,特别适用于科学、技术和数学文档。
|
1月前
|
数据处理 开发者 Python
【Python】已解决:FileNotFoundError: [Errno 2] No such file or directory: ‘E:\自动备份文档\Python\修改配置.csv‘
【Python】已解决:FileNotFoundError: [Errno 2] No such file or directory: ‘E:\自动备份文档\Python\修改配置.csv‘
30 1
|
2月前
|
IDE Linux 数据处理
探索Linux中的`pydoc`命令:Python文档生成器的力量
`pydoc`是Linux上Python的文档生成和查看工具,尤其对数据科学家有价值。它从docstring生成模块、函数和类的文档,提供快速API参考。主要特点包括易用性、支持标准库和第三方库、跨平台。命令行示例:`pydoc pandas` 查看库文档,`pydoc numpy.array` 查看类详情,`pydoc -k 关键字` 进行搜索。使用时注意正确安装Python,编写清晰的docstring,并结合IDE以提升效率。
|
2月前
|
存储 小程序 Java
基于Python学生成绩管理系统详细设计和实现(源码+LW+调试文档+讲解等)
基于Python学生成绩管理系统详细设计和实现(源码+LW+调试文档+讲解等)
|
2月前
|
API 项目管理 开发者
PEP是Python改进的关键文档,用于提议新特性和标准化变更
【6月更文挑战第26天】PEP是Python改进的关键文档,用于提议新特性和标准化变更。它们提出功能设计,记录社区决策,建立标准,促进共识,并改进开发流程。PEP是Python不断演进和优化的核心机制,驱动语言的未来发展。**
32 2