Treballar amb opcions d'encriptació

Treballar amb opcions d'encriptació

Treballar amb opcions d’encriptació

Cada simbologia de codi d’esbarralles en Aspose.BarCode FOSS per Python té una classe d ‘opcions dedicada que controla el comportament d “encriptació”. Totes les classes d"opció hereten del sistema de barròquia i la seva funció és controlar els elements de l’encodatge. EncodeOptions, que proporciona: gs1_enabled i de la eci_assignment_number propietats compartides a través de simbologies.


Code128Options

Code128Options El codificador selecciona el codi de control del codi 128 que defineix. encode_mode la propietat accepta un Code128EncodeMode enum valor.

ModeDescription
AUTOSelecciona automàticament la codificació més compacta.
CODE_ACapsella, xifres i caràcters de control
CODE_BCaps grans, minúscules i xifres
CODE_CPares de xifres optimitzat per a dades únicament numèriques
CODE_ABCanvi entre el codi A i el B.
CODE_ACIntercanvis entre el codi A i el C.
CODE_BCCanvi entre el codi B i el C.
import aspose_barcode_foss as barcode
from aspose_barcode_foss import Code128Options, Code128EncodeMode

# AUTO mode — library picks the most compact encoding
bc_auto = barcode.code128("ABC123", encode=Code128Options(encode_mode=Code128EncodeMode.AUTO))

# CODE_C mode — compact encoding for digit-only data
bc_c = barcode.code128("9876543210", encode=Code128Options(encode_mode=Code128EncodeMode.CODE_C))

# CODE_B mode — full alphanumeric support
bc_b = barcode.code128("Hello World", encode=Code128Options(encode_mode=Code128EncodeMode.CODE_B))

Code39Options

Code39Options controla si l’encoder utilitza el conjunt de 43 caràcters base o la extensió Full ASCII.

PropertyTypeDefaultDescription
full_asciiboolNoneHabilitar el mode ASCII complet (interval de 128 caràcters a través de parelles d’escanç)
add_check_digitboolNoneAjuntar un dígit de verificació modulo-43
from aspose_barcode_foss import Code39Options

# Base mode — uppercase letters, digits, and a few special characters
bc_base = barcode.code39("CODE 39")

# Full ASCII mode — encodes the full 128-character ASCII range
bc_full = barcode.code39(
    "Hello, World!",
    encode=Code39Options(full_ascii=True, add_check_digit=True),
)

QrOpcions

QrOptions té la superfície més configurada entre totes les simbologies.

PropertyTypeValues
error_correction_levelQrErrorCorrectionLevelL (7%), M (15%), Q (25%), H (30%)
encoding_modeQrEncodeModeAUTO, NUMERIC, ALPHANUMERIC, BYTE, KANJI
versionint1–40 (controls symbol dimensions)
maskint0–7 (manual mask pattern selection)
from aspose_barcode_foss import QrOptions, QrErrorCorrectionLevel, QrEncodeMode

# High error correction with byte encoding
bc = barcode.qr(
    "https://example.com",
    encode=QrOptions(
        error_correction_level=QrErrorCorrectionLevel.H,
        encoding_mode=QrEncodeMode.BYTE,
    ),
)

# Numeric mode for digit-only data — most compact QR
bc_num = barcode.qr(
    "0123456789",
    encode=QrOptions(encoding_mode=QrEncodeMode.NUMERIC),
)

# Explicit version and mask
bc_v5 = barcode.qr(
    "TEST",
    encode=QrOptions(version=5, mask=3),
)

Ean13Options

Ean13Options Controles de manipulació d’un dígit per a codis de barres EAN-13.

PropertyTypeDefaultDescription
allow_check_digit_inputboolNoneAcceptar entrada de 13 xifres amb digit d’avaluació precomputat
from aspose_barcode_foss import Ean13Options

# 12 digits — library computes the 13th check digit
bc = barcode.ean13("590123412345")

# 13 digits — library validates the provided check digit
bc2 = barcode.ean13(
    "5901234123457",
    encode=Ean13Options(allow_check_digit_input=True),
)

Ean8Options

Ean8Options funciona de manera idèntica a la Ean13Options Provisió de 7 xifres de càrrega útil (la biblioteca calcula l'8), o fixar-se allow_check_digit_input=True per a la entrada de 8 xifres.

from aspose_barcode_foss import Ean8Options

bc = barcode.ean8("1234567")
bc2 = barcode.ean8("12345670", encode=Ean8Options(allow_check_digit_input=True))

Opcions de major valor i opcions d’extensió

UpcaOptions i de la UpceOptions Seguir el mateix. allow_check_digit_input model com a opcions de NEE. UpceOptions també té un number_system propietat.

from aspose_barcode_foss import UpcaOptions, UpceOptions

# UPC-A: 11 digits, library adds check digit
bc_a = barcode.upca("01234567890")

# UPC-E with pre-computed check digit
bc_e = barcode.upce(
    "01234565",
    encode=UpceOptions(allow_check_digit_input=True),
)

Propietats de base d’EncodeOptions

Totes les classes d’opcions hereten aquestes propietats de: EncodeOptions:

PropertyTypeDescription
gs1_enabled`boolNone`
eci_assignment_number`intNone`

Consells i millors pràctiques

  • Utilització: Code128EncodeMode.AUTO A menys que tinguis una raó específica per restringir els conjunts de caràcters produeix el codi de barres més curt per a qualsevol entrada.
  • Set de punts QrErrorCorrectionLevel.H per als codis QR que s’imprimiran en superfícies susceptibles de danyar.
  • Deixar que la biblioteca computi els dígits de verificació per defecte només establert allow_check_digit_input=True quan rebi dades prevalidades d’un altre sistema.
  • Utilització: QrEncodeMode.NUMERIC per a dades QR amb només dígits, per minimitzar la mida del símbol.

Problemàtiques comuns

IssueCauseCorrecció
InvalidInputError sobre el codi 39Introducció contenent lletres minúsculesSet de punts full_ascii=True en el Code39Options
QR-codi massa gran.Versió establerta massa baixa per a la longitud de dadesEliminar explícitament version o augmentar-la.
Digit de verificació incorrecte en EAN-1313-digit input without allow_check_digit_input=TruePassar 12 xifres (automàtic) o configurar l’opció en True
SymbologyNotFoundErrorNom de simbologia mal escrit en generate()Utilitza una de les següents: code128, code39, ean13, ean8, qr, upca, upce

See Also

 Català