Come generare codici a barre con Aspose.BarCode FOSS
Problem
Dopo aver generato un codice a barre, è necessario renderizzarlo come file immagine. Aspose.BarCode FOSS per Python genera codici a barre nei formati SVG e PNG tramite i metodi to_svg() e to_png() sull’oggetto Barcode. La classe RenderOptions controlla le proprietà visive come scala, DPI, colori, zona silenziosa e visualizzazione del testo leggibile dall’uomo.
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))Prerequisiti
- Python 3.12 o versioni successive
- gestore di pacchetti pip
aspose-barcode-fosscompilato dal sorgente
Output SVG
Chiama to_svg() per ottenere il codice a barre come stringa SVG. L’output SVG è basato su vettori e si scala senza perdita di qualità.
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)Output PNG
Chiama to_png() per ottenere il codice a barre come byte PNG. L’output PNG è rasterizzato alla scala e DPI specificati.
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)Controllo della scala e DPI
Usa RenderOptions per impostare scale (un moltiplicatore decimale per la dimensione del modulo) e dpi (punti per pollice per l’output raster). Puoi anche impostare module_width e module_height direttamente per un controllo preciso sulle dimensioni dei singoli moduli.
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)Impostazione dei colori
Imposta foreground_color e background_color come stringhe di colore CSS. Usa transparent_background=True per l’output PNG senza riempimento dello sfondo.
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)Zona Silenziosa
La proprietà quiet_zone controlla il margine di spazio bianco attorno al codice a barre in unità di modulo. Gli standard dei codici a barre tipicamente richiedono una zona silenziosa minima per una scansione affidabile.
from aspose_barcode_foss import RenderOptions
options = RenderOptions(quiet_zone=10.0)
svg = bc.to_svg(options=options)Testo leggibile dall’uomo
Imposta show_text=True per visualizzare il testo leggibile dall’uomo sotto il codice a barre. Controlla il font con font_family e 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 Proprietà
| Proprietà | Tipo | Descrizione |
|---|---|---|
scale | float | Moltiplicatore per la dimensione del modulo |
dpi | int | Punti per pollice (output raster) |
module_width | float | Larghezza di un modulo |
module_height | float | Altezza di un modulo |
quiet_zone | float | Margine di spazio bianco in unità di modulo |
foreground_color | str | colore CSS per barre/moduli |
background_color | str | colore CSS per lo sfondo |
transparent_background | bool | Sfondo PNG trasparente |
show_text | bool | Mostra testo leggibile |
font_family | str | Font per il testo leggibile |
font_size | float | Dimensione del carattere per il testo leggibile |
Limitazioni note
Il metodo to_pdf() e la classe PdfRenderer esistono nel API ma sollevano NotImplementedError. Usa to_svg() o to_png() al loro posto. L’output SVG può essere incorporato in documenti PDF usando strumenti esterni.