Wie man Barcodes mit Aspose.BarCode FOSS generiert
Problem
Erzeugen Sie 1D- und 2D-Barcodes aus Datenzeichenketten mithilfe von Aspose.BarCode FOSS für Python. Die Bibliothek bietet pro-Symbologie Hilfsfunktionen (code128(), qr(), ean13(), usw.) und eine generische generate()-Funktion, die einen Symbologie-Namensstring akzeptiert.
import aspose_barcode_foss as barcode
bc = barcode.code128("Hello World")
svg = bc.to_svg()Voraussetzungen
- Python 3.12 oder neuer
- pip-Paketmanager
aspose-barcode-fossaus dem Quellcode gebaut
Verwendung von Per-Symbology-Hilfen
Jede unterstützte Symbolik hat eine dedizierte Hilfsfunktion, die ein Barcode-Objekt zurückgibt. Die Hilfsfunktion validiert die Eingabe und wählt den korrekten Encoder automatisch aus.
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")Verwendung der generischen Generate-Funktion
Die generate()-Funktion akzeptiert einen Symbolik-Namen-String als erstes Argument. Dies ist nützlich, wenn die Symbolik zur Laufzeit bestimmt wird.
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")Kombination von Generierung mit Encode-Optionen
Geben Sie einen encode-Parameter weiter, um symbolik-spezifische Optionen während der Generierung zu steuern.
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()Auslesen des kodierten Symbols
Das Barcode-Objekt stellt eine symbol-Eigenschaft vom Typ EncodedSymbol bereit, die das matrix (ein ModuleMatrix mit dem Modulgitter) und metadata (ein SymbolMetadata mit dem Symboliknamen, Anzeigetext und normalisierten Daten) enthält.
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}")Ausgabe speichern
Nachdem ein Barcode erzeugt wurde, rufen Sie to_svg() für einen SVG-String oder to_png() für PNG-Bytes auf. Schreiben Sie das Ergebnis in eine Datei.
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())Unterstützte Symbologien
| Symbology | Typ | Hilfsfunktion | Optionen-Klasse |
|---|---|---|---|
| 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 |