Introduction

Aspose.BarCode FOSS pour Python génère des codes-barres dans sept symbologies et les rend en SVG et PNG. Cet article se concentre sur le pipeline de rendu — comment contrôler le format de sortie, les dimensions, les couleurs et le texte lisible par l’homme en utilisant RenderOptions, SvgRenderer et PngRenderer.

La bibliothèque est disponible sur PyPI sous le nom aspose-barcode-foss, publiée sous licence MIT sans dépendances natives. Chaque objet code-barres expose les méthodes pratiques to_svg() et to_png(), ainsi qu’une méthode de bas niveau render() qui accepte toute implémentation Renderer.


Fonctionnalités clés

Sortie SVG avec SvgRenderer

SvgRenderer produit un balisage SVG indépendant de la résolution. La méthode Barcode.to_svg() est un raccourci qui utilise SvgRenderer en interne.

from aspose_barcode_foss import BarcodeService, RenderOptions
from aspose_barcode_foss.rendering import SvgRenderer

service = BarcodeService()
barcode = service.generate("code128", "RENDER-TEST-001")

# Direct convenience method
svg_string = barcode.to_svg(RenderOptions(scale=2.0))

# Explicit renderer usage
renderer = SvgRenderer()
result = barcode.render(renderer, RenderOptions(scale=2.0, show_text=True))

Sortie PNG avec PngRenderer

PngRenderer produit des images raster PNG. Contrôlez la résolution avec la propriété dpi sur RenderOptions. La méthode Barcode.to_png() est le raccourci pratique.

from aspose_barcode_foss import BarcodeService, RenderOptions
from aspose_barcode_foss.rendering import PngRenderer

service = BarcodeService()
barcode = service.generate("ean13", "590123412345")

# Convenience method — returns bytes
png_bytes = barcode.to_png(RenderOptions(dpi=300, scale=3.0))

with open("barcode.png", "wb") as f:
    f.write(png_bytes)

Contrôle de l’échelle et du DPI

RenderOptions fournit scale (multiplicateur pour les dimensions des modules) et dpi (points par pouce pour la sortie raster). Ils fonctionnent ensemble : scale affecte la taille logique des barres et des espaces, tandis que dpi contrôle la densité de pixels dans la sortie PNG.

from aspose_barcode_foss import RenderOptions

# High-resolution print label
print_options = RenderOptions(scale=4.0, dpi=600)

# Screen display
screen_options = RenderOptions(scale=1.0, dpi=96)

Couleurs et arrière-plan

Définissez foreground_color et background_color comme des chaînes de couleur CSS. Activez transparent_background pour omettre le remplissage de l’arrière-plan (utile pour superposer sur des conceptions existantes).

from aspose_barcode_foss import BarcodeService, RenderOptions

service = BarcodeService()
barcode = service.generate("qrcode", "https://example.com")

options = RenderOptions(
    foreground_color="#003366",
    background_color="#FFFFFF",
    scale=3.0,
)
svg = barcode.to_svg(options)

Contrôle de la zone silencieuse

La propriété quiet_zone définit la marge blanche autour du code-barres en unités de largeur de module. La plupart des normes de code-barres exigent une zone silencieuse minimale pour une numérisation fiable.

from aspose_barcode_foss import BarcodeService, RenderOptions

service = BarcodeService()
barcode = service.generate("code39", "QUIET-ZONE")

# Wider quiet zone for print use
options = RenderOptions(quiet_zone=10.0, scale=2.0)
svg = barcode.to_svg(options)

Texte lisible par l’homme

Définissez show_text=True pour afficher les données encodées sous le code-barres. Les propriétés font_family et font_size contrôlent l’apparence du texte.

from aspose_barcode_foss import BarcodeService, RenderOptions

service = BarcodeService()
barcode = service.generate("upca", "01234567890")

options = RenderOptions(
    show_text=True,
    font_family="monospace",
    font_size=12.0,
    scale=2.5,
)
svg = barcode.to_svg(options)

Démarrage rapide

asposefoss/barcode is not yet published — build from source until it ships. See the project README for build instructions.
from aspose_barcode_foss import BarcodeService, RenderOptions

service = BarcodeService()

# Generate a Code 128 barcode
barcode = service.generate("code128", "HELLO-2026")

# Render to SVG with custom options
options = RenderOptions(
    scale=2.0,
    show_text=True,
    foreground_color="#000000",
    background_color="#FFFFFF",
    quiet_zone=4.0,
)

svg_output = barcode.to_svg(options)
with open("hello.svg", "w") as f:
    f.write(svg_output)

# Render to PNG at 300 DPI
png_bytes = barcode.to_png(RenderOptions(dpi=300, scale=3.0))
with open("hello.png", "wb") as f:
    f.write(png_bytes)

Formats pris en charge

FormatExtensionLireÉcrire
SVG.svg
PNG.png

Remarque : PdfRenderer existe dans le API mais génère NotImplementedError dans la version actuelle.


Open Source et licences

Aspose.BarCode FOSS pour Python est publié sous la licence MIT. Le code source est hébergé sur GitHub. Vous pouvez utiliser, modifier et redistribuer la bibliothèque dans des projets open source et commerciaux.


Premiers pas

Ressources associées