在自動化生產、物流配送、商超系統等日常業務中,條形碼已成為數據快速讀取與追蹤的核心方式。相比手工設計,使用 Python 編程生成條形碼圖片,能顯著提升效率並支持批量處理。本文將介紹如何使用Python生成條形碼,並通過實戰代碼講解如何設置條碼類型、編碼內容、樣式屬性,以及保存圖像。
- 用Python生成指定類型的條形碼圖像
- 批量生成多個條形碼
- 支持的條碼類型
本文使用的是Free Spire.Barcode for Python,安裝命令:pip install spire.barcode.free。
用Python生成指定類型的條形碼
我們可以用該庫生成各種類型的條形碼,包括Code 128、UPC等。這裏我們以Code 128條形碼為例。Code 128是一種高密度的線性條形碼類型,支持全ASCII字符集,非常適合庫存編號、物流單號等信息編碼。
生成條形碼的基本步驟如下:
- 導入相關模塊
- 創建條碼設置對象
BarcodeSettings()並配置類型與數據 - 使用
BarCodeGenerator()實例生成圖像 -
將圖像保存為本地PNG文件
代碼示例from spire.barcode import BarcodeSettings, BarCodeType, BarCodeGenerator, Code128SetMode, FontStyle, Color # 初始化條碼設置 settings = BarcodeSettings() settings.Type = BarCodeType.Code128 # 設置條碼類型 settings.Data = "ABC123456789" # 設置編碼內容 settings.Code128SetMode = Code128SetMode.Auto # 使用自動字符集 settings.ShowTextOnBottom = True # 顯示底部文本 settings.BottomText = "Code 128 示例" # 設置底部文字 settings.SetTextFont("Arial", 12.0, FontStyle.Regular) settings.ShowBottomText = True # 顯示底部文字 settings.BackColor = Color.get_Beige() # 設置背景顏色 # 生成條碼圖像 generator = BarCodeGenerator(settings) barcode_image = generator.GenerateImage() # 保存為本地PNG文件 with open("output/code128.png", "wb") as f: f.write(barcode_image)
生成效果圖如下:
批量生成多個條形碼
在一些應用場景中,可能需要一次性生成大量條形碼,例如為每件商品或每個訂單生成唯一編號。以下示例演示如何使用循環實現批量條碼創建:
from spire.barcode import BarcodeSettings, BarCodeType, BarCodeGenerator
# 待編碼的數據列表
barcode_list = ["ITEM001", "ITEM002", "ITEM003"]
# 遍歷生成條碼
for data in barcode_list:
settings = BarcodeSettings()
settings.Type = BarCodeType.Code39 # 可根據需求修改為其他類型
settings.Data = data
generator = BarCodeGenerator(settings)
barcode_image = generator.GenerateImage()
with open(f"output/{data}.png", "wb") as f:
f.write(barcode_image)
每條數據將分別生成對應的PNG圖片,自動命名為數據內容,適合批量標識系統。
支持的條碼類型
Spire.Barcode for Python 支持多種條形碼與二維碼類型,包括但不限於:
- 1D線性條碼:Code 128, Code 39, EAN-13, UPC-A, Codabar 等
- 2D二維碼:QRCode, DataMatrix, PDF417, Aztec 等
- 郵政與堆疊碼
詳細條碼類型支持情況可參考Spire.Barcode for Python官方文檔。
通過以上方法,我們可以靈活地在 Python 項目中集成條形碼生成功能,實現自動化批處理、個性化編碼與圖像輸出。無論是小型應用還是大規模部署,Spire.Barcode for Python 都能提供高質量、易上手的條碼解決方案。