自定义页面格式

来自Odoo大V社-odoo中文开发手册
2355481564讨论 | 贡献2018年1月18日 (四) 17:00的版本 (创建页面,内容为“在这时,我们的报告在HTML中看起来很好,但是打印出来PDF的页面并没有很好。我们可以使用横向页面获得更好的结果。所以...”)

(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索

在这时,我们的报告在HTML中看起来很好,但是打印出来PDF的页面并没有很好。我们可以使用横向页面获得更好的结果。所以我们需要添加本文格式。

在XML文件的顶部,添加以下记录:

 <record id="paperformat_euro_landscape" 
         model="report.paperformat"> 
   <field name="name">European A4 Landscape</field> 
   <field name="default" eval="True" /> 
   <field name="format">A4</field> 
   <field name="page_height">0</field> 
   <field name="page_width">0</field> 
   <field name="orientation">Landscape</field> 
   <field name="margin_top">40</field> 
   <field name="margin_bottom">23</field> 
   <field name="margin_left">7</field> 
   <field name="margin_right">7</field> 
   <field name="header_line" eval="False" /> 
   <field name="header_spacing">35</field> 
   <field name="dpi">90</field> 
 </record> 
 

它是一份欧洲A4格式的拷贝,原定义文件为addons/report/data,report_paperformat.xml文件,但改变方向从纵向到横向平铺。从web客户端Settings|Technical| Reports|Paper Format菜单中,可以看到已定义的文件格式。

现在我们可以在报告中使用它了。默认的文件格式定义在公司设置中,但我们也可以对特定的报告手动指定要用的纸张格式。在报告的action中用paperfomat属性来指定。

让我们编辑用来打开报告的action,添加一下属性:

 <report id="action_todo_task_report" 
   string="To-do Tasks" 
   model="todo.task" 
   report_type="qweb-pdf" 
   name="todo_report.report_todo_task_template" 
   paperformat="paperformat_euro_landscape" 
 /> 

注意

<report>标签中的paperformat属性是在9.0版本中才添加的。在8.0中,我们需要使用<record>标签来为报告动作(report action)指定paperformat值