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

相关推荐
2401_874732535 分钟前
实战:用Python分析某电商销售数据
jvm·数据库·python
全栈凯哥6 分钟前
26.Python os.path 完全指南
python
2301_7938046915 分钟前
Python内存管理机制:垃圾回收与引用计数
jvm·数据库·python
(@近墨清思%)17 分钟前
使用PyQt5创建现代化的桌面应用程序
jvm·数据库·python
2301_7957417917 分钟前
在构建企业级文生视频存储架构时,RustFS相比传统存储方案有哪些独特优势?
开发语言·python·pygame
小陈工19 分钟前
2026年3月25日技术资讯洞察:开源芯片革命、Postgres文件系统与AI Agent安全新范式
开发语言·数据库·人工智能·python·安全·web安全·开源
飞Link22 分钟前
Python `warnings` 库底层机制全解析与企业级 API 演进实战
开发语言·python
irpywp24 分钟前
SentrySearch:一款支持用自然语言检索原生 MP4 视频的 Python 命令行工具
python·音视频·概率论
木易GIS28 分钟前
使用arcpy,批量读取多个文件夹的*.shp中的图层,统计提取图层的个数和要素总个数
python·arcgis
程序员小远30 分钟前
Python+requests+unittest+excel 实现接口自动化测试框架
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·excel