1. Produits
  2.   Aspose.BarCode
  3.   Aspose.BarCode FOSS for Python

Aspose.BarCode FOSS for Python

Bibliothèque Python open-source pour générer des codes-barres 1D et 2D conformes aux normes. Sous licence MIT, pure Python, rend en SVG et PNG.

Bibliothèque Python Open-Source pour la génération de codes à barres

FOSS pour Python est une bibliothèque open source gratuite permettant de générer des codes à barres conformes aux normes en Python pur. Installez-le avec pip install aspose-barcode-foss et commencez à créer Code 128, Code 39, EAN-13, EAn-8, QR Code, UPC-A et U PC-E. Chaque code à Barre rend directement SVG ou PNG sans dépendances natives.

La bibliothèque expose une fonction generate() de haut niveau et des aides par symbologie telles que barcode.code128(), barcode.qr() et barcode.ean13(). Chaque appel renvoie un objet Barcode avec les méthodes .to_svg() ou .to_png() pour la sortie immédiate. Les options de rendu comprenant l’échelle, le DPI, les dimensions du module, la zone couleur, et la visibilité du texte lisible par l"homme sont contrôlées via RenderOptions.

Comme la bibliothèque est en Python pur sans dépendances Office natives ou d’imagerie, elle fonctionne de manière identique sur Windows, Linux et macOS, y compris les conteneurs Docker et les coureurs CI. La base de code est sous licence MIT et hébergée sur GitHub. Pour des caractéristiques et un support pour l’entreprise, voir Aspose.BarCode for Python — Enterprise Product.

Génération de codes à barres

  • Sept symbologies : Code 128, Code 39, EAN-13, EAN-8, QR Code, UPC-A et UPC-E.
  • Niveau supérieur API : Appelez barcode.generate("code128", "data") pour créer tout code-barres pris en charge par son nom.
  • Assistants dédiés : Utilisez barcode.code128(), barcode.qr(), barcode.ean13(), barcode.ean8(), barcode.upca() et barcode.upce() pour une génération sécurisée par type.
  • Options d’encodage : Contrôlez le mode d’encodage, les chiffres de contrôle, le niveau de correction d’erreurs et GS1 via Code128Options, Code39Options, QrOptions et les classes d’options spécifiques à la symbologie.
  • Chiffres de contrôle automatiques : EAN-13, EAN-8, UPC-A et UPC-E calculent les chiffres de contrôle automatiquement à partir de la chaîne de données.

Où Aspose.BarCode FOSS peut être utilisé

  • ** Étiquetage du produit:** Générer des codes à barres EAN-13 et UPC-A pour les emballages de détail.
  • ** Gestion des stocks:** Créer les étiquettes du code 128 pour les flux de travail d’entrepôt et logistique.
  • ** Campagnes de codes QR:** Produire des cods QR pour les supports marketing, les billets d’événements et les liens mobiles.
  • Logistique et expédition: Générer les codes à barres 39 et 128 pour les étiquettes de suivi des envois.

Rendu et sortie

  • Sortie SVG : Appelez barcode.to_svg() pour obtenir une chaîne SVG conforme aux normes.
  • Sortie PNG : Appelez barcode.to_png() pour obtenir les octets d’image PNG.
  • RenderOptions : Contrôlez scale, dpi, module_width, module_height, quiet_zone, foreground_color, background_color, transparent_background, show_text, font_family et font_size.
  • Texte lisible par l’homme : Les implémentations spécifiques à la symbologie TextLayoutPolicy gèrent le placement du texte sous chaque type de code-barres.
  • Architecture du rendu : PngRenderer et SvgRenderer implémentent l’interface Renderer pour une sortie extensible.

Expérience de développeur

Aspose.BarCode FOSS est installable avec pip install aspose-barcode-foss. Il n’y a pas de bibliothèques natives ou de paquets système à installer. La bibliothèque nécessite Python 3.12 ou version ultérieure.

Le API est construit autour de Barcode, EncodeOptions, RenderOptions et SymbologyRegistry, couvrant l’ensemble du pipeline de génération à rendu. Chaque symbologie est définie par un SymbologyDefinition qui regroupe un analyseur, un encodeur, un profil et une politique de mise en page du texte. Le code source est sous licence MIT, hébergé sur GitHub, et accepte les contributions.

