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():

SymbologyTypeHelperClasse Options
Code 1281Dcode128()Code128Options
Code 391Dcode39()Code39Options
EAN-131Dean13()Ean13Options
EAN-81Dean8()Ean8Options
QR Code2Dqr()QrOptions
UPC-A1Dupca()UpcaOptions
UPC-E1Dupce()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 compact
  • CODE_A, CODE_B, CODE_C — restreindre à un seul jeu de caractères
  • CODE_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 sur True pour encoder la plage complète de 128 caractères ASCII en utilisant des paires de décalage
  • add_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éTypeValues
error_correction_levelQrErrorCorrectionLevelL (7%), M (15%), Q (25%), H (30%)
encoding_modeQrEncodeModeAUTO, NUMERIC, ALPHANUMERIC, BYTE, KANJI
versionint1–40 (contrôle la taille du symbole)
maskint0–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éTypeDescription
scalefloatMultiplicateur d’échelle uniforme
dpiintRésolution pour la sortie PNG
module_widthfloatLargeur d’un module de code-barres
module_heightfloatHauteur d’un module de code-barres
quiet_zonefloatMarge d’espaces autour du code-barres
foreground_colorstrCouleur hexadécimale pour les barres (par ex., "#000000")
background_colorstrCouleur hexadécimale pour l’arrière-plan
transparent_backgroundboolFond transparent pour PNG
show_textboolAfficher le texte lisible sous le code-barres
font_familystrPolice pour le texte lisible
font_sizefloatTaille 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

FormatMéthodeType de retour
SVGto_svg()str
PNGto_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 :

ExceptionLorsqu’il est levé
InvalidInputErrorLes données contiennent des caractères non pris en charge par la symbologie
EncodingErrorL’encodage échoue (p. ex., les données dépassent la capacité)
SymbologyNotFoundErrorNom de symbologie non reconnu transmis à generate()
UnsupportedCapabilityErrorFonctionnalité 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 SVG
  • to_png(options) — rendre en octets PNG
  • render(renderer, options) — rendre en utilisant une implémentation spécifique Renderer
  • symbol — le EncodedSymbol contenant la matrice du module et les métadonnées
  • profile — le SymbologyProfile avec les valeurs par défaut et les capacités

API Reference Résumé

ClasseDescription
BarcodeObjet de code-barres public avec to_svg() et to_png()
Code128OptionsOptions d’encodage pour Code 128 (encode_mode)
Code39OptionsOptions d’encodage pour Code 39 (full_ascii, add_check_digit)
QrOptionsOptions d’encodage pour QR Code (error_correction_level, encoding_mode, version, mask)
Ean13OptionsOptions d’encodage pour EAN-13 (allow_check_digit_input)
Ean8OptionsOptions d’encodage pour EAN-8 (allow_check_digit_input)
UpcaOptionsOptions d’encodage pour UPC-A (allow_check_digit_input)
UpceOptionsOptions d’encodage pour UPC-E (allow_check_digit_input, number_system)
RenderOptionsContrôles de sortie visuelle (échelle, DPI, couleurs, texte)
EncodeOptionsType de base pour les options d’encodage spécifiques à la symbologie
BarcodeErrorException de base pour la bibliothèque de codes-barres

Voir aussi

 Français