Jak skonfigurować opcje kodowania w Aspose.BarCode FOSS
Problem
Każda symbologia kodów kreskowych ma własne zasady kodowania — poziomy korekcji błędów dla QR Code, tryby kodowania dla Code 128, obsługa cyfry kontrolnej dla EAN/UPC. Aspose.BarCode FOSS dla Python udostępnia dedykowaną klasę opcji dla każdej symbologii, dzięki czemu możesz kontrolować te parametry w czasie generowania.
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()Wymagania wstępne
- Python 3.12 lub nowsza
- menedżer pakietów pip
aspose-barcode-fosszbudowany ze źródeł
QR Code Opcje
Klasa QrOptions kontroluje kodowanie QR Code. Ustaw error_correction_level na jedną z wartości QrErrorCorrectionLevel.L, M, Q lub H. Wyższe poziomy zwiększają nadmiarowość kosztem większych symboli. Użyj encoding_mode, aby wybrać konkretny tryb danych QR (QrEncodeMode.NUMERIC, ALPHANUMERIC, BYTE lub KANJI), lub pozostaw AUTO dla automatycznego wyboru. Właściwość version (1–40) kontroluje rozmiar symbolu, a mask (0–7) nadpisuje wzorzec maski.
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 Opcje
Klasa Code128Options udostępnia encode_mode z wartościami z Code128EncodeMode: AUTO, CODE_A, CODE_B, CODE_C, CODE_AB, CODE_AC, CODE_BC. W trybie AUTO enkoder wybiera najkrótszą reprezentację. Ograniczenie do konkretnego podzbioru (np. CODE_C dla danych wyłącznie numerycznych) może zmniejszyć szerokość symbolu.
from aspose_barcode_foss import Code128Options, Code128EncodeMode
options = Code128Options(encode_mode=Code128EncodeMode.CODE_C)
bc = barcode.code128("123456", encode=options)Code 39 Opcje
Klasa Code39Options ma dwie kluczowe właściwości: full_ascii włącza pełne kodowanie ASCII (rozszerzony zestaw znaków poza wielkimi literami i cyframi), a add_check_digit dołącza cyfrę kontrolną modulo-43 do symbolu.
from aspose_barcode_foss import Code39Options
options = Code39Options(full_ascii=True, add_check_digit=True)
bc = barcode.code39("Hello", encode=options)Opcje cyfry kontrolnej EAN i UPC
Ean13Options, Ean8Options, UpcaOptions i UpceOptions wszystkie obsługują allow_check_digit_input. Domyślnie biblioteka oblicza cyfrę kontrolną automatycznie — podaj tylko cyfry ładunku (12 dla EAN-13, 7 dla EAN-8, 11 dla UPC-A). Ustaw allow_check_digit_input=True, aby przekazać wstępnie obliczoną cyfrę kontrolną jako część wejścia.
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 System liczbowy
UpceOptions dodaje właściwość number_system Kody kreskowe UPC-E używają systemu liczbowego “0” lub “1” Ustaw tę właściwość, aby kontrolować, jaki prefiks systemu liczbowego używa enkoder.
from aspose_barcode_foss import UpceOptions
options = UpceOptions(number_system="0", allow_check_digit_input=False)
bc = barcode.upce("012345", encode=options)Podsumowanie opcji
| Symbology | Klasa Opcji | Kluczowe Właściwości |
|---|---|---|
| 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 |