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.
| Mode | Description |
|---|---|
AUTO | Selecciona automàticament la codificació més compacta. |
CODE_A | Capsella, xifres i caràcters de control |
CODE_B | Caps grans, minúscules i xifres |
CODE_C | Pares de xifres optimitzat per a dades únicament numèriques |
CODE_AB | Canvi entre el codi A i el B. |
CODE_AC | Intercanvis entre el codi A i el C. |
CODE_BC | Canvi 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.
| Property | Type | Default | Description |
|---|---|---|---|
full_ascii | bool | None | Habilitar el mode ASCII complet (interval de 128 caràcters a través de parelles d’escanç) |
add_check_digit | bool | None | Ajuntar 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.
| Property | Type | Values |
|---|---|---|
error_correction_level | QrErrorCorrectionLevel | L (7%), M (15%), Q (25%), H (30%) |
encoding_mode | QrEncodeMode | AUTO, NUMERIC, ALPHANUMERIC, BYTE, KANJI |
version | int | 1–40 (controls symbol dimensions) |
mask | int | 0–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.
| Property | Type | Default | Description |
|---|---|---|---|
allow_check_digit_input | bool | None | Acceptar 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:
| Property | Type | Description |
|---|---|---|
gs1_enabled | `bool | None` |
eci_assignment_number | `int | None` |
Consells i millors pràctiques
- Utilització:
Code128EncodeMode.AUTOA 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.Hper 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=Truequan rebi dades prevalidades d’un altre sistema. - Utilització:
QrEncodeMode.NUMERICper a dades QR amb només dígits, per minimitzar la mida del símbol.
Problemàtiques comuns
| Issue | Cause | Correcció |
|---|---|---|
InvalidInputError sobre el codi 39 | Introducció contenent lletres minúscules | Set de punts full_ascii=True en el Code39Options |
| QR-codi massa gran. | Versió establerta massa baixa per a la longitud de dades | Eliminar explícitament version o augmentar-la. |
| Digit de verificació incorrecte en EAN-13 | 13-digit input without allow_check_digit_input=True | Passar 12 xifres (automàtic) o configurar l’opció en True |
SymbologyNotFoundError | Nom de simbologia mal escrit en generate() | Utilitza una de les següents: code128, code39, ean13, ean8, qr, upca, upce |