Jak renderować kody kreskowe przy pomocy Aspose.BarCode FOSS
Problem
Po wygenerowaniu kodu kreskowego należy go wyrenderować jako plik graficzny. Aspose.BarCode FOSS dla Python renderuje kody kreskowe do formatów SVG i PNG przy użyciu metod to_svg() i to_png() na obiekcie Barcode. Klasa RenderOptions kontroluje właściwości wizualne, takie jak skala, DPI, kolory, strefa ciszy oraz wyświetlanie tekstu czytelnego dla człowieka.
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))Wymagania wstępne
- Python 3.12 lub nowszy
- menedżer pakietów pip
aspose-barcode-fosszbudowany z kodu źródłowego
Wyjście SVG
Wywołaj to_svg(), aby otrzymać kod kreskowy jako ciąg SVG. Wyjście SVG jest oparte na wektorach i skalowalne bez utraty jakości.
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)Wyjście PNG
Wywołaj to_png(), aby otrzymać kod kreskowy jako bajty PNG. Wyjście PNG jest rastrowane w określonej skali i 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)Kontrolowanie skali i DPI
Użyj RenderOptions, aby ustawić scale (mnożnik zmiennoprzecinkowy rozmiaru modułu) oraz dpi (liczbę punktów na cal dla wyjścia rastrowego). Możesz także ustawić module_width i module_height bezpośrednio, aby precyzyjnie kontrolować wymiary poszczególnych modułów.
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)Ustawianie kolorów
Ustaw foreground_color i background_color jako ciągi kolorów CSS. Użyj transparent_background=True dla wyjścia PNG bez wypełnienia tła.
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)Strefa cicha
Właściwość quiet_zone kontroluje margines białej przestrzeni wokół kodu kreskowego w jednostkach modułu. Standardy kodów kreskowych zazwyczaj wymagają minimalnej strefy cichej dla niezawodnego skanowania.
from aspose_barcode_foss import RenderOptions
options = RenderOptions(quiet_zone=10.0)
svg = bc.to_svg(options=options)Tekst czytelny
Ustaw show_text=True, aby wyświetlać tekst czytelny pod kodem kreskowym. Kontroluj czcionkę za pomocą font_family i 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 Właściwości
| Właściwość | Typ | Opis |
|---|---|---|
scale | float | Mnożnik rozmiaru modułu |
dpi | int | Punkty na cal (wyjście rastrowe) |
module_width | float | Szerokość jednego modułu |
module_height | float | Wysokość jednego modułu |
quiet_zone | float | Margines białej przestrzeni w jednostkach modułu |
foreground_color | str | CSS kolor dla pasków/modułów |
background_color | str | CSS kolor tła |
transparent_background | bool | Przezroczyste tło PNG |
show_text | bool | Pokaż tekst czytelny dla człowieka |
font_family | str | Czcionka dla tekstu czytelnego dla człowieka |
font_size | float | Rozmiar czcionki dla tekstu czytelnego |
Znane ograniczenia
Metoda to_pdf() i klasa PdfRenderer istnieją w API, ale zgłaszają NotImplementedError. Użyj zamiast tego to_svg() lub to_png(). Wyjście SVG można osadzić w dokumentach PDF przy użyciu zewnętrznych narzędzi.