Einleitung
Aspose.BarCode FOSS für Python erzeugt Barcodes in sieben Symbolen und rendert sie zu SVG und PNG. Dieser Beitrag konzentriert sich auf die Rendering-Pipeline – wie man das Ausgabeformat, die Abmessungen, Farben und den menschenlesbaren Text mit RenderOptions, SvgRenderer und PngRenderer steuert.
Die Bibliothek ist auf PyPI als aspose-barcode-foss verfügbar, veröffentlicht unter der MIT-Lizenz ohne native Abhängigkeiten. Jedes Barcode-Objekt stellt die Komfortmethoden to_svg() und to_png() bereit, sowie eine niedrigere render()-Methode, die jede Renderer-Implementierung akzeptiert.
Hauptfunktionen
SVG-Ausgabe mit SvgRenderer
SvgRenderer erzeugt auflösungsunabhängigen SVG-Markup. Die Barcode.to_svg()-Methode ist eine Abkürzung, die intern SvgRenderer verwendet.
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-Ausgabe mit PngRenderer
PngRenderer erzeugt Raster-PNG-Bilder. Steuern Sie die Auflösung mit der dpi-Eigenschaft von RenderOptions. Die Barcode.to_png()-Methode ist die praktische Abkürzung.
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)
Steuerung von Maßstab und DPI
RenderOptions liefert scale (Multiplikator für Modulabmessungen) und dpi (Dots per Inch für Rasterausgabe). Diese arbeiten zusammen: scale beeinflusst die logische Größe von Balken und Lücken, während dpi die Pixeldichte in der PNG-Ausgabe steuert.
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)
Farben und Hintergrund
Setze foreground_color und background_color als CSS-Farbstrings. Aktiviere transparent_background, um die Hintergrundfüllung zu unterdrücken (nützlich, um sie über vorhandene Designs zu legen).
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)
Steuerung der Ruhezone
Die quiet_zone-Eigenschaft legt den leeren Rand um den Barcode in Modulbreiten-Einheiten fest. Die meisten Barcode-Standards erfordern eine minimale Ruhezone für zuverlässiges Scannen.
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)
Menschlich lesbarer Text
Setzen Sie show_text=True, um die codierten Daten unter dem Barcode anzuzeigen. Die Eigenschaften font_family und font_size steuern das Erscheinungsbild des Textes.
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)
Schnellstart
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)
Unterstützte Formate
| Format | Erweiterung | Lesen | Schreiben |
|---|---|---|---|
| SVG | .svg | — | ✓ |
| PNG | .png | — | ✓ |
Hinweis: PdfRenderer ist im API vorhanden, löst jedoch in der aktuellen Version NotImplementedError aus.
Open Source & Lizenzierung
Aspose.BarCode FOSS für Python wird unter der MIT-Lizenz veröffentlicht. Der Quellcode ist auf GitHub gehostet. Sie können die Bibliothek sowohl in Open-Source- als auch in kommerziellen Projekten verwenden, modifizieren und weiterverteilen.