Como Renderizar Códigos de Barras com Aspose.BarCode FOSS

Como Renderizar Códigos de Barras com Aspose.BarCode FOSS

Problem

Depois de gerar um código de barras, você precisa renderizá-lo como um arquivo de imagem. Aspose.BarCode FOSS para Python renderiza códigos de barras nos formatos SVG e PNG através dos métodos to_svg() e to_png() no objeto Barcode. A classe RenderOptions controla propriedades visuais como escala, DPI, cores, zona silenciosa e exibição de texto legível.

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

Pré-requisitos

  • Python 3.12 ou posterior
  • gerenciador de pacotes pip
  • aspose-barcode-foss compilado a partir do código-fonte

Saída SVG

Chame to_svg() para obter o código de barras como uma string SVG. A saída SVG é baseada em vetor e escala sem perda de qualidade.

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)

Saída PNG

Chame to_png() para obter o código de barras como bytes PNG. A saída PNG é rasterizada na escala e 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)

Controlando Escala e DPI

Use RenderOptions para definir scale (um multiplicador de ponto flutuante para o tamanho do módulo) e dpi (pontos por polegada para a saída raster). Você também pode definir module_width e module_height diretamente para controle preciso das dimensões individuais dos 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)

Definindo Cores

Defina foreground_color e background_color como strings de cor CSS. Use transparent_background=True para saída PNG sem preenchimento de fundo.

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

A propriedade quiet_zone controla a margem de espaço em branco ao redor do código de barras em unidades de módulo. Os padrões de códigos de barras normalmente exigem uma zona silenciosa mínima para uma leitura confiável.

from aspose_barcode_foss import RenderOptions

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

Texto Legível

Defina show_text=True para renderizar texto legível abaixo do código de barras. Controle a fonte com 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 Propriedades

PropriedadeTipoDescrição
scalefloatMultiplicador para o tamanho do módulo
dpiintPontos por polegada (saída raster)
module_widthfloatLargura de um módulo
module_heightfloatAltura de um módulo
quiet_zonefloatMargem de espaço em branco em unidades de módulo
foreground_colorstrCSS cor para barras/módulos
background_colorstrCSS cor de fundo
transparent_backgroundboolFundo PNG transparente
show_textboolExibir texto legível por humanos
font_familystrFonte para texto legível por humanos
font_sizefloatTamanho da fonte para texto legível por humanos

Limitações Conhecidas

O método to_pdf() e a classe PdfRenderer existem no API, mas geram NotImplementedError. Use to_svg() ou to_png() em vez disso. A saída SVG pode ser incorporada em documentos PDF usando ferramentas externas.

Ver também

 Português