我正在尝试渲染一个图像到一个docx模板,其中有一个jinja钩子。
我正在使用docx模板中的inlineImage方法,使用这个我能够渲染它在libreoffice writer中打开的图像,而不是在它真正使用的msword中。
在msword中,图像被渲染,但没有显示,只显示了一个空白区域。
我甚至尝试过使用subdoc方法,它也给了我相同的结果。
请帮助我理解我做错了什么。
我使用python-docx 0.8.7和docxtemplate 0.5.17库来实现结果
我一定要使用这些版本,因为docxtemplate强制使用这个版本的python-docx
发布于 2019-05-14 13:19:54
我张贴这篇文章作为答案,以便它可以帮助其他人实现同样的目标。
在我的代码中,在我将值作为InlineImage(template, tmpfile.name)传递给inlineimage之前,我使用NamedTemporaryFile(delete=None)来创建图像,这是导致问题的原因,我重新调整了逻辑,在根据图像长宽比调整大小后直接添加图像,并将图像的路径而不是文件名发送到InlineImage方法中,它就像一个咒语一样工作。
https://stackoverflow.com/questions/56116387
复制相似问题