使用Python自動(dòng)化創(chuàng)建和掃描二維碼
引言
二維碼(Quick Response code)已成為在物理和數(shù)字領(lǐng)域之間架起橋梁的多功能工具。從分享聯(lián)系信息和網(wǎng)站鏈接到促進(jìn)支付和跟蹤庫(kù)存,二維碼在各個(gè)行業(yè)中找到了應(yīng)用。通過(guò)利用Python的功能,用戶可以自動(dòng)化生成個(gè)性化的二維碼,或者在項(xiàng)目中集成掃描功能,從而提高效率和用戶參與度。本文將展示如何使用Python自動(dòng)化創(chuàng)建和掃描二維碼。
- 使用Python創(chuàng)建二維碼
- 使用Python掃描二維碼
本文中使用的方法需要Spire.Barcode for Python,PyPI:pip install Spire.Barcode。
使用Python創(chuàng)建二維碼
BarcodeSettings類可用于配置生成條形碼的設(shè)置。這些設(shè)置包括條形碼類型、要編碼的數(shù)據(jù)、顏色、邊距以及水平和垂直分辨率。
完成這些設(shè)置后,我們可以使用這些配置創(chuàng)建一個(gè)BarcodeGenerator實(shí)例。隨后,我們可以調(diào)用生成器的GenerateImage()方法來(lái)生成條形碼圖像。
步驟如下:
- 導(dǎo)入
BarcodeSettings、BarCodeType、QRCodeECL和BarCodeGenerator模塊。 - 創(chuàng)建一個(gè)
BarcodeSettings對(duì)象。 - 使用
BarcodeSettings.Type屬性將條形碼類型設(shè)置為二維碼。 - 使用
BarcodeSettings.Data2D屬性設(shè)置二維條形碼的數(shù)據(jù)。 - 使用
BarcodeSettings對(duì)象下的屬性設(shè)置條形碼的其他屬性。 - 基于這些設(shè)置創(chuàng)建一個(gè)
BarCodeGenerator對(duì)象。 - 使用
BarCodeGenerator.GenerateImage()方法創(chuàng)建二維碼圖像。
代碼示例
from spire.barcode import BarcodeSettings, BarCodeType, QRCodeECL, BarCodeGenerator
# 將所有字節(jié)寫(xiě)入文件
def WriteAllBytes(fname: str, data):
with open(fname, "wb") as fp:
fp.write(data)
fp.close()
# 創(chuàng)建 BarcodeSettings 對(duì)象
barcodeSettings = BarcodeSettings()
# 設(shè)置條形碼類型為 QR 碼
barcodeSettings.Type = BarCodeType.QRCode
# 設(shè)置 2D 條形碼的數(shù)據(jù)
barcodeSettings.Data2D = "Hello, World"
# 設(shè)置邊距
barcodeSettings.LeftMargin = 0.2
barcodeSettings.RightMargin = 0.2
barcodeSettings.TopMargin = 0.2
barcodeSettings.BottomMargin = 0.2
# 設(shè)置水平分辨率
barcodeSettings.DpiX = 500
# 設(shè)置垂直分辨率
barcodeSettings.DpiY = 500
# 設(shè)置糾錯(cuò)級(jí)別
barcodeSettings.QRCodeECL = QRCodeECL.M
# 不在條形碼上顯示文本
barcodeSettings.ShowText = False
# 在 QR 碼的中心添加 logo
barcodeSettings.SetQRCodeLogoImage("PDF.png")
# 使用指定的設(shè)置創(chuàng)建 BarCodeGenerator 實(shí)例
barCodeGenerator = BarCodeGenerator(barcodeSettings)
# 生成條形碼圖像
image = barCodeGenerator.GenerateImage()
# 將 PNG 圖像寫(xiě)入磁盤(pán)
WriteAllBytes("output/QR-Code.png", image)
生成結(jié)果

