HomeLập trìnhPythonCách tạo mã...

Cách tạo mã QR tuyệt đẹp bằng Python


Một trả lời nhanh Mã (QR) là mã vạch mà thiết bị kỹ thuật số có thể quét dễ dàng. 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 đây.

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 này, chúng ta sẽ sử dụng segno thư viện để tạo mã QR đẹp thực hiện rất 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 thêm  Các trường hợp sử dụng, ưu điểm và cú pháp của nó

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, 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ột “vi QR” mã, mang dữ liệu thô và bạn có thể sao chép hoặc chuyển.

import segno

price_tag = segno.make("Hello World")
price_tag.save("hello-world.png")

Mã QR được tạo và lưu vào thư mục dự án của chúng tôi.

Nhãn giá
hello-world.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 border tham số cho .save() phương pháp.

import segno
qrcode = segno.make('Vampire Blues')
qrcode.save('vampire-blues.png', border=5)

ma cà rồng-blues
đầu ra: vapire-blues.png

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_qr('Welcome')
qrcode.save('welcome.png', scale=10)

hoan nghênh
chào mừng.png

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("Green ave, Kingston")
qrcode.save('address.png', dark='darkred', light="lightblue", scale=10)

Địa chỉ
địa chỉ.png

import segno
qrcode = segno.make("Green ave, Kingston")
# Dark modules with alpha transparency
qrcode.save('address2.png', dark='#0000ffcc', scale=10)

Địa chỉ 2
địa chỉ2.png

import segno
micro_qrcode = segno.make('Rain', error="q")
micro_qrcode.save('rain.png', dark='darkblue', data_dark='steelblue', scale=5)

cơn mưa
mưa.png

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

Segno cung cấp cho chúng tôi 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, .eps.pdf.

Đây là cách bạn sẽ làm điều đó:

import segno
qrcode = segno.make('Beatles')
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.

Đọc thêm  Cách sử dụng OpenCV và Python cho Computer Vision và AI

Chúng tôi sẽ tạo mã QR liên kết đến kênh YouTube của tôi (Velcast Podcast) và sau đó chúng tôi sẽ lưu mã đó.

Đây là mã cho điều đó:

import segno

video = segno.make('https://www.youtube.com/channel/UCNhFxpk6hGt5uMCKXq0Jl8A')
video.save('Video.png', dark="yellow", light="#323524", scale=5)

Và kết quả:

Băng hình
video.png

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. Các segno.helpers mô-đun 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ý, vCardsMeCards, WIFI setupsEPC 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 Mã QR.

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

Sự cân bằng tối ưu giữa mật độ và độ dẻo dai để sử dụng tiếp thị nói 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, Cấp độ QCấ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)

truy cập wifi
truy cập wifi.png

Chúng tôi 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 thêm  Danh sách Python .remove() - Cách xóa một mục khỏi danh sách trong Python

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 ta chỉ cần tận dụng helpers.make_mecard() phương pháp và chúng tôi có thể chuyển vào các chi tiết liên lạc. 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="Shittu Olumide", email="[email protected]", phone="+123456789")
qrcode.designator
'3-L'
# Some params accept multiple values, like email, phone, url
qrcode = helpers.make_mecard(name="Shittu Olumide", 
                             email=('[email protected]', '[email protected]'),
                             url=['http://www.example.com', 'https://example.come/~olu'])
qrcode.save('mycontact.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 tin nhắn bằng chủ đề và nội dung đặ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 thứ khác nữa.

Phần kết luận

Hy vọng rằng, bài viết ngắn này đã kích thích sự thèm ăn của bạn và truyền cảm hứng cho bạn sử dụng mã QR trong công việc và các dự án cá nhân của mình.

Bằng cách phát triển một số mã QR hoạt động bắt mắt trong bài viết này, chúng tôi đã thử nghiệm mô-đun Segno Python. Bạn có thể đọc tài liệu chính thức để tìm hiểu thêm về thư viện.



Zik.vn – Biên dịch & Biên soạn Lại

spot_img

Create a website from scratch

Just drag and drop elements in a page to get started with Newspaper Theme.

Buy Now ⟶

Bài viết liên quang

DMCA.com Protection Status