Configuration de la symbologie

  • Code 128 modes: Sélectionnez AUTO, CODE_A, CODE_B, CODE_C ou des modes à jeu mixte via Code128EncodeMode.
  • Code 39 modes: Choisissez l’encodage BASE ou FULL_ASCII avec chiffre de contrôle optionnel via Code39Options.
  • QR options: Définissez error_correction_level (L, M, Q, H), version, mask et encoding_mode (AUTO, NUMERIC, ALPHANUMERIC, BYTE, KANJI) via QrOptions.
  • Système de registre: SymbologyRegistry stocke toutes les définitions et résout les symbologies par nom canonique ou alias.
  • Métadonnées du profil: Le SymbologyProfile de chaque symbologie fournit les valeurs par défaut, les capacités, les références de spécifications et les limitations connues.

Gestion des erreurs

  • Typed exceptions: BarcodeError est la base, avec EncodingError, RenderingError, InvalidInputError, SymbologyNotFoundError, UnsupportedFeatureError et UnsupportedCapabilityError.
  • Input validation: Chaque InputParser valide les données avant l’encodage, détectant les caractères invalides et les violations de format dès le départ.
  • Capability checks: Les fonctionnalités non prises en charge (par ex., entrée binaire pour Code 39) lèvent UnsupportedCapabilityError avec un message descriptif.

Générer un code 128 barcode

Créer un code à barres 128 avec la fonction generate() de haut niveau et le rendre en SVG.

import aspose_barcode_foss as barcode
bc = barcode.generate("code128", "Hello World")
svg_string = bc.to_svg()
print(svg_string[:80])

Créer un code QR avec des options personnalisées

Générer un code QR avec correction d’erreur spécifique et le rendre en octets PNG.

import aspose_barcode_foss as barcode
from aspose_barcode_foss import QrOptions, QrErrorCorrectionLevel
bc = barcode.qr("https://example.com", options=QrOptions(
    error_correction_level=QrErrorCorrectionLevel.H
))
png_bytes = bc.to_png()
with open("qr.png", "wb") as f:
    f.write(png_bytes)

Rendre avec une apparence personnalisée

Utilisez RenderOptions pour contrôler l’échelle, les couleurs et la zone silencieuse de n’importe quel code à barres.

import aspose_barcode_foss as barcode
from aspose_barcode_foss import RenderOptions
bc = barcode.ean13("590123412345")
svg = bc.to_svg(options=RenderOptions(
    scale=2.0,
    foreground_color="#003366",
    quiet_zone=10.0,
    show_text=True
))

Foire aux questions

Quelle licence utilise Aspose.BarCode FOSS pour Python ?

La bibliothèque est publiée sous la licence MIT. Vous pouvez l’utiliser, modifier et redistribuer dans des projets open source et commerciaux sans redevances.

Quelles sont les symboles de codes à barres pris en charge ?

La bibliothèque prend en charge sept symboles Code 128, Code 39, EAN-13, E AN-8, QR Code, UPC-A et U PC-E.

Quels formats de sortie sont disponibles ?

Les codes à barres sont rendus en SVG via to_svg() et PNG viato_png(). La méthode to_pdf() existe dans l’API mais génère une erreur non implémentée dans la version actuelle.

Comment installer Aspose.BarCode FOSS pour Python ?

Exécutez pip install aspose-barcode-foss. La bibliothèque nécessite Python 3.12 ou version ultérieure. C’est du pur Python sans dépendances natives.

Je peux contrôler l’apparence visuelle du code-barres ?

Oui. Passez un objet RenderOptions à to_svg() ou to_png() pour contrôler l’échelle, le DPI, les dimensions du module, la couleur, une zone silencieuse et un texte lisible par l"homme.

Quelles versions de Python sont prises en charge ?

Aspose.BarCode FOSS nécessite Python 3.12 ou version ultérieure. C’est du pur Python sans dépendances natives ou C-extension.

Je peux générer des codes à barres en lot ?

Créer une instance unique de BarcodeService et appeler generate() en boucle pour chaque valeur de données. Chaque appel renvoie un objet Barcode que vous rendrez indépendamment avec to_svg() ou to_png().

Comment configurer les options de codage par symbologie ?

Passez un objet d’options spécifique à la symbologie (par ex. Code128Options, QrOptions, Ean13Options) en tant que paramètre encode de BarcodeService.generate(). Chaque classe d’options expose des propriétés spécifiques à cette symbologie, telles que encode_mode pour Code 128 ou error_correction_level pour QR Code.

  

Ressources de support et d'apprentissage

 Français