Einleitung
Wir veröffentlichen Aspose.BarCode FOSS für Python, eine reine-Python-Bibliothek zur Erzeugung von standardkonformen 1D- und 2D-Barcodes. Der Quellcode ist verfügbar auf GitHub as aspose-barcode-foss, verfügt über eine MIT-Lizenz und hat keinerlei externe Abhängigkeiten.
Die Bibliothek unterstützt sieben Symbolarten: Code 128, Code 39, EAN-13, EAN-8, QR Code, UPC-A und UPC-E. Jeder Barcode wird direkt nach SVG oder PNG gerendert. Es gibt keine nativen Erweiterungen, keine Systempakete zu installieren und keine Grafiktreiber erforderlich — kompilieren Sie aus dem Quellcode unter Windows, Linux und macOS.
Hauptfunktionen
High-Level-Generierung API
Die Top-Level-generate()-Funktion akzeptiert einen Symbolnamen und einen Datenstring und gibt ein Barcode-Objekt zurück. Spezielle pro-Symbol-Hilfsfunktionen — code128(), code39(), ean13(), ean8(), qr(), upca() und upce() — bieten typensichere Einstiegspunkte für jedes Format.
import aspose_barcode_foss as barcode
bc = barcode.generate("code128", "ABC123")
svg = bc.to_svg()
Symbologie-spezifische Kodierungsoptionen
Jede Symbologie akzeptiert eine Optionsklasse, die das Kodierungsverhalten steuert. Code128Options bietet encode_mode (AUTO, CODE_A, CODE_B, CODE_C, CODE_AB, CODE_AC, CODE_BC). Code39Options unterstützt BASE- und FULL_ASCII-Modi. QrOptions stellt error_correction_level (L, M, Q, H), version, mask und encoding_mode (AUTO, NUMERIC, ALPHANUMERIC, BYTE, KANJI) bereit.
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.H),
)
png_bytes = bc.to_png()
Render-Steuerungen
RenderOptions steuert die visuelle Ausgabe: scale, dpi, module_width, module_height, quiet_zone, foreground_color, background_color, transparent_background, show_text, font_family und font_size. Sowohl to_svg() als auch to_png() akzeptieren einen optionalen RenderOptions-Parameter.
import aspose_barcode_foss as barcode
from aspose_barcode_foss import RenderOptions
bc = barcode.ean13("590123412345")
svg = bc.to_svg(options=RenderOptions(
scale=2.0,
foreground_color="#003366",
quiet_zone=10.0,
show_text=True,
))
Automatische Prüfziffern
EAN-13, EAN-8, UPC-A und UPC-E berechnen die Prüfziffern automatisch aus dem Datenstring. Sie geben nur die Nutzdatenziffern an; die Bibliothek fügt die korrekte Prüfziffer während der Kodierung hinzu.
Eingabevalidierung
Jede Symbologie hat ein dediziertes InputParser, das Daten vor der Kodierung validiert. Ungültige Zeichen, falsche Längen und Formatverstöße werden frühzeitig mit typisierten Ausnahmen abgefangen: InvalidInputError, EncodingError, SymbologyNotFoundError und UnsupportedCapabilityError — alle erben von BarcodeError.
Schnellstart
git clone https://github.com/aspose-barcode-foss/Aspose.BarCode-FOSS-for-Python.git
cd Aspose.BarCode-FOSS-for-Python
pip install -e .Erzeugen Sie einen Code 128-Barcode und schreiben Sie das SVG in eine Datei:
import aspose_barcode_foss as barcode
from aspose_barcode_foss import RenderOptions
bc = barcode.code128("Hello World")
svg = bc.to_svg(options=RenderOptions(show_text=True))
with open("barcode.svg", "w") as f:
f.write(svg)
Erzeugen Sie ein QR code und speichern Sie es als PNG:
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.H),
)
with open("qr.png", "wb") as f:
f.write(bc.to_png())
Die Bibliothek erfordert Python 3.12 oder höher.
Unterstützte Formate
| Symbology | Typ | Prüfziffer | Optionenklasse |
|---|---|---|---|
| Code 128 | 1D | Eingebaut | Code128Options |
| Code 39 | 1D | Optional | Code39Options |
| EAN-13 | 1D | Automatic | Ean13Options |
| EAN-8 | 1D | Automatic | Ean8Options |
| QR Code | 2D | Integriert | QrOptions |
| UPC-A | 1D | Automatic | UpcaOptions |
| UPC-E | 1D | Automatic | UpceOptions |
Ausgabeformate:
| Format | Erweiterung | Export |
|---|---|---|
| SVG | .svg | ✓ |
| PNG | .png | ✓ |
Open Source & Lizenzierung
Die Bibliothek ist unter der MIT-Lizenz lizenziert. Sie können sie in kommerziellen Anwendungen verwenden, modifizieren und ohne Einschränkungen weiterverbreiten. Der Quellcode ist verfügbar unter GitHub. Es gibt keine Nutzungsklassen, keine Token-Limits und keine Telemetrie. Alle Vorgänge werden lokal ausgeführt.