Jak renderować kody kreskowe przy pomocy Aspose.BarCode FOSS

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-foss zbudowany 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śćTypOpis
scalefloatMnożnik rozmiaru modułu
dpiintPunkty na cal (wyjście rastrowe)
module_widthfloatSzerokość jednego modułu
module_heightfloatWysokość jednego modułu
quiet_zonefloatMargines białej przestrzeni w jednostkach modułu
foreground_colorstrCSS kolor dla pasków/modułów
background_colorstrCSS kolor tła
transparent_backgroundboolPrzezroczyste tło PNG
show_textboolPokaż tekst czytelny dla człowieka
font_familystrCzcionka dla tekstu czytelnego dla człowieka
font_sizefloatRozmiar 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.

Zobacz także

 Polski