iT邦幫忙

2022 iThome 鐵人賽

0
Software Development

學 Python 到底可以幹麻勒?系列 第 38

( Day 38 ) 產生 BarCode ( 條碼 )

  • 分享至 

  • xImage
  •  

這篇文章會介紹使用 Python 的 python-barcode 第三方函式庫,快速將一串數字,轉換成 BarCode ( 條碼 ) 的形式呈現。

原文參考:產生 BarCode ( 條碼 )

本篇使用的 Python 版本為 3.7.12,所有範例可使用 Google Colab 實作,不用安裝任何軟體 ( 參考:使用 Google Colab )

Python 教學 - 產生 BarCode ( 條碼 )

安裝 python-barcode 函式庫

輸入下列指令,安裝 python-barcode 函式庫 ( 依據每個人的作業環境不同,可使用 pip 或 pip3 )。

!pip install python-barcode

實作過程中會進行圖片操作,輸入下列指令,額外安裝 Pillow 函式庫 ( Colab 和 Anaconda 已經內建,不用額外安裝 )。

!pip install Pillow

快速產生 BarCode

載入 python-barcode 函式庫之後,使用 EAN13 方法,輸入需要轉換成 barcode 的內容 ( 通常是一串數字 ),就會產生 barcode 圖片,使用 save 方法就能將圖片儲存為 svg。

import os
os.chdir('/content/drive/MyDrive/Colab Notebooks')  # Colab 換路徑使用

from barcode import EAN13

number = '12345678987654321'  # 要轉換的數字
my_code = EAN13(number)       # 轉換成 barcode
my_code.save("oxxo")          # 儲存為 SVG

如果要將圖片儲存為 PNG,則需要額外載入 barcode.writer 的 ImageWriter 模組,並在 EAN13 方法中設定 writer=ImageWriter() 參數,就能產生 PNG 格式的 BarCode 圖檔。

import os
os.chdir('/content/drive/MyDrive/Colab Notebooks')  # Colab 換路徑使用

from barcode import EAN13
from barcode.writer import ImageWriter         # 載入 barcode.writer 的 ImageWriter

number = '12345678987654321'
my_code = EAN13(number, writer=ImageWriter())  # 添加 writer=ImageWriter()
my_code.save("oxxo")

Python 教學 - 產生 BarCode ( 條碼 )

參考資料

更多 Python 教學

大家好,我是 OXXO,是個即將邁入中年的斜槓青年,我已經寫了超過 400 篇 Python 的教學,有興趣可以參考下方連結呦~ ^_^


上一篇
( Day 37 ) 寫入 Google 試算表
下一篇
( Day 39 ) 產生 QRCode ( 個性化 QRCode )
系列文
學 Python 到底可以幹麻勒?41
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言