我使用qweb打印我的发票,当报告有很多页面时,我想计算在页面末尾打印它的小计的总和。 我可以使用生成的报告pdf与python做到这一点,但在QWEB
我不能。 任何人都可以帮忙,即使从RML
?如何在odoo发票报告上打印页面小计?
0
A
回答
1
您只需在将PDF发送到浏览器之前捕获PDF。 如果你不使用附件的修改create_single_pdf()
在report_sxw.py
/usr/lib/python2.7/openerp/report/
下,return pdf, report_xml.report_type
之前,做pdf = generateMyPDF(s.getvalue(title(report_xml.name), pdf))
。如果不是在create_source_pdf()
改变过去的if语句return s.getvalue(), results[0][1]
应该 pdf = generateMyPDF(report_xml.name, s.getvalue())
return pdf, results[0][1]
如果您正在使用RML报道:
import StringIO
from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import letter
from pyPdf import PdfFileReader, PdfFileWriter
def generateMyPDF(titles, pdf)
if title in titles:#title is used here to check if this is the right document to modify (by default title is the string argument in your report action)
input = PdfFileReader(cStringIO.StringIO(pdf))
#calculate your subtotals
#parse pages to calculate subtotals, you can use regex to calculate subtotal,because it depend on your modified invoice.
for index in range(len(subtotals)):
packet = StringIO.StringIO()
can = canvas.Canvas(packet, pagesize=letter)
#draw your subtotal
can.save()
packet.seek(index)
new_pdf = PdfFileReader(packet)
page = input.getPage(index)
page.mergePage(new_pdf.getPage(0))
output.addPage(page)
output.write(s)
return s.getvalue() or pdf, , report_xml.report_type
如果您使用的是QWEB,我想您必须修改get_pdf
,report.py
,addons/report/models/
采用相同的方法。
如果您发现QWEB解决方案,请分享。
+0
您的解决方案适用于openerp 7,谢谢。 – Zety
相关问题
- 1. 在水晶报告中的新页面上打印子报告
- 2. 如何在RDLC报告的一页上打印每个报告?
- 3. 在一页上打印多页发票
- 4. 如何打印票/发票
- 5. odoo:使用向导打印qweb报告
- 6. 报告服务:多页面报告 - 显示页面小计
- 7. 如何在Odoo/OpenERP中的mako报告中打印条形码?
- 8. 如何在打印odoo 10报告时获取pdf文件?
- 9. 打印Jasper报告没有页面
- 10. 报告服务:打印所有页面
- 11. SSRS报告打印在小型打印机上被压扁
- 12. 如何重新打印每个报告页面的页脚
- 13. 将所有未清发票总计添加到打印发票页面
- 14. 在哪个页面上打印Access报告中的记录?
- 15. Stimulsoft报告:在单个页面上打印每个组?
- 16. 如何在多台打印机上打印水晶报告?
- 17. 如何打印报告
- 18. 打印发票
- 19. 更好的选项打印发票不使用水晶报告
- 20. 如何设置报告页面大小?
- 21. 打印报告
- 22. 在所有页面上打印带有页眉和页脚的HTML报告 - Firefox
- 23. 如何编辑发票上的小计
- 24. 如何在打印页面上打印页眉徽标
- 25. 打印使用打印机中的PDF报告的情况下直接在Odoo
- 26. 如何使用不同的发票号码多次打印报告
- 27. Odoo - 在树形视图中打印多个碧玉报告
- 28. 在odoo报告中打印from_date to_date [已解决]
- 29. 无法在传统报告的每个页面中打印报告标题
- 30. 如何在Silverlight 4中打印报告
你可以展示你的方法,你卡在哪里? (SO不是代码交付...) – jkalden
可以附加截图吗? – Bhanukiran