使用docx模板库的Python docx图像渲染

时间:2019-05-13 16:26:55

标签: python-3.5 doc

我正在尝试将图像渲染到其中带有jinja钩子的docx模板。

我正在使用docx模板中的inlineImage方法,使用它可以渲染在libreoffice writer中打开的图像,而不是在应真正使用的msword中打开的图像。

在msword中,呈现了图像,但未显示,仅显示了空白区域。

我什至尝试使用subdoc方法,它也给我相同的结果。

请帮助我理解做错了什么。

我正在使用python-docx 0.8.7和docxtemplate 0.5.17库来实现结果

由于docxtemplate被强制使用此版本的python-docx,因此我必须使用这些版本

1 个答案:

答案 0 :(得分:1)

我将其发布为答案,以帮助其他人实现这一目标。

在我的代码中,我使用NamedTemporaryFile(delete=None)创建图像,然后将值作为InlineImage(template, tmpfile.name)传递给inlineimage,这导致了问题,我对逻辑进行了重新建模,以在进行一些调整大小后直接添加图像基于图像的宽高比并将图像的路径而不是文件名发送到InlineImage方法中,它就像一个魅力。