You are asking about two things
1- How to print a report(and get the binary data perhaps?)
result = self.pool.get('report').get_pdf(cr, uid, [res_id], report_name, context=ctx)
where:
res_id is the id of the object to use in the report related to the model of the report,
report_name is the name of the report to print used to locate the report template
result is the binary data of the pdf report
2- How get an already saved Odoo report file
obj = self.pool.get(report.model).browse(cr, uid, rec_id)
filename = eval(report.attachment, {'object': obj, 'time': time})
alreadyindb = [('datas_fname', '=', filename),('res_model', '=', report.model),('res_id', '=', rec_id)]
attach_ids = self.pool.get('ir.attachment').search(cr, uid, alreadyindb)
if attach_ids:
pdf = self.pool.get('ir.attachment').browse(cr, uid, attach_ids[0]).datas
pdf = base64.decodestring(pdf)
where
report is the record of the report located by name object and
res_id the id of the object of the model of the report