Come configurare le opzioni di codifica in Aspose.BarCode FOSS

Come configurare le opzioni di codifica in Aspose.BarCode FOSS

Problem

Ogni simbologia di codici a barre ha le proprie regole di codifica — livelli di correzione degli errori per QR Code, modalità di codifica per Code 128, gestione della cifra di controllo per EAN/UPC. Aspose.BarCode FOSS per Python fornisce una classe di opzioni dedicata per ogni simbologia così puoi controllare questi parametri al momento della generazione.

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()

Prerequisiti

  • Python 3.12 o successiva
  • gestore di pacchetti pip
  • aspose-barcode-foss compilato dal codice sorgente

Opzioni QR Code

La classe QrOptions controlla la codifica QR Code. Imposta error_correction_level su uno dei valori QrErrorCorrectionLevel.L, M, Q o H. Livelli più alti aumentano la ridondanza a scapito di simboli più grandi. Usa encoding_mode per selezionare una modalità dati QR specifica (QrEncodeMode.NUMERIC, ALPHANUMERIC, BYTE o KANJI), oppure lasciala impostata su AUTO per la selezione automatica. La proprietà version (1–40) controlla la dimensione del simbolo, e mask (0–7) sovrascrive il modello di maschera.

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)

Opzioni Code 128

La classe Code128Options espone encode_mode con valori da Code128EncodeMode: AUTO, CODE_A, CODE_B, CODE_C, CODE_AB, CODE_AC, CODE_BC. In modalità AUTO l’encoder seleziona la rappresentazione più breve. Limitare a un sottoinsieme specifico (ad es., CODE_C per dati solo numerici) può ridurre la larghezza del simbolo.

from aspose_barcode_foss import Code128Options, Code128EncodeMode

options = Code128Options(encode_mode=Code128EncodeMode.CODE_C)
bc = barcode.code128("123456", encode=options)

Opzioni Code 39

La classe Code39Options ha due proprietà chiave: full_ascii abilita la codifica Full ASCII (insieme di caratteri esteso oltre lettere maiuscole e cifre), e add_check_digit aggiunge un digito di controllo modulo-43 al simbolo.

from aspose_barcode_foss import Code39Options

options = Code39Options(full_ascii=True, add_check_digit=True)
bc = barcode.code39("Hello", encode=options)

Opzioni del Digito di Controllo EAN e UPC

Ean13Options, Ean8Options, UpcaOptions e UpceOptions supportano tutti allow_check_digit_input. Per impostazione predefinita, la libreria calcola automaticamente il digito di controllo — fornisci solo le cifre del payload (12 per EAN-13, 7 per EAN-8, 11 per UPC-A). Imposta allow_check_digit_input=True per fornire un digito di controllo pre-calcolato come parte dell’input.

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 Sistema numerico

UpceOptions aggiunge una proprietà number_system. I codici a barre UPC-E usano il sistema numerico “0” o “1”. Imposta questa proprietà per controllare quale prefisso del sistema numerico utilizza l’encoder.

from aspose_barcode_foss import UpceOptions

options = UpceOptions(number_system="0", allow_check_digit_input=False)
bc = barcode.upce("012345", encode=options)

Riepilogo delle opzioni

SymbologyClasse OpzioniProprietà chiave
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

Vedi anche

 Italiano