pdf - 如何以 zip 格式生成多个 odoo qweb 报告(PDF 文件)?
问题描述
目前我可以使用 Odoo 进行单个记录报告,但是当我使用多个文件时,所有报告都不是多个 PDF 而是一个 PDF 文件。那么,有什么方法可以让 Odoo 生成的报告作为对象,这样我就可以收集它们并以 zip 格式压缩它们?我还没有尝试任何东西,因为我在其他地方也没有看到任何答案。
这是我的报告代码
<record id="action_report_1721A1" model="ir.actions.report">
<field name="name">Generate PDF</field>
<field name="model">wgs.form.1721.a1.list</field>
<field name="report_type">qweb-pdf</field>
<field name="report_name">wgs_perhitungan_form_1721_a1.report_1721A1</field>
<field name="report_file">wgs_perhitungan_form_1721_a1.report_1721A1</field>
<field name="print_report_name">'BUKTI POTONG PAJAK - {} - TAHUN {}'.format(object.employee_id.name, object.tahun)</field>
<field name="paperformat_id" ref="wgs_perhitungan_form_1721_a1.paperformat_1721A1"/>
</record>
解决方案
使用zipfile
并将每个 pdf 文件添加到其中:
这是一个示例,请根据自己的使用进行调整。
temp = tempfile.mktemp(suffix='.zip')
with zipfile.ZipFile(temp, 'w') as zfile:
zfile.writestr(filename,your_buffer)
也your_buffer
可以是 astr
或bytes
。
推荐阅读
- sql - Always Encrypted 参数的默认值
- dart - Flutter:使用 navigator.dart 时断言失败
- c# - Identifier 为 Null 或为空,实体框架,更新数据库
- c# - 为什么在使用日期时使用 ToString()?
- c# - 使用密钥大小小于 2048 的 RSA 安全密钥创建 JWT 令牌时出错
- batch-file - 如何批量回显简短目录
- python - 熊猫数据框:在一个语句中识别 NaN 和零值
- django - 不同域或APP的不同SESSION_COOKIE_AGE
- php - 在 angularjs 中使用查询
- android - 使用'app:errorEnabled =“true”'到TextInputLayout时Android出现错误