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-fosscompilato 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
| Symbology | Classe Opzioni | Proprietà chiave |
|---|---|---|
| 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 |