Wie man Encode-Optionen in Aspose.BarCode FOSS konfiguriert
Problem
Jede Barcode-Symbologie hat ihre eigenen Kodierungsregeln — Fehlerkorrekturstufen für QR Code, Encode-Modi für Code 128, Prüfzifferbehandlung für EAN/UPC. Aspose.BarCode FOSS für Python stellt eine dedizierte Optionsklasse pro Symbologie bereit, sodass Sie diese Parameter zur Erzeugungszeit steuern können.
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),
)
svg = bc.to_svg()Voraussetzungen
- Python 3.12 oder höher
- pip-Paketmanager
aspose-barcode-fossaus dem Quellcode gebaut
QR Code Optionen
Die QrOptions Klasse steuert die QR Code-Codierung. Setzen Sie error_correction_level auf einen der Werte QrErrorCorrectionLevel.L, M, Q oder H. Höhere Stufen erhöhen die Redundanz auf Kosten größerer Symbole. Verwenden Sie encoding_mode, um einen bestimmten QR-Datenmodus (QrEncodeMode.NUMERIC, ALPHANUMERIC, BYTE oder KANJI) auszuwählen, oder belassen Sie ihn als AUTO für die automatische Auswahl. Die Eigenschaft version (1–40) steuert die Symbolgröße, und mask (0–7) überschreibt das Maskenmuster.
from aspose_barcode_foss import QrOptions, QrErrorCorrectionLevel, QrEncodeMode
options = QrOptions(
error_correction_level=QrErrorCorrectionLevel.H,
encoding_mode=QrEncodeMode.BYTE,
version=5,
)
bc = barcode.qr("DATA", encode=options)Code 128 Optionen
Die Code128Options Klasse stellt encode_mode mit Werten aus Code128EncodeMode bereit: AUTO, CODE_A, CODE_B, CODE_C, CODE_AB, CODE_AC, CODE_BC. Im AUTO-Modus wählt der Encoder die kürzeste Darstellung. Die Einschränkung auf ein bestimmtes Teilset (z.B. CODE_C für ausschließlich numerische Daten) kann die Symbolbreite reduzieren.
from aspose_barcode_foss import Code128Options, Code128EncodeMode
options = Code128Options(encode_mode=Code128EncodeMode.CODE_C)
bc = barcode.code128("123456", encode=options)Code 39 Optionen
Die Code39Options Klasse hat zwei wichtige Eigenschaften: full_ascii aktiviert die Full-ASCII-Codierung (erweiterter Zeichensatz über Großbuchstaben und Ziffern hinaus) und add_check_digit fügt dem Symbol eine Modulo-43-Prüfziffer hinzu.
from aspose_barcode_foss import Code39Options
options = Code39Options(full_ascii=True, add_check_digit=True)
bc = barcode.code39("Hello", encode=options)EAN- und UPC-Prüfziffer-Optionen
Ean13Options, Ean8Options, UpcaOptions und UpceOptions unterstützen alle allow_check_digit_input. Standardmäßig berechnet die Bibliothek die Prüfziffer automatisch— geben Sie nur die Nutzdatenziffern an (12 für EAN-13, 7 für EAN-8, 11 für UPC-A). Setzen Sie allow_check_digit_input=True, um eine vorab berechnete Prüfziffer als Teil der Eingabe zu übergeben.
from aspose_barcode_foss import Ean13Options
# Auto-compute check digit (12 digits)
bc = barcode.ean13("590123412345")
# Pre-computed check digit (13 digits)
bc = barcode.ean13(
"5901234123457",
encode=Ean13Options(allow_check_digit_input=True),
)UPC-E Nummernsystem
UpceOptions fügt eine number_system Eigenschaft hinzu. UPC-E Barcodes verwenden das Nummernsystem “0” oder “1”. Setzen Sie diese Eigenschaft, um zu steuern, welches Nummernsystem-Präfix der Encoder verwendet.
from aspose_barcode_foss import UpceOptions
options = UpceOptions(number_system="0", allow_check_digit_input=False)
bc = barcode.upce("012345", encode=options)Zusammenfassung der Optionen
| Symbology | Options Class | Wichtige Eigenschaften |
|---|---|---|
| Code 128 | Code128Options | encode_mode |
| Code 39 | Code39Options | full_ascii, add_check_digit |
| EAN-13 | Ean13Options | allow_check_digit_input |
| EAN-8 | Ean8Options | allow_check_digit_input |
| QR Code | QrOptions | error_correction_level, encoding_mode, version, mask |
| UPC-A | UpcaOptions | allow_check_digit_input |
| UPC-E | UpceOptions | number_system, allow_check_digit_input |