Hi,
In .py file:
def generate_barcode(self):
data = {
'response': self.name,
}
return self.env.ref('module_name.action_generate_barcode').report_action(self,data=data)
In Button Xml:
<header>
<button name="generate_barcode" string="Generate Barcode" type="object"/>
</header>
In barcode_action.xml:
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="action_generate_barcode" model="ir.actions.report">
<field name="name"> Barcode</field>
<field name="model">module.name</field>
<field name="report_type">qweb-pdf</field>
<field name="report_name">module_name.print_barcode</field>
<field name="report_file">module_name.print_barcode</field>
</record>
</odoo>
In barcode_template.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<template id="print_barcode_custom">
<t t-call="web.basic_layout">
<div class="page">
<div class="col-md-6">
<img class="barcode"
t-att-src="'/report/barcode/?barcode_type=%s&value=%s&width=%s&height=%s&humanreadable=1&quiet=0' % ('Code128',response, 205, 67)"
alt="Barcode"/>
</div>
</div>
</t>
</template>
</odoo>
Regards