Python3 集成条形码和二维码
Python3 集成条形码
安装:
pip install python-barcode
python-barcode 支持条形码格式:
'code39',
'ean',
'ean13',
'ean8',
'gs1',
'gtin',
'isbn',
'isbn10',
'isbn13',
'issn',
'jan',
'pzn',
'upc',
'upca'
功能演示:使用python-barcode 创建ean13标准的条形码,并将条形码另存为SVG格式文件
import barcode
# 设置条形码标准
ean = barcode.get('ean13', '123456789102')
print(ean.get_fullcode())
filename = ean.save('ean13')
print(filename)
options = dict(compress=True)
filename = ean.save('ean13', options)
print(filename)
功能演示:使用python-barcode 创建ean13标准的条形码,并将条形码另存为png 图片
import barcode
from barcode.writer import ImageWriter
# 设置条形码标准
ean = barcode.get('ean13', '123456789102', writer=ImageWriter())
filename = ean.save('D:\\ean13')
print(filename)
python-barcode 主要条形码类
1、barcode.codex.Code39(code, write=None, add_checksum=True):生成一个Code39标准的条形码
参数code: 条形码内容
参数write:条形码格式,默认为SVGWriter,即SVG格式
参数add_checksum:是否添加校验,默认值为true
2、barcode.codex.PZN(pzn,write=None): 生成一个PZN标准的条形码
3、barcode.ean.EuropeanArticleNumber13(ean, write=None):生成一个EAN-13标准的条形码
4、barcode.ean.EuropeanArticleNumber8(ean, write=None):生成一个EAN-8标准的条形码
5、barcode.ean.JapanArticleNumber(jar, write=None):生成一个JAN标准的条形码
6、barcode.isxn.InternationalStandarBookNumber13(isbn, write=None):生成一个ISBN-13标准的条形码
7、barcode.isxn.InternationalStandarBookNumber10(isbn, write=None):生成一个ISBN-10标准的条形码
8、barcode.isxn.InternationalStandarSerialNumber10(issn, write=None):生成一个ISSN标准的条形码
9、barcode.upc.UniversalProductCodeA(upc, write=None, make_ean=False):生成一个UPC-A标准的条形码
Python3 集成二维码
安装:
pip install qrcode
注意:在安装qrcode 库之前需要确保已经安装Pillow 库
功能演示:简单用法
import qrcode
img = qrcode.make("simpleqrcode")
img.save("D:\\simpleqrcode.jpg")
img.show()
功能演示:高级用法
import qrcode
qr = qrcode.QRCode(version=2, error_correction=qrcode.constants.ERROR_CORRECT_L, box_size=10, border=10,)
qr.add_data('http://www.baidu.com/')
qr.make(fit=True)
img = qr.make_image()
img.show()
img.save('D:\\3.jpg')
功能演示:带logo图案的二维码
from PIL import Image
import qrcode
qr = qrcode.QRCode(version=5,error_correction=qrcode.constants.ERROR_CORRECT_H,box_size=8,border=4)
qr.add_data("http://www.baidu.com/")
qr.make(fit=True)
img = qr.make_image()
img = img.convert("RGBA")
icon = Image.open("paste.jpg")
img_w,img_h = img.size
factor = 4
size_w = int(img_w / factor)
size_h = int(img_h / factor)
icon_w,icon_h = icon.size
if icon_w >size_w:
icon_w = size_w
if icon_h > size_h:
icon_h = size_h
icon = icon.resize((icon_w,icon_h),Image.ANTIALIAS)
w = int((img_w - icon_w)/2)
h = int((img_h - icon_h)/2)
icon = icon.convert("RGBA")
icon.show()
img.paste(icon,(w,h),icon)
img.show()
img.save('createlogo.jpg')
qrcode.QRCode 类详解
QRCode 包含以下四个属性参数
version:值为1~40的整数,控制二维码的大小(最小值是1,是个12×12的矩阵)。 如果想让程序自动确定,将值设置为 None 并使用 fit 参数即可。
error_correction:控制二维码的错误纠正功能。可取值下列4个常量。
ERROR_CORRECT_L:大约7%或更少的错误能被纠正。
ERROR_CORRECT_M(默认):大约15%或更少的错误能被纠正。
ERROR_CORRECT_Q:大约25%或更少的错误能被纠正。
ROR_CORRECT_H:大约30%或更少的错误能被纠正。
box_size:控制二维码中每个小格子包含的像素数。
border:控制边框(二维码与图片边界的距离)包含的格子数(默认为4,是相关标准规定的最小值)。
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。