Fonctionnalités et capacités
Fonctionnalités et capacités
Aspose.BarCode FOSS pour Python fournit une API de haut niveau pour générer sept symbologies de codes-barres avec des options d’encodage par symbologie et des contrôles de rendu. Cette page est la référence principale pour toutes les zones de fonctionnalité.
Symbologies prises en charge
La bibliothèque prend en charge sept symbologies via des fonctions d’aide dédiées et le point d’entrée générique generate():
| Symbology | Type | Helper | Classe Options |
|---|---|---|---|
| Code 128 | 1D | code128() | Code128Options |
| Code 39 | 1D | code39() | Code39Options |
| EAN-13 | 1D | ean13() | Ean13Options |
| EAN-8 | 1D | ean8() | Ean8Options |
| QR Code | 2D | qr() | QrOptions |
| UPC-A | 1D | upca() | UpcaOptions |
| UPC-E | 1D | upce() | UpceOptions |
import aspose_barcode_foss as barcode
# Per-symbology helpers
bc_128 = barcode.code128("ABC123")
bc_qr = barcode.qr("https://example.com")
# Generic API
bc_gen = barcode.generate("ean13", "590123412345")Code 128 Modes d’encodage
Code128Options contrôle quels jeux de caractères Code 128 l’encodeur utilise. La propriété encode_mode accepte une valeur d’énumération Code128EncodeMode:
AUTO— sélectionne automatiquement l’encodage le plus compactCODE_A,CODE_B,CODE_C— restreindre à un seul jeu de caractèresCODE_AB,CODE_AC,CODE_BC— autoriser le basculement entre deux jeux de caractères
from aspose_barcode_foss import Code128Options, Code128EncodeMode
bc = barcode.code128(
"1234567890",
encode=Code128Options(encode_mode=Code128EncodeMode.CODE_C),
)Encodage Code 39
Code39Options contrôle si l’encodeur utilise le jeu de caractères de base 43 ou l’extension Full ASCII :
full_ascii— définir surTruepour encoder la plage complète de 128 caractères ASCII en utilisant des paires de décalageadd_check_digit— ajoute un chiffre de contrôle modulo-43
from aspose_barcode_foss import Code39Options
bc = barcode.code39(
"Hello",
encode=Code39Options(full_ascii=True, add_check_digit=True),
)Configuration QR Code
QrOptions offre la configuration la plus étendue parmi toutes les symbologies :
| Propriété | 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 (contrôle la taille du symbole) |
mask | int | 0–7 (sélection manuelle du motif de masque) |
from aspose_barcode_foss import QrOptions, QrErrorCorrectionLevel, QrEncodeMode
bc = barcode.qr(
"https://example.com/product/12345",
encode=QrOptions(
error_correction_level=QrErrorCorrectionLevel.Q,
encoding_mode=QrEncodeMode.BYTE,
),
)Chiffres de contrôle EAN et UPC
Ean13Options, Ean8Options, UpcaOptions et UpceOptions possèdent chacun une propriété allow_check_digit_input. Par défaut, la bibliothèque calcule le chiffre de contrôle automatiquement. Définissez allow_check_digit_input=True si vos données le contiennent déjà.
from aspose_barcode_foss import Ean13Options
# Automatic check digit (12 digits in, library appends the 13th)
bc = barcode.ean13("590123412345")
# Pre-computed check digit (13 digits, library validates)
bc2 = barcode.ean13(
"5901234123457",
encode=Ean13Options(allow_check_digit_input=True),
)Contrôles de rendu
RenderOptions s’applique à toutes les symbologies et contrôle la sortie visuelle. Transmettez-le à to_svg() ou to_png() :
| Propriété | Type | Description |
|---|---|---|
scale | float | Multiplicateur d’échelle uniforme |
dpi | int | Résolution pour la sortie PNG |
module_width | float | Largeur d’un module de code-barres |
module_height | float | Hauteur d’un module de code-barres |
quiet_zone | float | Marge d’espaces autour du code-barres |
foreground_color | str | Couleur hexadécimale pour les barres (par ex., "#000000") |
background_color | str | Couleur hexadécimale pour l’arrière-plan |
transparent_background | bool | Fond transparent pour PNG |
show_text | bool | Afficher le texte lisible sous le code-barres |
font_family | str | Police pour le texte lisible |
font_size | float | Taille de police pour le texte lisible |
from aspose_barcode_foss import RenderOptions
bc = barcode.upca("01234567890")
png = bc.to_png(options=RenderOptions(
scale=3.0,
dpi=300,
foreground_color="#1a1a1a",
background_color="#ffffff",
show_text=True,
))Formats de sortie
| Format | Méthode | Type de retour |
|---|---|---|
| SVG | to_svg() | str |
| PNG | to_png() | bytes |
Les deux méthodes acceptent un paramètre optionnel RenderOptions.
Gestion des erreurs
Toute validation des options d’encodage se produit au moment de l’analyse. La bibliothèque lève des exceptions typées avant le début de l’encodage :
| Exception | Lorsqu’il est levé |
|---|---|
InvalidInputError | Les données contiennent des caractères non pris en charge par la symbologie |
EncodingError | L’encodage échoue (p. ex., les données dépassent la capacité) |
SymbologyNotFoundError | Nom de symbologie non reconnu transmis à generate() |
UnsupportedCapabilityError | Fonctionnalité demandée non disponible pour cette symbologie |
Toutes les classes d’exception héritent de BarcodeError.
from aspose_barcode_foss import InvalidInputError
try:
bc = barcode.ean13("ABC")
except InvalidInputError as e:
print(f"Invalid input: {e}")Validation des entrées
Chaque symbologie possède un InputParser dédié qui valide les données avant le codage. L’analyseur vérifie l’ensemble de caractères, la longueur et les exigences de format spécifiques à chaque symbologie. Code128InputParser, Code39InputParser, Ean13InputParser, Ean8InputParser, QrInputParser, UpcaInputParser et UpceInputParser sont utilisés en interne par leurs fonctions d’assistance respectives.
Objet Code-barres
L’objet Barcode retourné par toutes les fonctions d’assistance fournit :
to_svg(options)— rendre en chaîne SVGto_png(options)— rendre en octets PNGrender(renderer, options)— rendre en utilisant une implémentation spécifiqueRenderersymbol— leEncodedSymbolcontenant la matrice du module et les métadonnéesprofile— leSymbologyProfileavec les valeurs par défaut et les capacités
API Reference Résumé
| Classe | Description |
|---|---|
Barcode | Objet de code-barres public avec to_svg() et to_png() |
Code128Options | Options d’encodage pour Code 128 (encode_mode) |
Code39Options | Options d’encodage pour Code 39 (full_ascii, add_check_digit) |
QrOptions | Options d’encodage pour QR Code (error_correction_level, encoding_mode, version, mask) |
Ean13Options | Options d’encodage pour EAN-13 (allow_check_digit_input) |
Ean8Options | Options d’encodage pour EAN-8 (allow_check_digit_input) |
UpcaOptions | Options d’encodage pour UPC-A (allow_check_digit_input) |
UpceOptions | Options d’encodage pour UPC-E (allow_check_digit_input, number_system) |
RenderOptions | Contrôles de sortie visuelle (échelle, DPI, couleurs, texte) |
EncodeOptions | Type de base pour les options d’encodage spécifiques à la symbologie |
BarcodeError | Exception de base pour la bibliothèque de codes-barres |