ผมขอแนะนำโมดูล qrcode เป็นโมดูลสำหรับสร้าง QR Code โดยรองรับทั้ง Python 2 และ Python 3 ใช้ License: BSD ครับ
โมดูล qrcode นี้ต้องการโมดูล pillow ครับ ให้ติดตั้งก่อนครับ ใช้คำสั่ง
$ pip install Pillow
เสร็จแล้วสามารถติดตั้งโมดูล qrcode ได้โดยใช้คำสั่ง pip:
$ pip install qrcode
การสร้าง QR code บน Python ด้วยโมดูล qrcode
ในการสร้าง QR Code สามารถทำได้ดังนี้ครับ
import qrcode
img = qrcode.make('Some data here')
หากต้องการกำหนดค่า QR Code
import qrcode
qr = qrcode.QRCode(
version=1, #ใช้ควบคุมขนาดของรหัส QR Code โดยมีค่า 1 - 40 ค่าที่ 1 จะมีขนาด 21x21 เมทริกซ์
error_correction=qrcode.constants.ERROR_CORRECT_L, #ควบคุมการแก้ไขข้อผิดพลาด
box_size=10, #ขนาดของกล่อง QR Code
border=4, #ขนาดกรอบ
)
qr.add_data('Some data') #เพิ่มข้อมูล
qr.make(fit=True)
img = qr.make_image()
พารามิเตอร์ error_correction ควบคุมการแก้ไขข้อผิดพลาดของ QR Code โดยมีคำสั่งดังนี้
- ERROR_CORRECT_L
อาจจะมีข้อผิดพลาดประมาณ 7% - ERROR_CORRECT_M (default)
อาจจะมีข้อผิดพลาดประมาณ 15% - ERROR_CORRECT_Q
อาจจะมีข้อผิดพลาดประมาณ 25% - ERROR_CORRECT_H.
อาจจะมีข้อผิดพลาดประมาณ 30%
หากต้องการส่งออก QR Code ออกเป็นไฟล์ภาพ PNG สามารถทำได้ดังนี้ครับ
import qrcode
img = qrcode.make('Python')
imgload = open('img-data.png','wb') #สร้างไฟล์ไบต์ใหม่ขึ้นมา กำหนดสิทธิ์เขียนไฟล์ได้
img.save(imgload, 'PNG') #บันทึกค่า QR Code เข้าไปยังไฟล์
imgload.close() #ปิดไฟล์
ผลลัพธ์
เพียงแค่เปิดไฟล์ แล้วใช้คำสั่ง save แค่นี้จะได้ไฟล์ภาพ QR code แล้วครับ
ติดตามบทความต่อไปนะครับ
ขอบคุณครับ
ปรับปรุงครั้งที่ 1 21/2/2020
ตอบลบ