Inleiding

Aspose.BarCode FOSS voor Python genereert barcodes in zeven symbologieën en rendert ze naar SVG en PNG. Deze post richt zich op de rendering-pipeline — hoe je het uitvoerformaat, de afmetingen, kleuren en leesbare tekst kunt regelen met RenderOptions, SvgRenderer en PngRenderer.

De bibliotheek is beschikbaar op PyPI als aspose-barcode-foss, uitgebracht onder de MIT-licentie zonder native afhankelijkheden. Elk barcode-object biedt de gemaks-methoden to_svg() en to_png(), plus een lagere-niveau render()-methode die elke Renderer-implementatie accepteert.


Belangrijkste kenmerken

SVG-uitvoer met SvgRenderer

SvgRenderer produceert resolutie-onafhankelijke SVG-markup. De Barcode.to_svg()-methode is een snelkoppeling die intern SvgRenderer gebruikt.

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

PNG-uitvoer met PngRenderer

PngRenderer produceert raster PNG-afbeeldingen. Controleer de resolutie met de dpi eigenschap op RenderOptions. De Barcode.to_png() methode is de handige snelkoppeling.

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)

Schaal en DPI beheren

RenderOptions biedt scale (vermenigvuldiger voor moduleafmetingen) en dpi (dots per inch voor rasteroutput). Deze werken samen: scale beïnvloedt de logische grootte van staven en spaties, terwijl dpi de pixeldichtheid in PNG-uitvoer regelt.

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)

Kleuren en achtergrond

Stel foreground_color en background_color in als CSS kleurspecificaties. Schakel transparent_background in om de achtergrondvulling weg te laten (handig bij het overlayen op bestaande ontwerpen).

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)

Beheer van stille zone

De quiet_zone eigenschap stelt de lege marge rond de barcode in modulebreedte-eenheden in. De meeste barcode-standaarden vereisen een minimale stille zone voor betrouwbare scanning.

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)

Menselijk leesbare tekst

Stel show_text=True in om de gecodeerde gegevens onder de barcode weer te geven. De font_family en font_size eigenschappen bepalen het uiterlijk van de tekst.

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)

Snelstart

git clone https://github.com/aspose-barcode-foss/Aspose.BarCode-FOSS-for-Python.git
cd Aspose.BarCode-FOSS-for-Python
pip install -e .
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)

Ondersteunde formaten

FormaatExtensieLezenSchrijven
SVG.svg
PNG.png

Opmerking: PdfRenderer bestaat in de API, maar veroorzaakt NotImplementedError in de huidige release.


Open source & licenties

Aspose.BarCode FOSS voor Python wordt uitgebracht onder de MIT-licentie. De broncode wordt gehost op GitHub. Je kunt de bibliotheek gebruiken, aanpassen en herdistribueren in zowel open-source als commerciële projecten.


Aan de slag

Gerelateerde bronnen