使用Python掃描二維碼
庫(kù)中的BarcodeScanner類用于條形碼圖像識(shí)別。這個(gè)類提供了幾種從條形碼中提取數(shù)據(jù)的方法,包括:
ScanOneFile(): 掃描單個(gè)條形碼圖像文件并返回提取的數(shù)據(jù)。ScanFile(): 掃描指定圖像文件中的所有條形碼并返回提取的數(shù)據(jù)。ScanStream(): 從圖像數(shù)據(jù)流中掃描條形碼并返回提取的信息。
以下代碼演示了如何使用它掃描二維碼圖像。
掃描二維碼的步驟如下(掃描二維碼需要應(yīng)用License):
- 導(dǎo)入
BarcodeScanner模塊。 - 使用
BarcodeScanner.ScanOneFile()方法掃描包含一個(gè)二維碼的圖像,或者使用BarcodeScanner.ScanFile()方法掃描包含多個(gè)二維碼的圖像。 - 保存掃描結(jié)果到文本文件。
代碼示例
from spire.barcode import BarcodeScanner
License.SetLicenseKey("license key")
# 掃描包含一個(gè)條形碼的圖像文件
result = BarcodeScanner.ScanOneFile("output/QR-Code.png")
# 掃描包含多個(gè)條形碼的圖像文件
# results = BarcodeScanner.ScanFile("QR-Codes.png")
# 將掃描結(jié)果保存到文本文件
with open("output/QR-Code.txt", "w", encoding="utf-8") as f:
f.write(result)
掃描結(jié)果

本文展示了如何使用Python創(chuàng)建和掃描二維碼。
到此這篇關(guān)于使用Python自動(dòng)化創(chuàng)建和掃描二維碼的文章就介紹到這了,更多相關(guān)Python創(chuàng)建和掃描二維碼內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在PyTorch中實(shí)現(xiàn)高效的多進(jìn)程并行處理
PyTorch是一個(gè)流行的深度學(xué)習(xí)框架,一般情況下使用單個(gè)GPU進(jìn)行計(jì)算時(shí)是十分方便的,但是當(dāng)涉及到處理大規(guī)模數(shù)據(jù)和并行處理時(shí),需要利用多個(gè)GPU,所以這篇文章我們將介紹如何利用torch.multiprocessing模塊,在PyTorch中實(shí)現(xiàn)高效的多進(jìn)程處理,需要的朋友可以參考下2024-07-07
Python對(duì)多屬性的重復(fù)數(shù)據(jù)去重實(shí)例
下面小編就為大家分享一篇Python對(duì)多屬性的重復(fù)數(shù)據(jù)去重實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-04-04
Python實(shí)現(xiàn)抓取網(wǎng)頁(yè)生成Excel文件的方法示例
這篇文章主要介紹了Python實(shí)現(xiàn)抓取網(wǎng)頁(yè)生成Excel文件的方法,涉及PyQuery模塊的使用及Excel文件相關(guān)操作技巧,需要的朋友可以參考下2017-08-08
Python登錄系統(tǒng)界面實(shí)現(xiàn)詳解
這篇文章主要介紹了Python登錄系統(tǒng)界面實(shí)現(xiàn)詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,,需要的朋友可以參考下2019-06-06
jupyter notebook指定啟動(dòng)目錄的方法
這篇文章主要介紹了jupyter notebook指定啟動(dòng)目錄的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
Python使用sqlite3模塊內(nèi)置數(shù)據(jù)庫(kù)
這篇文章主要介紹了Python使用sqlite3模塊內(nèi)置數(shù)據(jù)庫(kù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05
python實(shí)現(xiàn)下載指定網(wǎng)址所有圖片的方法
這篇文章主要介紹了python實(shí)現(xiàn)下載指定網(wǎng)址所有圖片的方法,涉及Python針對(duì)頁(yè)面的讀取、遍歷及文件操作的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-08-08

