Cómo renderizar códigos de barras con Aspose.BarCode FOSS

Cómo renderizar códigos de barras con Aspose.BarCode FOSS

Problem

Después de generar un código de barras, necesitas renderizarlo como un archivo de imagen. Aspose.BarCode FOSS para Python genera códigos de barras en formatos SVG y PNG mediante los métodos to_svg() y to_png() del objeto Barcode. La clase RenderOptions controla propiedades visuales como escala, DPI, colores, zona silenciosa y la visualización de texto legible por humanos.

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))

Requisitos previos

  • Python 3.12 o posterior
  • gestor de paquetes pip
  • aspose-barcode-foss compilado desde el código fuente

Salida SVG

Llame a to_svg() para obtener el código de barras como una cadena SVG. La salida SVG es basada en vectores y se escala sin pérdida de calidad.

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)

Salida PNG

Llame a to_png() para obtener el código de barras como bytes PNG. La salida PNG se rasteriza a la escala y DPI especificados.

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)

Control de escala y DPI

Utilice RenderOptions para establecer scale (un multiplicador de punto flotante para el tamaño del módulo) y dpi (puntos por pulgada para la salida raster). También puede establecer module_width y module_height directamente para un control preciso sobre las dimensiones individuales de los módulos.

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)

Configuración de colores

Establezca foreground_color y background_color como cadenas de color CSS. Utilice transparent_background=True para la salida PNG sin relleno de fondo.

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 silenciosa

La propiedad quiet_zone controla el margen de espacio en blanco alrededor del código de barras en unidades de módulo. Los estándares de códigos de barras normalmente requieren una zona silenciosa mínima para un escaneo fiable.

from aspose_barcode_foss import RenderOptions

options = RenderOptions(quiet_zone=10.0)
svg = bc.to_svg(options=options)

Texto legible por humanos

Establezca show_text=True para renderizar texto legible por humanos debajo del código de barras. Controle la fuente con font_family y 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)

Propiedades de RenderOptions

PropiedadTipoDescripción
scalefloatMultiplicador del tamaño del módulo
dpiintPuntos por pulgada (salida raster)
module_widthfloatAncho de un módulo
module_heightfloatAltura de un módulo
quiet_zonefloatMargen de espacio en blanco en unidades de módulo
foreground_colorstrcolor CSS para barras/módulos
background_colorstrcolor CSS para el fondo
transparent_backgroundboolFondo PNG transparente
show_textboolMostrar texto legible para humanos
font_familystrFuente para texto legible para humanos
font_sizefloatTamaño de fuente para texto legible por humanos

Limitaciones conocidas

El método to_pdf() y la clase PdfRenderer existen en el API pero generan NotImplementedError. Use to_svg() o to_png() en su lugar. La salida SVG puede incrustarse en documentos PDF usando herramientas externas.

Ver también

 Español