在本文中,我们将编写一个简短的脚本来使用 Python 生成条形码。我们将使用 python-barcode 模块,它是 pyBarcode 模块的一个分支。该模块为我们提供了以 SVG 格式生成条形码的功能。 Pillow 是生成图像格式(如 png 或 jpg)条码所必需的。
需要的模块
python-barcode:该模块用于将条形码创建为 SVG 对象。它为我们提供了创建不同标准类型条形码的能力,例如 EAN-8、EAN-13、EAN-14、UPC-A、JAN、ISBN-10、ISBN-13 等等。要安装此模块,请在终端中输入以下命令。
pip install python-barcode
Pillow: 用于创建图像格式的条形码。要安装此模块,请在终端中输入以下命令。
pip install pillow
在这里,我们将生成 EAN-13 格式的条形码。首先,让我们将其生成为 SVG 文件.
from barcode import EAN13
number = '5901234123457'
my_code = EAN13(number)
my_code.save("new_code")
现在,让我们以 PNG 格式生成相同的条形码.
import EAN13 from barcode module
from barcode import EAN13
from barcode.writer import ImageWriter
number = '5901234123457'
my_code = EAN13(number, writer=ImageWriter())
my_code.save("new_code1")
Odoo的报表中怎么显示二维码或者条码呢?
接下来我们一起来看看。
Odoo的QWeb语法支持插入条码,支持: Codabar, Code11, Code128, EAN13, EAN8, Extended39, Extended93, FIM, I2of5, MSI, POSTNET, QR, Standard39, Standard93, UPCA, USPS_4State。
条码:
<img t-att-src="'/report/barcode/Code128/%s' % 'My text in barcode'"/>
二维码:
<img t-att-src="'/report/barcode/QR/%s' % 'My text in qr code'"/>
自定义条码(类型,尺寸):
<img t-att-src="'/report/barcode/?type=%s&value=%s&width=%s&height=%s'%('QR', 'text', 200, 200)"/>
参数解释(本例为 QR, text , 200, 200):
第一位:条码类型
第二位:条码内容
第三位:图像宽度
第四位:图像高度