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
| Formaat | Extensie | Lezen | Schrijven |
|---|---|---|---|
| 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.