ایجاد کردن کد QR در پایتون
در این مقاله به بررسی نحوه تولید کد QR در پایتون و برخی از ویژگیهای مفید کتابخانه pyqrcode میپردازیم. کدهای QR اخیراً محبوبتر از همیشه شدهاند، اما تعداد کمی از مردم میدانند که اولین کدهای QR در دهه 1990 در ژاپن برای صنعت خودرو ایجاد شد.
کد QR (به معنی پاسخ سریع) اساساً بارکدی است که همه ما عادت داریم آن را روی محصولاتی که در فروشگاههای مواد غذایی میخریم ببینیم. کد QR برچسبی است که حاوی اطلاعات خاصی است.
برخلاف بارکدهای سنتی، کدهای QR میتوانند اطلاعات بیشتری را ذخیره کنند و اغلب برای ذخیره جزئیات محصول، موقعیتهای جغرافیایی، کوپنها، آدرسهای اینترنتی و موارد دیگر استفاده میشوند.
اکنون که می دانیم کد QR چیست و چگونه می توان از آنها استفاده کرد، بیایید اولین تصویر کد QR ساده خود را ایجاد کنیم و سعی کنیم با استفاده از آن به اطلاعات دسترسی پیدا کنیم.
دوره پیشنهادی: دوره آموزش پایتون (python)
# ساخت یک کد QR ساده با پایتون
برای دنبال کردن این آموزش به دو کتابخانه پایتون نیاز داریم: pyqrcode
و pypng
. اگر آنها را نصب نکردهاید، با استفاده از کد زیر آنها را نصب کنید:
pip install pyqrcode
pip install pypng
بعد از نصب، کتابخانههای مورد نیاز را وارد کنید:
import pyqrcode
from pyqrcode import QRCode
من یک کد QR ایجاد خواهم کرد که پس از اسکن، شما را به همین آموزش در مرورگر می برد. برای انجام این کار، ابتدا باید URL این پست را پیدا کنم و آن را به عنوان یک متغیر ذخیره کنم:
dest = 'https://www.mongard.ir/articles/166/generate-qr-code-using-python/'
مقاله پیشنهادی: آموزش تابع callable پایتون
مرحله بعدی در واقع ایجاد کد QR است که حاوی لینک ما خواهد بود:
myQR = QRCode(dest)
در اینجا یک آبجکت از کلاس QRCode ایجاد می کنیم و مقصد(dest) خود را به عنوان آرگومان به آن ارسال می کنیم و یک کد QR ایجاد می کنیم.
در آخر برای نمایش کد QR میتوانید از دستور زیر استفاده کنید:
myQR.show()
بعد از اجرای کد بالا، نتیجهای شبیه به این خواهید دید:
برای استفاده مجدد از این کد QR، آن را به عنوان PNG ذخیره می کنیم:
myQR.png('qrcode1.png', scale=8)
توجه: scale=8 پارامتری است که اندازه تصویر کد QR را تنظیم می کند و می توانید آن را برای افزایش یا کاهش اندازه تصویر کد QR تنظیم کنید.
مقاله پیشنهادی: ساخت ماشین حساب گرافیکی در پایتون
# سفارشی کردن کد QR پایتون
بخش بالا نحوه ایجاد یک کد QR ساده بدون تنظیمات خاص را نشان داد. زمانی که پارامترها مشخص نشده باشند، مقادیر پیش فرض را می گیرند و کد اجرا می شود.
وقتی QR ساده خود را با استفاده از کد زیر ایجاد کردیم:
myQR = QRCode(dest)
در واقع، پارامترهای پیشفرض از پیش تعیین شده خاصی وجود داشت، و در صورت گسترش، کد به شکل زیر خواهد بود (با این حال خروجی یکسان را تولید میکند):
myQR = QRCode(dest, error='H', version=None, mode=None, encoding='iso-8859-1')
بیایید با فهرست کردن تمام پارامترهای ممکن کلاس QRCode شروع کنیم و در مورد اینکه هر کدام از آنها چه کاری انجام می دهند صحبت کنیم:
- dest: این پارامتر "هدفی" است که می خواهیم در کد QR رمزگذاری کنیم.
- error: سطح تصحیح خطای کد (به طور پیش فرض روی "H" تنظیم شده است که بالاترین سطح ممکن است).
- version: اندازه و ظرفیت داده کد را مشخص می کند (می تواند مقادیر صحیح بین 1 تا 40 را بگیرد) و وقتی نامشخص باقی بماند، کوچکترین نسخه کد QR ممکن را برای ذخیره داده هایی که می خواهیم (با دانستن اندازه آن) پیدا می کند.
- mode: نحوه کدگذاری محتوا را مشخص می کند (چهار گزینه وجود دارد: عددی، الفبایی، باینری، کانجی). اگر نامشخص باقی بماند، توسط الگوریتم حدس زده می شود.
- encoding: نحوه کدگذاری محتوا را مشخص می کند و به صورت پیش فرض iso-8 را تعیین می کند.
توضیح دقیق هر پارامتر در اینجا موجود است.
می توانید با کد اولیه بازی کنید و پارامترهای بالا را تنظیم کنید تا ببینید چگونه تفاوت ها در تصویر کد QR نهایی نشان داده می شود.