Jak skonfigurować opcje kodowania w Aspose.BarCode FOSS

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-foss zbudowany 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

SymbologyKlasa OpcjiKluczowe Właściwości
Code 128Code128Optionsencode_mode
Code 39Code39Optionsfull_ascii, add_check_digit
EAN-13Ean13Optionsallow_check_digit_input
EAN-8Ean8Optionsallow_check_digit_input
QR CodeQrOptionserror_correction_level, encoding_mode, version, mask
UPC-AUpcaOptionsallow_check_digit_input
UPC-EUpceOptionsnumber_system, allow_check_digit_input

Zobacz także

 Polski