如何在Odoo的Custom QWeb报告中打印图像?

时间:2015-10-26 07:54:55

标签: xml image report odoo qweb

我想在我的自定义Qweb报告中显示用户上传的图片。

这是最好的方法吗?

4 个答案:

答案 0 :(得分:6)

如果要显示数据库中的图像,可以像下面这样使用图像小部件:

<span t-field="o.image_field_name" t-field-options='{"widget": "image"}'/>

如果你想显示存储为文件的图像:

<img t-att-src="'/module_name/static/src/img/image_name.png'" />

注意:尊重报价的顺序和类型

答案 1 :(得分:1)

<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-提供用于&#34;当前项目的名称&#34;迭代:
  • <span>我使用 pack.operation
  • 访问 product_id 的图片
  • 您可以选择图像大小,如:image_small和image_medium

答案 2 :(得分:1)

对于从Google登陆的人...对于数据库中的动态图像,可以使用

<img t-attf-src="data:image/*;base64,{{o.image_field_name}}"/>

...其中o.image_field_name是数据库/模型中的动态字段。对于图像,我更喜欢<img/>标签而不是<span/>

要显示静态图像,请使用纯HTML。

<img src="path/to/image/file" alt="Alternate Text"/>

注意:图像中的备用文本属性不会不会在PDF报告中增加价值。当图像丢失时,它们不会显示,例如HTML。

答案 3 :(得分:0)

有时您需要从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的浏览