Hoe barcodes renderen met Aspose.BarCode FOSS
Problem
Nadat je een barcode hebt gegenereerd, moet je deze renderen als een afbeeldingsbestand. Aspose.BarCode FOSS voor Python rendert barcodes naar SVG- en PNG-formaten via de to_svg() en to_png() methoden op het Barcode object. De RenderOptions klasse regelt visuele eigenschappen zoals schaal, DPI, kleuren, stille zone en weergave van menselijk leesbare tekst.
import aspose_barcode_foss as barcode
from aspose_barcode_foss import RenderOptions
bc = barcode.code128("RENDER-ME")
png = bc.to_png(options=RenderOptions(scale=2.0, dpi=300))Vereisten
- Python 3.12 of later
- pip-pakketbeheerder
aspose-barcode-fossgecompileerd vanuit bron
SVG-uitvoer
Roep to_svg() aan om de barcode als een SVG-string te krijgen. SVG-output is vectorgebaseerd en schaalt zonder kwaliteitsverlies.
import aspose_barcode_foss as barcode
bc = barcode.qr("https://example.com")
svg_string = bc.to_svg()
with open("barcode.svg", "w") as f:
f.write(svg_string)PNG-uitvoer
Roep to_png() aan om de barcode als PNG-bytes te krijgen. PNG-output wordt gerasterd op de opgegeven schaal en DPI.
import aspose_barcode_foss as barcode
bc = barcode.code128("PNG-OUTPUT")
png_bytes = bc.to_png()
with open("barcode.png", "wb") as f:
f.write(png_bytes)Schaal en DPI regelen
Gebruik RenderOptions om scale in te stellen (een float-vermenigvuldiger voor de modulegrootte) en dpi (dots per inch voor rasteroutput). Je kunt ook module_width en module_height rechtstreeks instellen voor precieze controle over de afmetingen van individuele modules.
from aspose_barcode_foss import RenderOptions
options = RenderOptions(
scale=3.0,
dpi=300,
module_width=1.5,
module_height=25.0,
)
png = bc.to_png(options=options)Kleuren instellen
Stel foreground_color en background_color in als CSS kleurspecificaties. Gebruik transparent_background=True voor PNG-output zonder achtergrondvulling.
from aspose_barcode_foss import RenderOptions
options = RenderOptions(
foreground_color="#003366",
background_color="#FFFFFF",
)
svg = bc.to_svg(options=options)
# Transparent background for PNG
options_transparent = RenderOptions(
foreground_color="#000000",
transparent_background=True,
)
png = bc.to_png(options=options_transparent)Stille zone
De quiet_zone eigenschap regelt de witruimte-marge rond de barcode in module-eenheden. Barcode-standaarden vereisen doorgaans een minimale stiltezone voor betrouwbare scanning.
from aspose_barcode_foss import RenderOptions
options = RenderOptions(quiet_zone=10.0)
svg = bc.to_svg(options=options)Menselijke leesbare tekst
Stel show_text=True in om menselijke leesbare tekst onder de barcode weer te geven. Beheer het lettertype met font_family en font_size.
from aspose_barcode_foss import RenderOptions
options = RenderOptions(
show_text=True,
font_family="monospace",
font_size=12.0,
)
svg = bc.to_svg(options=options)RenderOptions Eigenschappen
| Eigenschap | Type | Beschrijving |
|---|---|---|
scale | float | Vermenigvuldiger voor modulegrootte |
dpi | int | Dots per inch (raster-uitvoer) |
module_width | float | Breedte van één module |
module_height | float | Hoogte van één module |
quiet_zone | float | Witruimtemarge in module-eenheden |
foreground_color | str | CSS kleur voor balken/modules |
background_color | str | CSS kleur voor achtergrond |
transparent_background | bool | Transparante PNG-achtergrond |
show_text | bool | Toon menselijk leesbare tekst |
font_family | str | Lettertype voor menselijk leesbare tekst |
font_size | float | Lettergrootte voor leesbare tekst |
Bekende beperkingen
De to_pdf() methode en PdfRenderer klasse bestaan in de API, maar veroorzaken NotImplementedError. Gebruik to_svg() of to_png() in plaats daarvan. SVG-output kan in PDF-documenten worden ingebed met behulp van externe tools.