Travailler avec les options encode
Travailler avec les options encode
Chaque symbologie de code bar dans Aspose.BarCode FOSS pour Python a une classe d’options dédiée qui contrôle le comportement de codage.Toutes les classes d’option héritées de la EncodeOptions,qui fournit gs1_enabled et eci_assignment_number Les propriétés partagées par des symboles.
Code128Options
Code128Options le code 128 caractère qui est fixé par l’encodateur. encode_mode La propriété accepte un Code128EncodeMode valeur enum.
| Mode | Description |
|---|---|
AUTO | Sélectionnez le codage le plus compact automatiquement |
CODE_A | Les chiffres, les caractères de contrôle et le nombre d’indicateurs |
CODE_B | Le haut, le bas et les chiffres |
CODE_C | Pares numériques – optimisées pour les données numérique uniquement |
CODE_AB | Les interruptions entre le code A et le Code B |
CODE_AC | Les interruptions entre le code A et le Code C |
CODE_BC | Intermédiaires entre le code B et le Code 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 Contrôler si l’encoder utilise le set de caractère 43 de base ou l’extension ASCII complète.
| Property | Type | Default | Description |
|---|---|---|---|
full_ascii | bool | None | Activer le mode ASCII complet (128 caractères par l’intermédiaire de paires de changement) |
add_check_digit | bool | None | Appliquer un module 43 numéro de vérification |
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),
)QrOptions
QrOptions Il a la plus grande surface de configuration parmi toutes les symboles.
| Property | Type | Values |
|---|---|---|
error_correction_level | QrErrorCorrectionLevel | L (7 % ) et, M (à partir de 15 % ), Q et 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 Contrôle de la gestion des chiffres pour les codes bars EAN-13.
| Property | Type | Default | Description |
|---|---|---|---|
allow_check_digit_input | bool | None | Accepter l’entrée de 13 chiffres avec un numéro de vérification précomputé |
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 fonctionne de manière identique à Ean13Options mais pour les codes barres EAN de 8 chiffres. fournir 7 chiffre payload (libraire compte le 8e), ou définir allow_check_digit_input=True Pour les 8 chiffres.
from aspose_barcode_foss import Ean8Options
bc = barcode.ean8("1234567")
bc2 = barcode.ean8("12345670", encode=Ean8Options(allow_check_digit_input=True))Options et UpceOptions
UpcaOptions et UpceOptions Suivez la même chose allow_check_digit_input Le modèle comme option. UpceOptions Il a aussi un number_system propriété .
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),
)Les propriétés de base d’EncodeOptions
Toutes les classes d’options héritent de ces propriétés de EncodeOptions:
| Property | Type | Description |
|---|---|---|
gs1_enabled | `bool | None` |
eci_assignment_number | `int | None` |
Conseils et meilleures pratiques
- Utiliser
Code128EncodeMode.AUTOSauf si vous avez une raison spécifique de restreindre les sets de caractères, il produit le code barrier le plus court pour toute entrée. - Sélection
QrErrorCorrectionLevel.HPour les codes QR qui seront imprimés sur des surfaces susceptibles de se détériorer. - Laissez la bibliothèque computer vérifier les chiffres par défaut — seulement définir
allow_check_digit_input=TrueLorsque vous recevez des données prévalidées d’un autre système. - Utiliser
QrEncodeMode.NUMERICPour les données QR numériques uniquement, minimiser la taille du symbole.
Les problèmes communs
| Issue | Cause | Fixé |
|---|---|---|
InvalidInputError Le code 39 | Le contenu contient des lettres de basse-case | Sélection full_ascii=True dans Code39Options |
| Le code QR est trop grand | La version est trop basse pour la longueur des données. | Supprimer explicitement version ou augmenter |
| Vérification de la numéros sur EAN-13 | 13-digit input without allow_check_digit_input=True | Passez 12 chiffres (automatique) ou définissez l’option pour True |
SymbologyNotFoundError | Le nom de symbologie inédit dans le generate() | Utilisez l’un de : code128, code39, ean13, ean8, qr, upca, upce |