Odoo 13.0 发票 PDF 渲染,元素相互重叠
Odoo 13.0 Invoice PDF rendering, elements overlapping each other
我对发票应用程序的 Odoo PDF 呈现有疑问。问题是我的 header 和主要内容在呈现为 PDF 时相互重叠。页脚也被切断。
我已经通过开发者模式创建了 external_layout_standard 的副本,修改它并在常规设置中将其设置为文档布局。它在网络视图中看起来不错,但一旦我尝试渲染 PDF-file 事情就变得很奇怪。
如果该信息有帮助,我认为 Odoo 会使用 wkhtmltopdf。
我使用的模板
<?xml version="1.0"?>
<t t-name="web.my_custom_layout">
<div t-attf-class="header">
<div class="row text-right">
<div class="col-12">
<img t-if="company.logo" t-att-src="image_data_uri(company.logo)" style="max-width: 300px; margin-right: 50px" alt="Logo"/>
</div>
</div>
<br/>
<div class="row">
<div class="col-8" style="margin-top: 50px">
<ul class="list-inline">
<li t-if="company.name" class="list-inline-item"><span t-field="company.name"/>,</li>
<li t-if="company.street" class="list-inline-item"><span t-field="company.street"/>,</li>
<li t-if="company.zip and company.city" class="list-inline-item"><span t-field="company.zip"/> <span t-field="company.city"/></li>
</ul>
<t t-if="address">
<div class="address row">
<div name="address" class="col-12">
<t t-raw="address"/>
</div>
</div>
</t>
</div>
<div class="col-4">
<div class="row">
<div class="col-12" name="company_address">
<div t-field="company.partner_id"
t-options="{'widget': 'contact', 'fields': ['address', 'name'], 'no_marker': true}"/>
</div>
</div>
<br/>
<div class="row">
<div class="col-12" name="company_phone">
Telefon
<div t-field="company.partner_id"
t-options="{'widget': 'contact', 'fields': ['phone'], 'no_marker': true}"/>
</div>
</div>
<br/>
<div class="row">
<div class="col-12">
<p>
buchhaltung<br/>
@my-company.com
</p>
</div>
</div>
<br/>
<div class="row">
<div class="col-12">
<div t-if="company.vat">Steuer-Nr.: <strong t-field="company.vat"/><br/></div>
<div>UStID-Nr.: <strong>XXXXXXXXXXX</strong><br/></div>
</div>
</div>
</div>
</div>
</div>
<div t-attf-class="article"
t-att-data-oe-model="o and o._name" t-att-data-oe-id="o and o.id"
t-att-data-oe-lang="o and o.env.context.get('lang')">
<t t-raw="0"/>
</div>
<div t-attf-class="footer">
<div style="border-top: 1px solid black; padding-top: 20px">
<div name="financial_infos">
<span t-field="company.report_footer"/>
</div>
<div t-if="company.name" class="row">
<div class="col-4">Zahlungsempfänger</div>
<div class="col-8"><span t-field="company.name"/></div>
</div>
<div class="row">
<div class="col-4">Bankverbindung</div>
<div class="col-8">XXXXXXXXXXXXXXXX</div>
</div>
<div class="row">
<div class="col-4"></div>
<div class="col-8">BIC XXXXXXXXXXX, IBAN XXXXXXXXXXXXXXXXXXXXXX</div>
</div>
<div class="row">
<div class="col-4">Bankverbindung</div>
<div class="col-8">XXXXXXXX XXXXXXXX</div>
</div>
<div class="row">
<div class="col-4"></div>
<div class="col-8">BIC XXXXXXXX, IBAN XXXXXXXXXXXXXXXXXXXXXX</div>
</div>
<br/>
<div class="row">
<div class="col-4"><strong>Geschäftsführung</strong></div>
<div t-if="company.company_registry" class="col-8"><strong>Registergericht/Nr.</strong></div>
</div>
<div class="row">
<div class="col-4">Here goes CEO</div>
<div t-if="company.company_registry" class="col-8"><span t-field="company.company_registry"/></div>
</div>
<div t-if="report_type == 'pdf'" class="text-muted">
Page: <span class="page"/> / <span class="topage"/>
</div>
</div>
</div>
</t>
在网络视图中一切正常:Invoice how it's supposed to look
在 PDF-file 中所有信息都在那里,但被 header
重叠
PDF-file
Screenshot of PDF-file
有些步骤我已经尝试过了:
- 在系统参数中我设置了web.base.url。这解决了一些初始渲染问题。
- 我还尝试将 web.base.url.freeze 设置为 True。但这并没有改变一件事。
- 删除页脚没有任何改变。
- 删除部分模板没有任何改变
- 覆盖初始布局external_layout_standard没有任何改变
感谢您的帮助
感谢@CZoellner,我可以通过在“常规设置”>“业务文档”>“格式”下编辑格式设置来修复它。
刚刚添加了一些顶部和底部边距并且它已修复
我对发票应用程序的 Odoo PDF 呈现有疑问。问题是我的 header 和主要内容在呈现为 PDF 时相互重叠。页脚也被切断。
我已经通过开发者模式创建了 external_layout_standard 的副本,修改它并在常规设置中将其设置为文档布局。它在网络视图中看起来不错,但一旦我尝试渲染 PDF-file 事情就变得很奇怪。
如果该信息有帮助,我认为 Odoo 会使用 wkhtmltopdf。
我使用的模板
<?xml version="1.0"?>
<t t-name="web.my_custom_layout">
<div t-attf-class="header">
<div class="row text-right">
<div class="col-12">
<img t-if="company.logo" t-att-src="image_data_uri(company.logo)" style="max-width: 300px; margin-right: 50px" alt="Logo"/>
</div>
</div>
<br/>
<div class="row">
<div class="col-8" style="margin-top: 50px">
<ul class="list-inline">
<li t-if="company.name" class="list-inline-item"><span t-field="company.name"/>,</li>
<li t-if="company.street" class="list-inline-item"><span t-field="company.street"/>,</li>
<li t-if="company.zip and company.city" class="list-inline-item"><span t-field="company.zip"/> <span t-field="company.city"/></li>
</ul>
<t t-if="address">
<div class="address row">
<div name="address" class="col-12">
<t t-raw="address"/>
</div>
</div>
</t>
</div>
<div class="col-4">
<div class="row">
<div class="col-12" name="company_address">
<div t-field="company.partner_id"
t-options="{'widget': 'contact', 'fields': ['address', 'name'], 'no_marker': true}"/>
</div>
</div>
<br/>
<div class="row">
<div class="col-12" name="company_phone">
Telefon
<div t-field="company.partner_id"
t-options="{'widget': 'contact', 'fields': ['phone'], 'no_marker': true}"/>
</div>
</div>
<br/>
<div class="row">
<div class="col-12">
<p>
buchhaltung<br/>
@my-company.com
</p>
</div>
</div>
<br/>
<div class="row">
<div class="col-12">
<div t-if="company.vat">Steuer-Nr.: <strong t-field="company.vat"/><br/></div>
<div>UStID-Nr.: <strong>XXXXXXXXXXX</strong><br/></div>
</div>
</div>
</div>
</div>
</div>
<div t-attf-class="article"
t-att-data-oe-model="o and o._name" t-att-data-oe-id="o and o.id"
t-att-data-oe-lang="o and o.env.context.get('lang')">
<t t-raw="0"/>
</div>
<div t-attf-class="footer">
<div style="border-top: 1px solid black; padding-top: 20px">
<div name="financial_infos">
<span t-field="company.report_footer"/>
</div>
<div t-if="company.name" class="row">
<div class="col-4">Zahlungsempfänger</div>
<div class="col-8"><span t-field="company.name"/></div>
</div>
<div class="row">
<div class="col-4">Bankverbindung</div>
<div class="col-8">XXXXXXXXXXXXXXXX</div>
</div>
<div class="row">
<div class="col-4"></div>
<div class="col-8">BIC XXXXXXXXXXX, IBAN XXXXXXXXXXXXXXXXXXXXXX</div>
</div>
<div class="row">
<div class="col-4">Bankverbindung</div>
<div class="col-8">XXXXXXXX XXXXXXXX</div>
</div>
<div class="row">
<div class="col-4"></div>
<div class="col-8">BIC XXXXXXXX, IBAN XXXXXXXXXXXXXXXXXXXXXX</div>
</div>
<br/>
<div class="row">
<div class="col-4"><strong>Geschäftsführung</strong></div>
<div t-if="company.company_registry" class="col-8"><strong>Registergericht/Nr.</strong></div>
</div>
<div class="row">
<div class="col-4">Here goes CEO</div>
<div t-if="company.company_registry" class="col-8"><span t-field="company.company_registry"/></div>
</div>
<div t-if="report_type == 'pdf'" class="text-muted">
Page: <span class="page"/> / <span class="topage"/>
</div>
</div>
</div>
</t>
在网络视图中一切正常:Invoice how it's supposed to look
在 PDF-file 中所有信息都在那里,但被 header
重叠
PDF-file
Screenshot of PDF-file
有些步骤我已经尝试过了:
- 在系统参数中我设置了web.base.url。这解决了一些初始渲染问题。
- 我还尝试将 web.base.url.freeze 设置为 True。但这并没有改变一件事。
- 删除页脚没有任何改变。
- 删除部分模板没有任何改变
- 覆盖初始布局external_layout_standard没有任何改变
感谢您的帮助
感谢@CZoellner,我可以通过在“常规设置”>“业务文档”>“格式”下编辑格式设置来修复它。
刚刚添加了一些顶部和底部边距并且它已修复