如何在 Odoo 的自定义 QWeb 报告中打印图像?
How to print images in Custom QWeb reports in Odoo?
我想在我的自定义 Qweb 报告中显示用户上传的图片。
哪种方法最好?
如果您想显示数据库中的图像,您可以像这样使用图像小部件:
<span t-field="o.image_field_name" t-field-options='{"widget": "image"}'/>
如果您想显示存储为文件的图像:
<img t-att-src="'/module_name/static/src/img/image_name.png'" />
注意:尊重引号的顺序和类型
有时您需要从QWeb 调用函数并获取图像。
此代码帮助我读取正确的图像字段并使用 QWeb 打印它。
<t t-foreach="get_image(id)" t-as="image_browse">
<span t-field="image_browse.image" t-field-options='{"widget": "image"}'/>
</t>
image_browse是对get_image(id)
发送的id的浏览
<tr t-foreach="o.pack_operation_ids" t-as="pack_operation">
<td>
<span t-field="pack_operation.product_id.image_small" t-field-options='{"widget": "image"}'/>
</td>
</tr>
- QWeb 有一个迭代指令 foreach,它采用一个表达式返回要迭代的集合,第二个参数 t-as 提供用于迭代 "current item" 的名称:
- 在
<span>
中,我使用 pack.operation [=18= 访问 product_id 的图像]
- 您可以 select 图片大小,例如:image_small 和 image_medium
对于从Google登陆这里的人...对于数据库中的动态图像,可以使用
<img t-attf-src="data:image/*;base64,{{o.image_field_name}}"/>
...其中 o.image_field_name
是来自 database/model 的动态字段。对于图像,我更喜欢 <img/>
标签而不是 <span/>
。
要显示静态图像,请使用普通 HTML。
<img src="path/to/image/file" alt="Alternate Text"/>
注意: 图像中的备用文本属性 不会 在 PDF 报告中增加价值。当图像丢失时,它们不会出现,如 HTML.
我想在我的自定义 Qweb 报告中显示用户上传的图片。
哪种方法最好?
如果您想显示数据库中的图像,您可以像这样使用图像小部件:
<span t-field="o.image_field_name" t-field-options='{"widget": "image"}'/>
如果您想显示存储为文件的图像:
<img t-att-src="'/module_name/static/src/img/image_name.png'" />
注意:尊重引号的顺序和类型
有时您需要从QWeb 调用函数并获取图像。 此代码帮助我读取正确的图像字段并使用 QWeb 打印它。
<t t-foreach="get_image(id)" t-as="image_browse">
<span t-field="image_browse.image" t-field-options='{"widget": "image"}'/>
</t>
image_browse是对get_image(id)
发送的id的浏览<tr t-foreach="o.pack_operation_ids" t-as="pack_operation">
<td>
<span t-field="pack_operation.product_id.image_small" t-field-options='{"widget": "image"}'/>
</td>
</tr>
- QWeb 有一个迭代指令 foreach,它采用一个表达式返回要迭代的集合,第二个参数 t-as 提供用于迭代 "current item" 的名称:
- 在
<span>
中,我使用 pack.operation [=18= 访问 product_id 的图像] - 您可以 select 图片大小,例如:image_small 和 image_medium
对于从Google登陆这里的人...对于数据库中的动态图像,可以使用
<img t-attf-src="data:image/*;base64,{{o.image_field_name}}"/>
...其中 o.image_field_name
是来自 database/model 的动态字段。对于图像,我更喜欢 <img/>
标签而不是 <span/>
。
要显示静态图像,请使用普通 HTML。
<img src="path/to/image/file" alt="Alternate Text"/>
注意: 图像中的备用文本属性 不会 在 PDF 报告中增加价值。当图像丢失时,它们不会出现,如 HTML.