我创建了一个打印条形码标签的报告。
我的模板尝试打印整个页面,但我需要一个特殊页面:width = 35mm
和height = 11mm
。
那么我如何以及在何处更改默认产品标签报告模板并进行更改?我只需要打印标签为pdf。
答案 0 :(得分:0)
带有条形码的报告模板,此示例使用qrcode,但您可以更改它以使其适应您的需要。您也可以添加一些样式:
<template id="report_label_style" inherit_id="website_report.layout">
<xpath expr="//style" position="after">
<style type="text/css">
.example_class {
display: block;
width: 228px;
height: 103px;
}
</style>
</xpath>
</template>
<template id="report_label">
<t t-call="report.html_container">
<t t-foreach="docs" t-as="o">
<div class="page">
<div class="row">
<div class="example_class">
<t t-set="qr_src">/report/barcode/?type=QR&value=<t t-esc="o.qr_string" />&width=600&height=600</t>
<img t-att-src="'%s' % qr_src"/>
</div>
</div>
</div>
</t>
</t>
</template>
纸质格式定义。如果你去,你会看到纸质格式:设置&gt;报告&gt;纸张形式
<record id="paperformat_label_example" model="report.paperformat">
<field name="name">Paperformat Example</field>
<field name="default" eval="True"/>
<field name="format">custom</field>
<field name="page_height">23</field>
<field name="page_width">50</field>
<field name="orientation">Portrait</field>
<field name="margin_top">0</field>
<field name="margin_bottom">0</field>
<field name="margin_left">0</field>
<field name="margin_right">0</field>
<field name="header_line" eval="False"/>
<field name="header_spacing">0</field>
<field name="dpi">80</field>
</record>
报告操作,这会在模型ir_act_report_xml
中创建所需的记录:
<report id="action_report_label"
model="model.name"
report_type="qweb-pdf"
name="module_name.report_label"
file="module_name.report_label"
string="Label" />
在这里,我将纸质格式与报告相关联:
<record id="module_name.action_report_label" model="ir.actions.report.xml">
<field name="paperformat_id" ref="module_name.paperformat_label_example"/>
</record>