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

相关推荐
装不满的克莱因瓶2 小时前
链式法则如何传递参数误差 —— 深入理解神经网络中的梯度传播
人工智能·python·深度学习·神经网络·数学·机器学习·ai
Anastasiozzzz2 小时前
从有限状态机到智能体图:传统 FSM 与 Agent Graph的演进
java·人工智能·python·ai
biter down8 小时前
从 0 到 1 搭建 Python 接口自动化测试框架(博客系统实战)
开发语言·python
肖永威9 小时前
Python多业务并行计算框架插件化演进:从硬编码到动态注册
python·插件化·并行计算·动态注册
yz_aiks9 小时前
Linux Jar包配置Systemd自启动实战:从排查到配置全流程
linux·python·jar·自启动·systemd
不知名的老吴9 小时前
线程的生命周期之线程“插队“
java·开发语言·python
xsc69967510 小时前
从零搭建大模型与智能体平台 - 完整技术详解
python
无风听海12 小时前
多租户系统中的 OIDC:Discovery 端点与联合登录的深度实践
后端·python·flask
CTA终结者12 小时前
期货量化主力换月程序怎么移仓:天勤 underlying_symbol 与任务切换
python·区块链
马士兵教育12 小时前
Java还有前景吗?Java+AI大模型学习路线及项目?
java·人工智能·python·学习·机器学习