動態

詳情 返回 返回

用Python生成條形碼圖片 - 動態 詳情

在自動化生產、物流配送、商超系統等日常業務中,條形碼已成為數據快速讀取與追蹤的核心方式。相比手工設計,使用 Python 編程生成條形碼圖片,能顯著提升效率並支持批量處理。本文將介紹如何使用Python生成條形碼,並通過實戰代碼講解如何設置條碼類型、編碼內容、樣式屬性,以及保存圖像。

  • 用Python生成指定類型的條形碼圖像
  • 批量生成多個條形碼
  • 支持的條碼類型

本文使用的是Free Spire.Barcode for Python,安裝命令:pip install spire.barcode.free

用Python生成指定類型的條形碼

我們可以用該庫生成各種類型的條形碼,包括Code 128、UPC等。這裏我們以Code 128條形碼為例。Code 128是一種高密度的線性條形碼類型,支持全ASCII字符集,非常適合庫存編號、物流單號等信息編碼。
生成條形碼的基本步驟如下:

  1. 導入相關模塊
  2. 創建條碼設置對象BarcodeSettings()並配置類型與數據
  3. 使用BarCodeGenerator()實例生成圖像
  4. 將圖像保存為本地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 都能提供高質量、易上手的條碼解決方案。

user avatar chuanghongdengdeqingwa_eoxet2 頭像 laughingzhu 頭像
點贊 2 用戶, 點贊了這篇動態!
點贊

Add a new 評論

Some HTML is okay.