How to get pdf data or content in odoo 8

I got stuck two days later to fix this issue. I would like to get the binary data or content of a PDF file and store it in a variable with or without the PDF file metadata. Here are my codes:

def generate_printout(self):

    data = self.read([self.id])[0]        
    datas = {
        'ids': [],
        'model': 'monthly.bill.wizard', # wizard model name
        'form': data,
        'context':self.env.context
    }

    # -------- HOW TO GET THE CONTENT OF PDF FILE -------- 

    return {
        'type': 'ir.actions.report.xml',
        'report_name': 'ig_bill.monthly_bill_printout_report_template',#module name.report template name
        'datas': datas,
    }   

    # -------- HOW TO GET THE CONTENT OF PDF FILE --------

      

and this is the parser class

class monthly_bill_report(osv.AbstractModel):
    _name = 'report.ig_bill.monthly_bill_printout_report_template'
    _inherit = 'report.abstract_report'
    _template = 'ig_bill.monthly_bill_printout_report_template'
    _wrapped_report_class = monthly_bill_printout_report_parser


class monthly_bill_printout_report_parser(report_sxw.rml_parse):
    def __init__(self, cr, uid, name, context): 
        super(monthly_bill_printout_report_parser, self).__init__(cr, uid, name, context=context)
        self.localcontext.update({
            'time': time,            
            'parameter_contact' : self._get_contact,
            etc...
        })

      

+3


source to share


1 answer


You can get it using the following method.

report_name = 'external_id_of_your_report'
datas=self.env['report'].get_pdf(self, report_name)

      



You can get the report data using the get_pdf method that is available in the report.

In which you need to pass the name of the report.

This might help you.

+3


source







All Articles