python-docx-template 的 Replace docx pictures 占位图片名称从哪来?

python-docx-template 的 Replace docx pictures 占位图片名称从哪来?

在 Word 中看占位图片名称

右键图片 》查看可选文字

用代码输出

python 复制代码
from docxtpl import DocxTemplate

# 初始化DocxTemplate类的对象,用于后续的模板渲染
# 参数为模板文件的路径
tpl = DocxTemplate('../../test_tpl.docx')

# 创建一个空字典,用于存储模板渲染时所需的上下文数据
context = {}

# 使用上下文数据渲染模板
# 这里的render方法会根据context中的数据替换模板中对应的部分
tpl.render(context)

# 使用xpath方法查找docx文件中所有图片的属性
# 图片的属性存储在pic:cNvPr节点中
pic_attrib_list = [pic.attrib for pic in tpl.docx.element.xpath(".//pic:cNvPr")]

# 遍历所有图片的属性并打印
# 这里的目的是展示或处理模板中的图片属性
for attr in pic_attrib_list:
    print(attr)

输出:

bash 复制代码
{'id': '1', 'name': 'Image 0', 'descr': 'python_logo.png'}

输出结果找对应图片

此文档中只有一张图,还好。多了可能还不太容易看出谁是谁。

不过有个办法可以查看 name 来帮助识别:

Word WPS文字

使用 replace_pic

python 复制代码
from docxtpl import DocxTemplate


tpl = DocxTemplate('../../test_tpl.docx')
context = {}
tpl.render(context)
tpl.replace_pic('python_logo.png', 'images/新图片.png')
tpl.save('../../test.docx')
  • 效果

参考资料

python-docx-template - Replace docx pictures

相关推荐
2501_9110882321 小时前
使用Python自动收发邮件
jvm·数据库·python
2401_8898846621 小时前
使用Pandas进行数据分析:从数据清洗到可视化
jvm·数据库·python
研究点啥好呢21 小时前
3月15日GitHub热门项目推荐 | 从本地部署到生产实践
人工智能·python·github·cursor·vibe coding
no_work21 小时前
卷积神经网络cnn图像识别项目合集
人工智能·python·深度学习·神经网络·机器学习·cnn
程序媛徐师姐1 天前
Python基于Django的网络漏洞扫描工具的开发与优化【附源码、文档说明】
python·django·漏洞扫描工具·漏洞扫描·网络漏洞扫描工具·python网络漏洞扫描工具·pytho网络漏洞扫描
zzb15801 天前
Agent学习-ReAct框架
java·人工智能·python·机器学习·ai
Dxy12393102161 天前
PyTorch的OneCycleLR详细介绍:解锁“超级收敛”的油门控制术
人工智能·pytorch·python
橘bird1 天前
LangChain1.2 学习笔记(自用)(未完结)
笔记·python·学习·langchain
四代机您发多少1 天前
从零开始训练一个大模型
人工智能·pytorch·python·transformer
秦牛正威1 天前
MacOS:Python `command not found` 问题修复记录
python