Windows环境下Openerp报告和pdf打印
Posted
技术标签:
【中文标题】Windows环境下Openerp报告和pdf打印【英文标题】:Openerp report and pdf printing in Windows environment 【发布时间】:2014-04-13 08:30:11 【问题描述】:我正在尝试在 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】:如果您想获取 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 控制器以获取报告。您可以在web.controllers.main.Reports
和网络上的一些示例中找到它以覆盖它(例如获得更好的文件名......)
【讨论】:
您好,感谢您的回复。只是想知道,您的代码将存在于何处。此外。 Pick_report_obj 是 report_obj? 哎呀错过了那个:P您可以在某些模型功能中使用这种类型的代码...哦,等等,我会稍微编辑一下我的答案^^以上是关于Windows环境下Openerp报告和pdf打印的主要内容,如果未能解决你的问题,请参考以下文章