Introducción
Aspose.BarCode FOSS para Python genera códigos de barras en siete simbologías y los renderiza a SVG y PNG. Esta publicación se centra en la pipeline de renderizado — cómo controlar el formato de salida, dimensiones, colores y texto legible por humanos usando RenderOptions, SvgRenderer y PngRenderer.
La biblioteca está disponible en PyPI como aspose-barcode-foss, lanzada bajo la licencia MIT sin dependencias nativas. Cada objeto de código de barras expone los métodos convenientes to_svg() y to_png(), además de un método de nivel inferior render() que acepta cualquier implementación Renderer.
Características clave
Salida SVG con SvgRenderer
SvgRenderer produce un marcado SVG independiente de la resolución. El método Barcode.to_svg() es un atajo que usa SvgRenderer internamente.
from aspose_barcode_foss import BarcodeService, RenderOptions
from aspose_barcode_foss.rendering import SvgRenderer
service = BarcodeService()
barcode = service.generate("code128", "RENDER-TEST-001")
# Direct convenience method
svg_string = barcode.to_svg(RenderOptions(scale=2.0))
# Explicit renderer usage
renderer = SvgRenderer()
result = barcode.render(renderer, RenderOptions(scale=2.0, show_text=True))
Salida PNG con PngRenderer
PngRenderer produce imágenes raster PNG. Controle la resolución con la propiedad dpi en RenderOptions. El método Barcode.to_png() es el atajo de conveniencia.
from aspose_barcode_foss import BarcodeService, RenderOptions
from aspose_barcode_foss.rendering import PngRenderer
service = BarcodeService()
barcode = service.generate("ean13", "590123412345")
# Convenience method — returns bytes
png_bytes = barcode.to_png(RenderOptions(dpi=300, scale=3.0))
with open("barcode.png", "wb") as f:
f.write(png_bytes)
Control de escala y DPI
RenderOptions proporciona scale (multiplicador para dimensiones de módulo) y dpi (puntos por pulgada para la salida raster). Estos funcionan juntos: scale afecta el tamaño lógico de las barras y espacios, mientras que dpi controla la densidad de píxeles en la salida PNG.
from aspose_barcode_foss import RenderOptions
# High-resolution print label
print_options = RenderOptions(scale=4.0, dpi=600)
# Screen display
screen_options = RenderOptions(scale=1.0, dpi=96)
Colores y fondo
Establezca foreground_color y background_color como cadenas de color CSS. Active transparent_background para omitir el relleno de fondo (útil para superponer en diseños existentes).
from aspose_barcode_foss import BarcodeService, RenderOptions
service = BarcodeService()
barcode = service.generate("qrcode", "https://example.com")
options = RenderOptions(
foreground_color="#003366",
background_color="#FFFFFF",
scale=3.0,
)
svg = barcode.to_svg(options)
Control de zona silenciosa
La propiedad quiet_zone establece el margen en blanco alrededor del código de barras en unidades de ancho de módulo. La mayoría de los estándares de códigos de barras requieren una zona silenciosa mínima para una lectura fiable.
from aspose_barcode_foss import BarcodeService, RenderOptions
service = BarcodeService()
barcode = service.generate("code39", "QUIET-ZONE")
# Wider quiet zone for print use
options = RenderOptions(quiet_zone=10.0, scale=2.0)
svg = barcode.to_svg(options)
Texto legible por humanos
Establezca show_text=True para mostrar los datos codificados debajo del código de barras. Las propiedades font_family y font_size controlan la apariencia del texto.
from aspose_barcode_foss import BarcodeService, RenderOptions
service = BarcodeService()
barcode = service.generate("upca", "01234567890")
options = RenderOptions(
show_text=True,
font_family="monospace",
font_size=12.0,
scale=2.5,
)
svg = barcode.to_svg(options)
Inicio rápido
asposefoss/barcode is not yet published — build from source until it ships. See the project README for build instructions.from aspose_barcode_foss import BarcodeService, RenderOptions
service = BarcodeService()
# Generate a Code 128 barcode
barcode = service.generate("code128", "HELLO-2026")
# Render to SVG with custom options
options = RenderOptions(
scale=2.0,
show_text=True,
foreground_color="#000000",
background_color="#FFFFFF",
quiet_zone=4.0,
)
svg_output = barcode.to_svg(options)
with open("hello.svg", "w") as f:
f.write(svg_output)
# Render to PNG at 300 DPI
png_bytes = barcode.to_png(RenderOptions(dpi=300, scale=3.0))
with open("hello.png", "wb") as f:
f.write(png_bytes)
Formatos compatibles
| Formato | Extensión | Leer | Escribir |
|---|---|---|---|
| SVG | .svg | — | ✓ |
| PNG | .png | — | ✓ |
Nota: PdfRenderer existe en el API pero genera NotImplementedError en la versión actual.
Código abierto y licencias
Aspose.BarCode FOSS para Python se publica bajo la Licencia MIT. El código fuente está alojado en GitHub. Puede usar, modificar y redistribuir la biblioteca en proyectos tanto de código abierto como comerciales.
Primeros pasos
- Introducción
- Guía del desarrollador
- Artículos de la base de conocimientos
- API Reference
- Resolución de problemas