在 Docassemble docx 模板中重新缩放图像

Rescaling images in Docassemble docx template

通常,如here所述,上传到 DocAssemble (DA) 的图像可以使用在 DA YAML 文件中定义的相应 Jinja2 标签放入模板中,例如:

question: |
  Please upload a picture of yourself.
fields:
  - Picture: user_picture
    datatype: file

如果在 docx 模板中的某处写入 {{ user_picture }},则图像将放在那里。 (参见 doc

但是如何影响后面的docx文件中图片的大小呢?

没有适用的 Jinja2 过滤器。我找到的唯一解决方案是 DocAssemble 使用包 docxtpl 并且在文档中有一个替换 docx 图像的方法:

tpl.replace_pic('dummy_header_pic.jpg','header_pic_i_want.jpg')

但我没有找到从 DA YAML 文件中调用此方法的正确方法。 使用 DocAssemble 将具有已定义宽度和高度的图像放入 docx 模板中的最佳做法是什么?

你可以写{{ user_picture.show(width="2in") }}。有关 .show() 方法的详细信息,请参阅 DAFiledocumentation。这也适用于在屏幕上显示图像的上下文。