樹莓派3下用Python生成QR二維碼標籤

昨天搞定了樹莓派下斑馬標籤印表機,今天順便把條碼標籤生成也搞定吧。

本次測試目標是在4cm*3cm的不乾膠標籤上,同時列印出QR二維碼和文字。其中文字要支援中文。

思路很簡單:

1 生成QR碼影象;

2 生成新空白影象,用以代表物理標籤;

3 在標籤圖片上列印出QR影象;

4 在標籤圖片上列印出文字。

不得不說python還是很給力的,實現起來很方便。

#! coding: utf-8
import qrcode #apt-get python-qrcode
import Image,ImageDraw,ImageFont
# Create QR Image
qr = qrcode.QRCode(
None	#自動決定大小,配合下面的fit=True
,qrcode.constants.ERROR_CORRECT_L	#糾錯級別
,2		#單元方格的大小
,4		#需要預留的邊距寬度
)
qr.add_data('http://blog.csdn.net/ki1381')
qr.make(fit=True)
qrImg = qr.make_image()
#img.save('/home/pi/src/zzzz.png')
# Process Image
#qrImg = Image.open('/home/pi/src/zzzz.png')
(w,h) = qrImg.size
qrNewImg = Image.new('RGBA',(200,150),(255,255,255))	#200,150為經驗值
qrNewImg.paste(qrImg,(0,0,w,h))
ft = ImageFont.truetype('/usr/share/fonts/truetype/freefont/FreeSans.ttf',16)
ft2 = ImageFont.truetype('/usr/share/fonts/truetype/wqy/wqy-zenhei.ttc',16)
draw = ImageDraw.Draw(qrNewImg)
draw.text((8,h),'blog.csdn.net/ki1381',fill=(0,0,0),font = ft) #col,row
draw.text((w 8,4),unicode('ki1381專欄','utf-8'),fill=(0,0,0),font = ft2)
qrImg.close()
qrNewImg.save('/home/pi/src/a.png','PNG')
qrNewImg.close()

a.png效果圖如下: