條形碼和二維碼是現代信息交換和數據存儲的重要工具,它們將信息以圖形的形式編碼,便於機器識別和數據處理,被廣泛應用於物流、零售、醫療、教育等各領域。本文將介紹如何使用Python快速生成各種常見的條形碼如Code 128、EAN-13,以及生成二維碼。 Python條碼庫 本文需要用到 Spire.B ...
條形碼和二維碼是現代信息交換和數據存儲的重要工具,它們將信息以圖形的形式編碼,便於機器識別和數據處理,被廣泛應用於物流、零售、醫療、教育等各領域。本文將介紹如何使用Python快速生成各種常見的條形碼如Code 128、EAN-13,以及生成二維碼。
Python條碼庫
本文需要用到 Spire.Barcode for Python 庫,該庫支持生成、識別各類一維和二維條碼,包括 EAN, UPC, Code128, Code39, QR Code, Data Matrix 等,滿足各種應用需求。此外還提供了豐富的介面來自定義條碼圖片的邊框樣式、顏色、邊距等屬性。
該Python條碼生成庫可以通過 pip輕鬆安裝:
pip install Spire.Barcode
生成條碼的類、方法簡介
要使用Spire.Barcode for Python庫生成條碼,主要會用到以下類、屬性、方法:
- BarcodeSettings 類:用於條碼生成的各項設置。支持設置條碼類型、數據、背景色、寬高度、邊距、解析度等。
- BarcodeSettings.Type 屬性:設置條碼類型。
- BarcodeSettings.Data 屬性:設置條碼數據。
- BarcodeSettings.Data2D 屬性:設置二維碼文本。
- BarcodeGenerator 類:用於條碼渲染。
- BarcodeGenerator.GenerateImage() 方法:用於生成條碼圖片。
Python 生成 Code128碼
from spire.barcode import * def WriteAllBytes(fname: str, data): with open(fname, "wb") as fp: fp.write(data) fp.close() # 創建BarcodeSettings對象 barcodeSettings = BarcodeSettings() # 將條碼類型設置為Code128 barcodeSettings.Type = BarCodeType.Code128 # 設置條碼數據 barcodeSettings.Data = "XD00555" # 設置Code128條形碼的代碼集 barcodeSettings.Code128SetMode = Code128SetMode.Auto # 創建BarCodeGenerator對象 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() # 創建BarcodeSettings對象 barcodeSettings = BarcodeSettings() # 將條碼類型設置為EAN13 barcodeSettings.Type = BarCodeType.EAN13 # 設置條碼數據 barcodeSettings.Data = "5019632805254" # 創建BarCodeGenerator對象 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() # 創建BarcodeSettings對象 barcodeSettings = BarcodeSettings() # 將條碼類型設置為QR Code barcodeSettings.Type = BarCodeType.QRCode # 設置背景顏色 barcodeSettings.BackColor = Color.get_WhiteSmoke() # 設置QR Code的編碼模式 barcodeSettings.QRCodeDataMode = QRCodeDataMode.Byte # 設置糾錯等級(ECL) barcodeSettings.QRCodeECL = QRCodeECL.M # 設置是否在二維碼底部顯示文本 barcodeSettings.ShowTextOnBottom = True # 設置解析度 barcodeSettings.DpiX = 500 barcodeSettings.DpiY = 500 # 設置二維碼數據 barcodeSettings.Data2D = "Hello, World" # 創建BarCodeGenerator對象 barCodeGenerator = BarCodeGenerator(barcodeSettings) # 生成二維碼圖片 barcodeimage = barCodeGenerator.GenerateImage() WriteAllBytes("QRCode.png", barcodeimage)
條碼圖:
– 測試過程中遇到的問題可前往論壇交流。
– 對於所生成條碼上的水印,可以由此申請1個月試用授權來移除:https://www.e-iceblue.cn/misc/temporary-license.html