golang 每日一庫之 barcode
boombuler/barcode
是一個用 Go 編寫的高質量條形碼生成庫,支持多種類型的條形碼和二維碼,使用簡單、擴展性強,非常適合用於生成圖像格式的條碼、二維碼等。
倉庫信息
-
GitHub: https://github.com/boombuler/barcode
-
Stars: ★ 1.6k+
-
許可證: MIT
-
安裝方式:
go get github.com/boombuler/barcode
支持的條碼類型
-
Code 128(一種高密度的一維條碼)
-
EAN(歐洲商品編碼)
-
QR Code(二維碼)
-
PDF417
-
Aztec(二維條碼)
-
Codabar
-
DataMatrix
-
以及一些基本圖像操作(縮放、格式轉換)
特點
-
支持多種主流條碼標準
-
易於集成到 Go 項目中
-
生成標準
image.Image
,可方便地保存爲 PNG/JPEG -
支持圖像縮放、尺寸控制
-
支持二維碼糾錯等級設置(L/M/Q/H)
示例
生成 Code128 條形碼
package main
import (
"github.com/boombuler/barcode"
"github.com/boombuler/barcode/code128"
"image/png"
"os"
)
func main() {
code, _ := code128.Encode("Hello, Code128!")
// 縮放成需要的大小
code, _ = barcode.Scale(code, 300, 100)
file, _ := os.Create("code128.png")
defer file.Close()
png.Encode(file, code)
}
生成 QR Code 二維碼(含糾錯等級)
package main
import (
"github.com/boombuler/barcode"
"github.com/boombuler/barcode/qr"
"image/png"
"os"
)
func main() {
qrCode, _ := qr.Encode("https://example.com", qr.L, qr.Auto)
qrCode, _ = barcode.Scale(qrCode, 256, 256)
file, _ := os.Create("qrcode.png")
defer file.Close()
png.Encode(file, qrCode)
}
使用 PDF417 條碼(適合大數據量)
package main
import (
"github.com/boombuler/barcode"
"github.com/boombuler/barcode/pdf417"
"image/png"
"os"
)
func main() {
pdfCode, _ := pdf417.Encode("Large amount of text here or binary data...")
pdfCode, _ = barcode.Scale(pdfCode, 300, 150)
file, _ := os.Create("pdf417.png")
defer file.Close()
png.Encode(file, pdfCode)
}
Aztec Code(兼容性強的二維碼)
package main
import (
"github.com/boombuler/barcode"
"github.com/boombuler/barcode/aztec"
"image/png"
"os"
)
func main() {
aztecCode, _ := aztec.Encode([]byte("Aztec code demo"))
aztecCode, _ = barcode.Scale(aztecCode, 200, 200)
file, _ := os.Create("aztec.png")
defer file.Close()
png.Encode(file, aztecCode)
}
縮放圖像操作
你也可以單獨使用 barcode.Scale
來調整條形碼尺寸,使其適應特定打印機、UI 界面或佈局:
resized, err := barcode.Scale(originalBarcode, 600, 200)
應用場景
-
快遞系統打印條碼(Code128、EAN)
-
商品標籤生成(EAN, QR)
-
App 登錄掃碼(二維碼)
-
倉儲、物流掃碼追蹤
-
用戶身份二維碼簽到系統
-
醫療系統中的患者標籤或檢驗條碼
最後
boombuler/barcode
是一個成熟可靠的 Go 條碼生成庫,支持主流條碼標準,且使用方式直觀,適合各種商業系統與工具的集成。
標題:golang 每日一庫之 barcode
作者:mooncakeee
地址:http://blog.dd95828.com/articles/2025/06/17/1750123271620.html
聯繫:scotttu@163.com
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/auSWcZfogAhGbhdz6mRPTQ