Quick Response (QR) là mã vạch mà thiết bị kỹ thuật số có thể dễ dàng quét. Nó mã hóa dữ liệu dưới dạng một chuỗi pixel trong lưới ô vuông.
Theo dõi thông tin về chuỗi cung ứng bằng mã QR rất hữu ích trong các chiến dịch tiếp thị và quảng cáo.
Tổ chức Tiêu chuẩn hóa Quốc tế đã chứng nhận mã QR là tiêu chuẩn toàn cầu vào năm 2000. Chúng là một cải tiến so với mã vạch một chiều (ISO) trước đó.
Mã QR được phát triển vào những năm 1990 để cung cấp nhiều thông tin hơn mã vạch thông thường. Chúng được tạo ra bởi Denso Wave, một chi nhánh của Toyota, để giám sát quá trình sản xuất xe.
Trái ngược với mã vạch cần một chùm ánh sáng để bật ra khỏi các đường song song, mã QR có thể được quét kỹ thuật số bằng các thiết bị như điện thoại thông minh.
Mã QR được sử dụng trong các hệ thống tiền điện tử để kích hoạt thanh toán kỹ thuật số, chẳng hạn như khi hiển thị địa chỉ Bitcoin. Mã QR cũng thường được sử dụng để liên lạc URL của trang web với thiết bị di động.
Trong bài viết này, chúng tôi sẽ sử dụng segnothư viện để tạo mã QR đẹp thực hiện nhiều chức năng.

Segno là gì?

Segno là trình tạo mã QR mã nguồn mở cho phép bạn tạo cả mã QR thông thường và mã QR vi mô với rất ít nỗ lực. Nó cũng không có bất kỳ phụ thuộc nào.
Segno cung cấp một số loại tuần tự hóa như SVG , EPS , PNG , PDF và đầu ra văn bản. Không có trình nối tiếp nào trong số này gọi thư viện bên ngoài. Thông qua thiết kế plugin, Segno cung cấp các loại tuần tự hóa khác. PyPy và Python phiên bản 2.6 đến 3.4 đã được sử dụng để thử nghiệm.

Cách cài đặt Segno

Cũng giống như mọi thư viện Python khác, bạn có thể cài đặt Segno qua pip.
pip install segno

Cách tạo mã QR

Vì vậy, sử dụng .make() phương pháp này, hãy bắt đầu bằng cách tạo mã QR cơ bản nhất có thể. Vì nội dung quá ngắn gọn nên Segno sẽ tự động tạo mã "micro QR " có kích thước ngộ nghĩnh mang dữ liệu thô và bạn có thể sao chép hoặc chuyển.
import segno

price_tag = segno.make("PHUCUONGDS")
price_tag.save("phucuongds.png")
Mã QR được tạo và lưu vào thư mục dự án.
phucuongds.png
Chúng ta có thể thêm đường viền cho mã QR để trông bắt mắt hơn. Bạn có thể làm điều này bằng cách thêm tham số border vào phương thức .save().
import segno
qrcode = segno.make('PHUCUONGDS')
qrcode.save('phucuongds.png', border=5)
Các mã QR mà chúng tôi đang tạo ra rất nhỏ. Chúng ta có thể làm cho chúng trông lớn hơn bằng cách thêm tham số tỷ lệ như sau:
import segno
qrcode = segno.make('PHUCUONGDS')
qrcode.save('phucuongds.png', scale=10)

Cách tạo mã QR đầy màu sắc

Chúng tôi cũng có thể tạo một số mã QR đầy màu sắc với Segno – chúng thực sự rất đẹp. Điều này có thể thực hiện được với sự trợ giúp của nhiều bộ nối tiếp chấp nhận các tham số tối và sáng để chỉ định màu của mô-đun tối và mô-đun sáng.
Dưới đây là một vài ví dụ để cung cấp cho bạn ý tưởng về những gì có thể:
import segno
qrcode = segno.make('PHUCUONGDS')
qrcode.save('phucuongds.png', dark='darkred', light='lightblue', scale=10)
import segno
qrcode = segno.make('PHUCUONGDS')
qrcode.save('phucuongds.png', dark='#0000ffcc', scale=10)
import segno
qrcode = segno.make('PHUCUONGDS')
qrcode.save('phucuongds.png', dark='darkblue', data_dark='steelblue', scale=5)

Cách lưu mã QR ở các định dạng khác nhau

Segno cung cấp sự linh hoạt để lưu mã QR đã tạo ở các định dạng tệp khác nhau, chẳng hạn như .svg, .png, .epsvà .pdf.
Đây là cách bạn sẽ làm điều đó:
import segno
qrcode = segno.make('PHUCUONGDS')
qrcode.save('Beatles.svg')
qrcode.save('Beatles.png')
qrcode.save('Beatles.eps')

Các trường hợp sử dụng cho mã QR với các ví dụ

Cách tạo mã QR để chia sẻ URL

