Bra*_*ore 5 python replace image docx
我尝试在 Python 中使用以下代码替换 Word 2019 .docx 文件中的图像:
from docxtpl import DocxTemplate
tpl = DocxTemplate("C:\\temp\\replace_picture_tpl.docx")
context = {}
tpl.replace_pic('Sample.png','C:\\temp\\NewImage.png')
tpl.render(context)
tpl.save("C:\\temp\\TestOutput.docx")
Run Code Online (Sandbox Code Playgroud)
我收到错误 ValueError:在 docx 模板中找不到图片 Sample.png。我通过将随机 .png 文件插入空白 Word 文档并保存来创建该文档。我已经仔细检查并确认它是一个 .docx 文件。然后我使用上面的代码尝试更改图片,但没有成功。我在网上查了几天,还没有找到任何可以帮助的东西。我已经浏览了 docxtpl 模板和示例代码,代码似乎引用了“descr”标签来定位“Sample.png”。但是,当我查看replace_picture_tpl.docx XML 文件时,图像没有此标记。有什么建议么?
因此,这对我来说很有效,使用 docxtpl 和我在 MS Word 中修改的模板:
右键单击 MS Word 中的图像,选择“查看替代文本”:
将“replace_me”写入替代文本。保存并关闭。
然后:
from docxtpl import DocxTemplate
tpl = DocxTemplate("sometemplate.docx")
tpl.replace_pic("replace_me", "yourimage.png")
Run Code Online (Sandbox Code Playgroud)
绝对适用于 MS Word for Mac 2022,版本 16.69 (23010700)。