使用python生成各種常見(jiàn)條形碼及二維碼
前言
條形碼和二維碼是現(xiàn)代信息交換和數(shù)據(jù)存儲(chǔ)的重要工具,它們將信息以圖形的形式編碼,便于機(jī)器識(shí)別和數(shù)據(jù)處理,被廣泛應(yīng)用于物流、零售、醫(yī)療、教育等各領(lǐng)域。
本文將介紹如何使用Python快速生成各種常見(jiàn)的條形碼如Code 128、EAN-13,以及生成二維碼。
Python條碼庫(kù)
本文需要用到 Spire.Barcode for Python 庫(kù),該庫(kù)支持生成、識(shí)別各類(lèi)一維和二維條碼,包括 EAN, UPC, Code128, Code39, QR Code, Data Matrix 等,滿(mǎn)足各種應(yīng)用需求。此外還提供了豐富的接口來(lái)自定義條碼圖片的邊框樣式、顏色、邊距等屬性。
該P(yáng)ython條碼生成庫(kù)可以通過(guò) pip輕松安裝:
pip install Spire.Barcode
生成條碼的類(lèi)、方法簡(jiǎn)介
要使用Spire.Barcode for Python庫(kù)生成條碼,主要會(huì)用到以下類(lèi)、屬性、方法:
BarcodeSettings
類(lèi):用于條碼生成的各項(xiàng)設(shè)置。支持設(shè)置條碼類(lèi)型、數(shù)據(jù)、背景色、寬高度、邊距、分辨率等。BarcodeSettings.Type
屬性:設(shè)置條碼類(lèi)型。BarcodeSettings.Data
屬性:設(shè)置條碼數(shù)據(jù)。BarcodeSettings.Data2D
屬性:設(shè)置二維碼文本。BarcodeGenerator
類(lèi):用于條碼渲染。BarcodeGenerator.GenerateImage()
方法:用于生成條碼圖片。
以下為生成條碼的Python代碼示例
Python 生成 Code128碼
from spire.barcode import * def WriteAllBytes(fname: str, data): with open(fname, "wb") as fp: fp.write(data) fp.close() # 創(chuàng)建BarcodeSettings對(duì)象 barcodeSettings = BarcodeSettings() # 將條碼類(lèi)型設(shè)置為Code128 barcodeSettings.Type = BarCodeType.Code128 # 設(shè)置條碼數(shù)據(jù) barcodeSettings.Data = "XD00555" # 設(shè)置Code128條形碼的代碼集 barcodeSettings.Code128SetMode = Code128SetMode.Auto # 創(chuàng)建BarCodeGenerator對(duì)象 barCodeGenerator = BarCodeGenerator(barcodeSettings) # 生成條碼圖片 barcodeimage = barCodeGenerator.GenerateImage() WriteAllBytes("Code128.png", barcodeimage)
條碼圖:
Python 生成 EAN-13碼
from spire.barcode import * def WriteAllBytes(fname: str, data): with open(fname, "wb") as fp: fp.write(data) fp.close() # 創(chuàng)建BarcodeSettings對(duì)象 barcodeSettings = BarcodeSettings() # 將條碼類(lèi)型設(shè)置為EAN13 barcodeSettings.Type = BarCodeType.EAN13 # 設(shè)置條碼數(shù)據(jù) barcodeSettings.Data = "5019632805254" # 創(chuàng)建BarCodeGenerator對(duì)象 barCodeGenerator = BarCodeGenerator(barcodeSettings) # 生成條碼圖片 barcodeimage = barCodeGenerator.GenerateImage() WriteAllBytes("EAN13.png", barcodeimage)
條碼圖:
Python 生成二維碼QR Code
from spire.barcode import * def WriteAllBytes(fname:str,data): fp = open(fname,"wb") fp.write(data) fp.close() # 創(chuàng)建BarcodeSettings對(duì)象 barcodeSettings = BarcodeSettings() # 將條碼類(lèi)型設(shè)置為QR Code barcodeSettings.Type = BarCodeType.QRCode # 設(shè)置背景顏色 barcodeSettings.BackColor = Color.get_WhiteSmoke() # 設(shè)置QR Code的編碼模式 barcodeSettings.QRCodeDataMode = QRCodeDataMode.Byte # 設(shè)置糾錯(cuò)等級(jí)(ECL) barcodeSettings.QRCodeECL = QRCodeECL.M # 設(shè)置是否在二維碼底部顯示文本 barcodeSettings.ShowTextOnBottom = True # 設(shè)置分辨率 barcodeSettings.DpiX = 500 barcodeSettings.DpiY = 500 # 設(shè)置二維碼數(shù)據(jù) barcodeSettings.Data2D = "Hello, World" # 創(chuàng)建BarCodeGenerator對(duì)象 barCodeGenerator = BarCodeGenerator(barcodeSettings) # 生成二維碼圖片 barcodeimage = barCodeGenerator.GenerateImage() WriteAllBytes("QRCode.png", barcodeimage)
條碼圖:
到此這篇關(guān)于使用python生成各種常見(jiàn)條形碼及二維碼的文章就介紹到這了,更多相關(guān)python生成條形碼及二維碼內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python的SimpleHTTPServer模塊用處及使用方法簡(jiǎn)介
這篇文章主要介紹了Python的SimpleHTTPServer模塊用處及使用方法簡(jiǎn)介,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01PyTorch的深度學(xué)習(xí)入門(mén)之PyTorch安裝和配置
這篇文章主要介紹了PyTorch的深度學(xué)習(xí)入門(mén)之PyTorch安裝和配置,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-06-06Python實(shí)現(xiàn)線程池工作模式的案例詳解
這篇文章給大家介紹Python實(shí)現(xiàn)線程池工作模式的相關(guān)知識(shí),本文基于Socket通信方法,自定義數(shù)據(jù)交換協(xié)議,圍繞蘋(píng)果樹(shù)病蟲(chóng)害識(shí)別需求,迭代構(gòu)建了客戶(hù)機(jī)/服務(wù)器模式的智能桌面App,感興趣的朋友跟隨小編一起看看吧2022-06-06Python實(shí)現(xiàn)校園網(wǎng)自動(dòng)登錄的腳本分享
這篇文章主要和大家分享一個(gè)Python腳本,leukemia實(shí)現(xiàn)校園網(wǎng)自動(dòng)登錄功能。文中的示例代碼簡(jiǎn)潔易懂,快跟隨小編一起動(dòng)手嘗試一下吧2022-06-06python循環(huán)之彩色圓環(huán)實(shí)現(xiàn)示例
這篇文章主要為大家介紹了python循環(huán)之彩色圓環(huán)實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06Django框架ORM操作數(shù)據(jù)庫(kù)不生效問(wèn)題示例解決方法
本文詳細(xì)描述使用Django 的ORM框架操作PostgreSQL數(shù)據(jù)庫(kù)刪除不生效問(wèn)題的定位過(guò)程及解決方案,并總結(jié)使用ORM框架操作數(shù)據(jù)庫(kù)不生效的問(wèn)題的通用定位方法,感興趣的朋友跟隨小編一起看看吧2023-01-01使用celery和Django處理異步任務(wù)的流程分析
Celery是 一個(gè)專(zhuān)注于實(shí)時(shí)處理的任務(wù)隊(duì)列,它還支持任務(wù)調(diào)度。 Celery快速,簡(jiǎn)單,高度可用且靈活。這篇文章主要介紹了使用celery和Django處理異步任務(wù)的流程分析,需要的朋友可以參考下2020-02-02matplotlib自定義鼠標(biāo)光標(biāo)坐標(biāo)格式的實(shí)現(xiàn)
這篇文章主要介紹了matplotlib自定義鼠標(biāo)光標(biāo)坐標(biāo)格式的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01