Funktionen und Funktionalitäten
Funktionen und Funktionalitäten
Aspose.BarCode FOSS für Python bietet ein High-Level API zum Erzeugen von sieben Barcode-Symbologien mit pro-Symbologie-Kodierungsoptionen und Rendering-Steuerungen. Diese Seite ist die primäre Referenz für alle Funktionsbereiche.
Unterstützte Symbologien
Die Bibliothek unterstützt sieben Symbologien über dedizierte Hilfsfunktionen und den generischen generate()-Einstiegspunkt:
| Symbology | Typ | Helper | Options-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 |
import aspose_barcode_foss as barcode
# Per-symbology helpers
bc_128 = barcode.code128("ABC123")
bc_qr = barcode.qr("https://example.com")
# Generic API
bc_gen = barcode.generate("ean13", "590123412345")Code 128 Kodierungsmodi
Code128Options steuert, welche Code 128-Zeichensätze der Encoder verwendet. Die encode_mode-Eigenschaft akzeptiert einen Code128EncodeMode-Enum-Wert:
AUTO— wählt automatisch die kompakteste Kodierung ausCODE_A,CODE_B,CODE_C— auf einen einzigen Zeichensatz beschränkenCODE_AB,CODE_AC,CODE_BC— das Umschalten zwischen zwei Zeichensätzen erlauben
from aspose_barcode_foss import Code128Options, Code128EncodeMode
bc = barcode.code128(
"1234567890",
encode=Code128Options(encode_mode=Code128EncodeMode.CODE_C),
)Code 39 Kodierung
Code39Options steuert, ob der Encoder den Basis-43-Zeichensatz oder die Full-ASCII-Erweiterung verwendet:
full_ascii— aufTruesetzen, um den gesamten 128-Zeichen-ASCII-Bereich mit Shift-Paaren zu kodierenadd_check_digit— fügt eine Modulo-43-Prüfziffer hinzu
from aspose_barcode_foss import Code39Options
bc = barcode.code39(
"Hello",
encode=Code39Options(full_ascii=True, add_check_digit=True),
)QR Code Konfiguration
QrOptions bietet die umfangreichste Konfiguration aller Symbologien:
| Eigenschaft | Typ | Values |
|---|---|---|
error_correction_level | QrErrorCorrectionLevel | L (7%), M (15%), Q (25%), H (30%) |
encoding_mode | QrEncodeMode | AUTO, NUMERIC, ALPHANUMERIC, BYTE, KANJI |
version | int | 1–40 (steuert die Symbolgröße) |
mask | int | 0–7 (manuelle Maskenmuster-Auswahl) |
from aspose_barcode_foss import QrOptions, QrErrorCorrectionLevel, QrEncodeMode
bc = barcode.qr(
"https://example.com/product/12345",
encode=QrOptions(
error_correction_level=QrErrorCorrectionLevel.Q,
encoding_mode=QrEncodeMode.BYTE,
),
)EAN- und UPC-Prüfziffern
Ean13Options, Ean8Options, UpcaOptions und UpceOptions haben jeweils eine allow_check_digit_input-Eigenschaft. Standardmäßig berechnet die Bibliothek die Prüfziffer automatisch. Setzen Sie allow_check_digit_input=True, wenn Ihre Daten diese bereits enthalten.
from aspose_barcode_foss import Ean13Options
# Automatic check digit (12 digits in, library appends the 13th)
bc = barcode.ean13("590123412345")
# Pre-computed check digit (13 digits, library validates)
bc2 = barcode.ean13(
"5901234123457",
encode=Ean13Options(allow_check_digit_input=True),
)Rendering-Steuerungen
RenderOptions gilt für alle Symbolsysteme und steuert die visuelle Ausgabe. Übergeben Sie es an to_svg() oder to_png():
| Eigenschaft | Typ | Beschreibung |
|---|---|---|
scale | float | Einheitlicher Skalierungsfaktor |
dpi | int | Auflösung für PNG-Ausgabe |
module_width | float | Breite eines Barcode-Moduls |
module_height | float | Höhe eines Barcode-Moduls |
quiet_zone | float | Leerraum-Padding um den Barcode |
foreground_color | str | Hex-Farbe für Balken (z.B. "#000000") |
background_color | str | Hex-Farbe für den Hintergrund |
transparent_background | bool | Transparenter Hintergrund für PNG |
show_text | bool | Menschlich lesbaren Text unter dem Barcode anzeigen |
font_family | str | Schriftart für menschenlesbaren Text |
font_size | float | Schriftgröße für menschenlesbaren Text |
from aspose_barcode_foss import RenderOptions
bc = barcode.upca("01234567890")
png = bc.to_png(options=RenderOptions(
scale=3.0,
dpi=300,
foreground_color="#1a1a1a",
background_color="#ffffff",
show_text=True,
))Ausgabeformate
| Format | Methode | Rückgabetyp |
|---|---|---|
| SVG | to_svg() | str |
| PNG | to_png() | bytes |
Beide Methoden akzeptieren einen optionalen RenderOptions-Parameter.
Fehlerbehandlung
Alle Validierungen der Encode-Optionen erfolgen zur Parse-Zeit. Die Bibliothek wirft typisierte Ausnahmen, bevor die Kodierung beginnt:
| Exception | Wenn ausgelöst |
|---|---|
InvalidInputError | Daten enthalten Zeichen, die von der Symbologie nicht unterstützt werden |
EncodingError | Kodierung schlägt fehl (z.B. überschreitet die Daten die Kapazität) |
SymbologyNotFoundError | Unbekannter Symbologie-Name an generate() übergeben |
UnsupportedCapabilityError | Angeforderte Funktion für diese Symbologie nicht verfügbar |
Alle Ausnahmeklassen erben von BarcodeError.
from aspose_barcode_foss import InvalidInputError
try:
bc = barcode.ean13("ABC")
except InvalidInputError as e:
print(f"Invalid input: {e}")Eingabevalidierung
Jede Symbologie hat ein dediziertes InputParser, das Daten vor der Kodierung validiert. Der Parser prüft Zeichensatz, Länge und formatbezogene Anforderungen, die für jede Symbologie spezifisch sind. Code128InputParser, Code39InputParser, Ean13InputParser, Ean8InputParser, QrInputParser, UpcaInputParser und UpceInputParser werden intern von ihren jeweiligen Hilfsfunktionen verwendet.
Barcode-Objekt
Das Barcode-Objekt, das von allen Hilfsfunktionen zurückgegeben wird, bietet:
to_svg(options)— rendern zu SVG-Stringto_png(options)— rendern zu PNG-Bytesrender(renderer, options)— rendern mit einer spezifischenRenderer-Implementierungsymbol— dasEncodedSymbolmit der Modulmatrix und den Metadatenprofile— dasSymbologyProfilemit Standardwerten und Fähigkeiten
API Reference Zusammenfassung
| Klasse | Beschreibung |
|---|---|
Barcode | Öffentliches Barcode-Objekt mit to_svg() und to_png() |
Code128Options | Kodierungsoptionen für Code 128 (encode_mode) |
Code39Options | Kodierungsoptionen für Code 39 (full_ascii, add_check_digit) |
QrOptions | Kodierungsoptionen für QR Code (error_correction_level, encoding_mode, version, mask) |
Ean13Options | Kodierungsoptionen für EAN-13 (allow_check_digit_input) |
Ean8Options | Kodierungsoptionen für EAN-8 (allow_check_digit_input) |
UpcaOptions | Kodierungsoptionen für UPC-A (allow_check_digit_input) |
UpceOptions | Kodierungsoptionen für UPC-E (allow_check_digit_input, number_system) |
RenderOptions | Visuelle Ausgabesteuerungen (Skalierung, DPI, Farben, Text) |
EncodeOptions | Basistyp für symbologie-spezifische Kodierungsoptionen |
BarcodeError | Basisausnahme für die Barcode-Bibliothek |