Jak generować kody kreskowe przy użyciu Aspose.BarCode FOSS
Problem
Generuj kody kreskowe 1D i 2D z ciągów danych przy użyciu Aspose.BarCode FOSS dla Python. Biblioteka udostępnia funkcje pomocnicze dla poszczególnych symboli (code128(), qr(), ean13(), itp.) oraz ogólną funkcję generate(), która przyjmuje nazwę symbolu jako ciąg znaków.
import aspose_barcode_foss as barcode
bc = barcode.code128("Hello World")
svg = bc.to_svg()Wymagania wstępne
- Python 3.12 lub nowszy
- menedżer pakietów pip
aspose-barcode-fosszbudowany ze źródeł
Używanie pomocników per-symbologii
Każda obsługiwana symbologia ma dedykowaną funkcję pomocniczą, która zwraca obiekt Barcode. Pomocnik sprawdza poprawność danych wejściowych i automatycznie wybiera właściwy enkoder.
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")Używanie ogólnej funkcji generującej
Funkcja generate() przyjmuje jako pierwszy argument ciąg znaków określający nazwę symbologii. Jest to przydatne, gdy symbologia jest określana w czasie wykonywania.
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")Łączenie generowania z opcjami kodowania
Przekaż parametr encode, aby kontrolować opcje specyficzne dla symbologii podczas generacji.
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()Odczytywanie zakodowanego symbolu
Obiekt Barcode udostępnia właściwość symbol typu EncodedSymbol, która zawiera matrix (a ModuleMatrix z siatką modułów) oraz metadata (a SymbolMetadata z nazwą symbologii, tekstem wyświetlanym i znormalizowanymi danymi).
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}")Zapisywanie wyniku
Po wygenerowaniu Barcode wywołaj to_svg(), aby uzyskać ciąg SVG lub to_png(), aby uzyskać bajty PNG. Zapisz wynik do pliku.
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())Obsługiwane symbologie
| Symbology | Typ | Funkcja pomocnicza | Klasa Opcji |
|---|---|---|---|
| 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 |