Funktionen und Funktionalitäten

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:

SymbologyTypHelperOptions-Klasse
Code 1281Dcode128()Code128Options
Code 391Dcode39()Code39Options
EAN-131Dean13()Ean13Options
EAN-81Dean8()Ean8Options
QR Code2Dqr()QrOptions
UPC-A1Dupca()UpcaOptions
UPC-E1Dupce()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 aus
  • CODE_A, CODE_B, CODE_C — auf einen einzigen Zeichensatz beschränken
  • CODE_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 — auf True setzen, um den gesamten 128-Zeichen-ASCII-Bereich mit Shift-Paaren zu kodieren
  • add_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:

EigenschaftTypValues
error_correction_levelQrErrorCorrectionLevelL (7%), M (15%), Q (25%), H (30%)
encoding_modeQrEncodeModeAUTO, NUMERIC, ALPHANUMERIC, BYTE, KANJI
versionint1–40 (steuert die Symbolgröße)
maskint0–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():

EigenschaftTypBeschreibung
scalefloatEinheitlicher Skalierungsfaktor
dpiintAuflösung für PNG-Ausgabe
module_widthfloatBreite eines Barcode-Moduls
module_heightfloatHöhe eines Barcode-Moduls
quiet_zonefloatLeerraum-Padding um den Barcode
foreground_colorstrHex-Farbe für Balken (z.B. "#000000")
background_colorstrHex-Farbe für den Hintergrund
transparent_backgroundboolTransparenter Hintergrund für PNG
show_textboolMenschlich lesbaren Text unter dem Barcode anzeigen
font_familystrSchriftart für menschenlesbaren Text
font_sizefloatSchriftgröß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

FormatMethodeRückgabetyp
SVGto_svg()str
PNGto_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:

ExceptionWenn ausgelöst
InvalidInputErrorDaten enthalten Zeichen, die von der Symbologie nicht unterstützt werden
EncodingErrorKodierung schlägt fehl (z.B. überschreitet die Daten die Kapazität)
SymbologyNotFoundErrorUnbekannter Symbologie-Name an generate() übergeben
UnsupportedCapabilityErrorAngeforderte 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-String
  • to_png(options) — rendern zu PNG-Bytes
  • render(renderer, options) — rendern mit einer spezifischen Renderer-Implementierung
  • symbol — das EncodedSymbol mit der Modulmatrix und den Metadaten
  • profile — das SymbologyProfile mit Standardwerten und Fähigkeiten

API Reference Zusammenfassung

KlasseBeschreibung
BarcodeÖffentliches Barcode-Objekt mit to_svg() und to_png()
Code128OptionsKodierungsoptionen für Code 128 (encode_mode)
Code39OptionsKodierungsoptionen für Code 39 (full_ascii, add_check_digit)
QrOptionsKodierungsoptionen für QR Code (error_correction_level, encoding_mode, version, mask)
Ean13OptionsKodierungsoptionen für EAN-13 (allow_check_digit_input)
Ean8OptionsKodierungsoptionen für EAN-8 (allow_check_digit_input)
UpcaOptionsKodierungsoptionen für UPC-A (allow_check_digit_input)
UpceOptionsKodierungsoptionen für UPC-E (allow_check_digit_input, number_system)
RenderOptionsVisuelle Ausgabesteuerungen (Skalierung, DPI, Farben, Text)
EncodeOptionsBasistyp für symbologie-spezifische Kodierungsoptionen
BarcodeErrorBasisausnahme für die Barcode-Bibliothek

Siehe auch

 Deutsch