如何使用 Aspose.BarCode FOSS 生成条形码
Problem
使用 Aspose.BarCode FOSS 为 Python 从数据字符串生成一维和二维条形码。该库提供针对每种符号的辅助函数(code128()、qr()、ean13() 等)以及接受符号名称字符串的通用 generate() 函数。
import aspose_barcode_foss as barcode
bc = barcode.code128("Hello World")
svg = bc.to_svg()先决条件
- Python 3.12 或更高版本
- pip 包管理器
aspose-barcode-foss从源码构建
使用每种符号系统的帮助函数
每种受支持的符号系统都有一个专用的帮助函数,该函数返回一个 Barcode 对象。该帮助函数会验证输入并自动选择正确的编码器。
import aspose_barcode_foss as barcode
# 1D barcodes
bc_128 = barcode.code128("ABC-123")
bc_39 = barcode.code39("HELLO")
bc_ean13 = barcode.ean13("590123412345")
bc_ean8 = barcode.ean8("1234567")
bc_upca = barcode.upca("01234567890")
bc_upce = barcode.upce("012345")
# 2D barcode
bc_qr = barcode.qr("https://example.com")使用通用生成函数
generate() 函数接受符号系统名称字符串作为其第一个参数。当符号系统在运行时才确定时,这非常有用。
import aspose_barcode_foss as barcode
bc = barcode.generate("code128", "Dynamic data")
svg = bc.to_svg()
# Also works with other symbology names
bc_qr = barcode.generate("qr", "https://example.com")
bc_ean = barcode.generate("ean13", "590123412345")将生成与编码选项相结合
传递一个 encode 参数,以在生成过程中控制特定符号系统的选项。
import aspose_barcode_foss as barcode
from aspose_barcode_foss import QrOptions, QrErrorCorrectionLevel
bc = barcode.qr(
"https://example.com",
encode=QrOptions(error_correction_level=QrErrorCorrectionLevel.Q),
)
svg = bc.to_svg()读取已编码的符号
Barcode 对象公开一个类型为 EncodedSymbol 的 symbol 属性,该属性包含 matrix(一个带有模块网格的 ModuleMatrix)和 metadata(一个包含符号系统名称、显示文本和规范化数据的 SymbolMetadata)。
import aspose_barcode_foss as barcode
bc = barcode.code128("Test")
symbol = bc.symbol
# Access the module matrix
print(f"Width: {symbol.matrix.width}")
print(f"Height: {symbol.matrix.height}")
# Access symbol metadata
print(f"Symbology: {symbol.metadata.symbology}")
print(f"Display text: {symbol.metadata.display_text}")保存输出
在生成 Barcode 后,调用 to_svg() 获取 SVG 字符串,或调用 to_png() 获取 PNG 字节。将结果写入文件。
import aspose_barcode_foss as barcode
bc = barcode.code128("SAVE-ME")
# Save as SVG
with open("barcode.svg", "w") as f:
f.write(bc.to_svg())
# Save as PNG
with open("barcode.png", "wb") as f:
f.write(bc.to_png())支持的符号类型
| Symbology | 类型 | 帮助函数 | Options 类 |
|---|---|---|---|
| Code 128 | 1D | code128() | Code128Options |
| Code 39 | 1D | code39() | Code39Options |
| EAN-13 | 1D | ean13() | Ean13Options |
| EAN-8 | 1D | ean8() | Ean8Options |
| QR Code | 2D | qr() | QrOptions |
| UPC-A | 1D | upca() | UpcaOptions |
| UPC-E | 1D | upce() | UpceOptions |