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

相关推荐
景彡先生29 分钟前
Python pandas数据透视表(pivot_table)详解:从入门到实战,多维数据分析利器
python·数据分析·pandas
Blossom.1181 小时前
把AI“编”进草垫:1KB决策树让宠物垫自己报「如厕记录」
java·人工智能·python·算法·决策树·机器学习·宠物
极客数模2 小时前
2025年(第六届)“大湾区杯”粤港澳金融数学建模竞赛准备!严格遵循要求,拿下大奖!
大数据·python·数学建模·金融·分类·图论·boosting
倔强青铜三2 小时前
苦练Python第73天:玩转对象持久化,pickle模块极速入门
人工智能·python·面试
程序员三藏2 小时前
Postman持久化保存/设置断言详解
自动化测试·软件测试·python·测试工具·职场和发展·接口测试·postman
java1234_小锋2 小时前
PyTorch2 Python深度学习 - 卷积神经网络(CNN)介绍实例 - 使用MNIST识别手写数字示例
python·深度学习·cnn·pytorch2
雍凉明月夜2 小时前
人工智能学习中深度学习之python基础之迭代器、生成器、文件处理和模块等
python·深度学习·学习·pycharm
nvd113 小时前
python异步编程 -协程的实际意义
开发语言·python
_安晓3 小时前
Rust 中精确大小迭代器(ExactSizeIterator)的深度解析与实践
java·前端·python