Chúng tôi có thể dễ dàng tạo mã QR liên kết đến một URL. Điều này cho phép chúng tôi tải nội dung trực tuyến bằng cách sử dụng cùng một kỹ thuật với tải trọng lớn hơn một chút.
Đây là mã cho điều đó:
import segno
qrcode = segno.make('https://www.phucuongds.com/')
qrcode.save('phucuongds.png', scale=10)
Và kết quả:

Cách tạo mã QR cho cấu hình WiFi

Chúng ta cũng có thể sử dụng thư viện Segmo để tạo mã QR cấu hình wifi. Mô-đun segno.helpers này cung cấp các phương thức xuất xưởng để tạo mã QR tiêu chuẩn để mã hóa tọa độ địa lý vCards và MeCards, WIFI setups, và EPC QR Codes.

Mức sửa lỗi "L" được sử dụng trong việc tạo mã QR. Nếu có thể, chúng tôi sẽ áp dụng mức sửa lỗi cao hơn mà không làm thay đổi phiên bản QR Code.

Mật độ của hình ảnh mã QR giảm khi mức sửa lỗi giảm , giúp tăng kích thước in tối thiểu. Nó càng chịu được nhiều thiệt hại trước khi mất khả năng đọc thì mức độ sửa lỗi càng lớn .

Sự cân bằng tối ưu giữa mật độ và độ dẻo dai để sử dụng tiếp thị chung là Cấp độ L hoặc Cấp độ M . Trong môi trường công nghiệp, nơi có thể khó duy trì mã QR sạch hoặc không bị hư hại, thì Cấp Q và Cấp H là những lựa chọn tốt nhất.
from segno import helpers

qrcode = helpers.make_wifi(ssid='MyWifi', password='1234567890', security='WPA')
qrcode.designator
'3-M'
qrcode.save('wifi-access.png', scale=10)
Cũng có thể làm mã này theo cách này:
import segno
wifi_settings = {    
    ssid='(Wifi Name)',    
    password='(Wifi Password)',    
    security='WPA',
    }
wifi = segno.helpers.make_wifi(**wifi_settings)
wifi.save("Wifi.png", dark="yellow", light="#323524", scale=8)
Chúng ta có thể sử dụng một trong hai tùy chọn cho mã. Chúng dẫn đến cùng một điều nhưng đại diện cho các phong cách viết và trình bày khác nhau.
Các trường hợp sử dụng phổ biến của việc sử dụng mã QR để truy cập wifi bao gồm:
  • Thay vì cung cấp cho người tiêu dùng mã truy cập duy nhất, doanh nghiệp có thể sử dụng mã QR để cung cấp quyền truy cập WiFi miễn phí. Khách hàng chỉ cần quét mã là có quyền truy cập.
  • Các gia đình có thể sử dụng nó để cấp cho khách truy cập internet tại nhà của họ.

Cách mã hóa chi tiết liên hệ trong mã QR

Chúng tôi cũng có thể lưu trữ chi tiết liên hệ trong mã QR. Chúng tôi chỉ cần sử dụng phương pháp helpers.make_mecard() này và chúng tôi có thể chuyển chi tiết liên hệ. Cũng cần lưu ý rằng chúng ta có thể chuyển một danh sách vào phương thức.
Hãy xem xét một ví dụ:
from segno import helpers
qrcode = helpers.make_mecard(name='PHUCUONGDS', email='admin@phucuongds.com', phone='+84123456789')
qrcode.designator
'3-L'
# Some params accept multiple values, like email, phone, url
qrcode = helpers.make_mecard(name='PHUCUONGDS', 
                             email=('admin@phucuongds.com', 'admin@phucuongds.com'),
                             url=['https://www.phucuongds.com/', 'https://www.phucuongds.com/contact'])
qrcode.save('phucuongds.png', scale=5)
Segno cũng cho phép bạn thực hiện các hành động sau:
  • segno.helpers.make_geo: Khởi chạy chương trình lập bản đồ tích hợp tại một Vĩ độ và Kinh độ nhất định.
  • segno.helpers.make_email: Gửi thư bằng nội dung và chủ đề đặt trước. Tuyệt vời để kích hoạt bất kỳ số lượng hoạt động tiềm năng nào từ máy chủ thư, như đăng ký nhận bản tin, đăng ký việc bạn đến một nơi nào đó, v.v.
  • segno.helpers.make_epc_qr: Bắt đầu thanh toán điện tử.

Các trường hợp sử dụng mã QR

Bây giờ bạn đã học cách tạo mã QR, đây là một số ứng dụng của chúng trong doanh nghiệp và trong cuộc sống hàng ngày của chúng ta:
  • Thanh toán kỹ thuật số.
  • Chia sẻ thông tin kinh doanh.
  • Chia sẻ thông tin liên lạc cá nhân.
  • Thực đơn mã QR trong nhà hàng.
  • Hỗ trợ xác thực WiFi.
Và nhiều cái khác.