Windows环境下的Openerp报告和pdf打印

时间:2014-04-13 08:30:11

标签: python windows openerp ghostscript

我试图在Openerp v7中为windows环境实现直接打印机功能。我在python中使用win32api启动ghostscript gsprint的基本脚本。

import win32api
invoice = "D:\Downloads\Invoices.pdf"
win32api.ShellExecute(0, 'open', 'C:\Program Files\Ghostgum\gsview\gsprint.exe', invoice, '.', 1)

在openerp中,以下内容为特定报告类型带来了所需的解析器,然后报告出来。

report_sxw.report_sxw(
    'report.account.invoice',
    'account.invoice',
    'addons/account/report/account_print_invoice.rml',
    parser=account_invoice
)

这是我不知道应该寻找什么文件来插入win32api代码的阶段。在openerp安装时探索文件,我看到pypdf和reportlab,但这些是库,所以我不相信我应该在那里编辑。

我根本不知道在哪里寻找。

1 个答案:

答案 0 :(得分:1)

如果您想获取stock.picking的pdf,请尝试以下代码:

import openerp.netsvc as netsvc
report_obj = netsvc.LocalService('report.stock.picking.list') # or any other report
(result_pdf, result_format) = report_obj.create(cr, uid, [res_id], {'report_type': 'pdf'}, context)

result_pdf应该是pdf文件。如有其他问题,请问: - )

这种类型的代码将在stock.picking等模型中用作按钮方法代码,否则

如果你想让你的东西进入网络客户端"打印按钮"您必须覆盖Web控制器以获取报告。你可以在web.controllers.main.Reports和网上的一些例子中找到它来覆盖它(例如为了获得更好的文件名......)