• odoo 条形码和二维码设置


    一般在打印报表时会遇到打印条码的问题,设置如下:

    odoo源码的路由配置:

        @http.route(['/report/barcode', '/report/barcode/<type>/<path:value>'], type='http', auth="public")
        def report_barcode(self, type, value, width=600, height=100, humanreadable=0):
            """Contoller able to render barcode images thanks to reportlab.
            Samples:
                <img t-att-src="'/report/barcode/QR/%s' % o.name"/>
                <img t-att-src="'/report/barcode/?type=%s&amp;value=%s&amp;width=%s&amp;height=%s' %
                    ('QR', o.name, 200, 200)"/>
    
            :param type: Accepted types: 'Codabar', 'Code11', 'Code128', 'EAN13', 'EAN8', 'Extended39',
            'Extended93', 'FIM', 'I2of5', 'MSI', 'POSTNET', 'QR', 'Standard39', 'Standard93',
            'UPCA', 'USPS_4State'
            :param humanreadable: Accepted values: 0 (default) or 1. 1 will insert the readable value
            at the bottom of the output image
            """
            try:
                barcode = request.env['ir.actions.report'].barcode(type, value, width=width, height=height, humanreadable=humanreadable)
            except (ValueError, AttributeError):
                raise werkzeug.exceptions.HTTPException(description='Cannot convert into barcode.')
    
            return request.make_response(barcode, headers=[('Content-Type', 'image/png')])
    

    说明:

    1. 其中的type的区分大小写,网上说EAN码只能数字,但是实际测试时,可以包含字母或者特殊字符也是可以扫码出来
    2. 在报表模板中可以使用统一的地址来配置出条码
                <img t-att-src="'/report/barcode/?type=%s&amp;value=%s&amp;width=%s&amp;height=%s' %
                    ('QR', o.name, 200, 200)"/>
    
    1. type值得不同决定了条码是二维码,还是条形码
      3.1 若要显示条形码,type可以使用'Code128', 'EAN13', 'EAN8'
      3.2 二维码可以使用'QR'
    2. value值为存储得内容
    3. width 为条码得宽度,可以根据情况调整大小
    4. height 为条码得高度
  • 相关阅读:
    Spring AOP中文教程《转》
    VBScript 转义字符
    Spring工作原理
    Struts+Hibernate+Spring工作原理及使用理由
    SQL Server中,varchar和nvarchar如何选择?<转>
    TSQL 游标使用
    oracle 与sql server临时表 比较《转》
    Oracle查询语法大全<转>
    B/S 模式 套打 的一种实现方式<转>
    基于Web的套打方案集粹<转>
  • 原文地址:https://www.cnblogs.com/qianxunman/p/12639209.html
Copyright © 2020-2023  润新知