1. Produtos
  2.   Aspose.BarCode
  3.   Aspose.BarCode FOSS for Python

Aspose.BarCode FOSS for Python

Biblioteca Python de código aberto para gerar códigos de barras 1D e 2D compatíveis com padrões. Licença MIT, puro Python, renderiza para SVG e PNG.

Biblioteca Python de código aberto para geração de códigos de barras

Aspose.BarCode FOSS for Python é uma biblioteca gratuita e de código aberto para gerar códigos de barras compatíveis com padrões em puro Python. Instale-a com pip install aspose-barcode-foss e comece a criar códigos de barras Code 128, Code 39, EAN-13, EAN-8, QR Code, UPC-A e UPC-E. Cada código de barras é renderizado diretamente em SVG ou PNG sem dependências nativas.

A biblioteca expõe uma função de alto nível generate() e auxiliares por simbologia, como barcode.code128(), barcode.qr() e barcode.ean13(). Cada chamada retorna um objeto Barcode com métodos .to_svg() e .to_png() para saída imediata. As opções de renderização, incluindo escala, DPI, dimensões do módulo, cores, zona silenciosa e visibilidade do texto legível por humanos, são controladas através de RenderOptions.

Como a biblioteca é pura Python sem dependências nativas de Office ou de imagens, ela funciona de forma idêntica no Windows, Linux e macOS, incluindo contêineres Docker e runners de CI. O código-fonte tem licença MIT e está hospedado no GitHub. Para recursos e suporte corporativo, veja Aspose.BarCode for Python — Enterprise Product.

Geração de códigos de barras

  • Sete simbologias: Code 128, Code 39, EAN-13, EAN-8, QR Code, UPC-A e UPC-E.
  • Alto nível API: Chame barcode.generate("code128", "data") para criar qualquer código de barras suportado pelo nome.
  • Auxiliares dedicados: Use barcode.code128(), barcode.qr(), barcode.ean13(), barcode.ean8(), barcode.upca() e barcode.upce() para geração segura de tipos.
  • Opções de codificação: Controle o modo de codificação, dígitos de verificação, nível de correção de erros e GS1 via Code128Options, Code39Options, QrOptions e classes de opções específicas da simbologia.
  • Dígitos de verificação automáticos: EAN-13, EAN-8, UPC-A e UPC-E calculam os dígitos de verificação automaticamente a partir da string de dados.

Onde Aspose.BarCode FOSS pode ser usado

  • Rótulos do produto: Gerar códigos de barras EAN-13 e UPC-A para embalagens a retalho.
  • Gestão de inventário: Criar etiquetas com código 128 para fluxos de trabalho em armazém e logística.
  • ** Campanhas de códigos QR:** Produzir código QR para materiais de marketing, ingressos para eventos e links móveis.
  • Envio e logística: Gerar códigos de barras Código 39 e 128 para etiquetas de rastreamento das remessas.

Rendering e produção

  • Saída SVG: Chame barcode.to_svg() para obter uma string SVG compatível com padrões.
  • Saída PNG: Chame barcode.to_png() para obter bytes de imagem PNG.
  • RenderOptions: Controle scale, dpi, module_width, module_height, quiet_zone, foreground_color, background_color, transparent_background, show_text, font_family e font_size.
  • Texto legível: Implementações específicas de simbologia TextLayoutPolicy lidam com a colocação de texto abaixo de cada tipo de código de barras.
  • Arquitetura do renderizador: PngRenderer e SvgRenderer implementam a interface Renderer para saída extensível.

Experiência de desenvolvedor

Aspose.BarCode FOSS pode ser instalado com pip install aspose-barcode-foss. Não há bibliotecas nativas ou pacotes de sistema para instalar. A biblioteca requer Python 3.12 ou posterior.

O API é construído em torno de Barcode, EncodeOptions, RenderOptions e SymbologyRegistry, cobrindo todo o pipeline de geração até renderização. Cada simbologia é definida por um SymbologyDefinition que agrupa um analisador, codificador, perfil e política de layout de texto. O código-fonte tem licença MIT, está hospedado no GitHub e aceita contribuições.

Configuração da simbologia

  • Modos de código 128: Selecione AUTO, CODE_A , CODE_B,CODE_C ou modos com conjuntos mistos através do Code128EncodeMode.
  • Modos de código 39: Escolha a codificação BASE ou FULL_ASCII com dígito opcional via Code39Options.
  • ** Opções QR:** Defina error_correction_level (L, M, Q, H), version, mask e encoding_mode [AUTO, NUMÉRICO, ALFANOMÉRO, BYTE, KANJI] através de QrOptions.
  • ** Sistema de registo:** SymbologyRegistry armazena todas as definições e resolve simbologias por nome canônico ou alias.
  • ** Metadados de perfil:** Cada simbologia SymbologyProfile fornece padrões, capacidades, referências de especificações e limitações conhecidas.

Tratamento de erros

  • Typed exceptions: BarcodeError é a base, com EncodingError, RenderingError, InvalidInputError, SymbologyNotFoundError, UnsupportedFeatureError e UnsupportedCapabilityError.
  • Input validation: Cada InputParser valida os dados antes da codificação, capturando caracteres inválidos e violações de formato antecipadamente.
  • Capability checks: Recursos não suportados (por exemplo, entrada binária para Code 39) geram UnsupportedCapabilityError com uma mensagem descritiva.

Gerar um código de barras 128

Criar um código de barras 128 com a função generate() de alto nível e renderizar para SVG.

import aspose_barcode_foss as barcode
bc = barcode.generate("code128", "Hello World")
svg_string = bc.to_svg()
print(svg_string[:80])

Criar um código QR com opções personalizadas

Gerar um código QR com correção de erro específica e renderizar em bytes PNG.

import aspose_barcode_foss as barcode
from aspose_barcode_foss import QrOptions, QrErrorCorrectionLevel
bc = barcode.qr("https://example.com", options=QrOptions(
    error_correction_level=QrErrorCorrectionLevel.H
))
png_bytes = bc.to_png()
with open("qr.png", "wb") as f:
    f.write(png_bytes)

Render com aparência personalizada

Use RenderOptions para controlar escala, cores e zona silenciosa de qualquer código de barras.

import aspose_barcode_foss as barcode
from aspose_barcode_foss import RenderOptions
bc = barcode.ean13("590123412345")
svg = bc.to_svg(options=RenderOptions(
    scale=2.0,
    foreground_color="#003366",
    quiet_zone=10.0,
    show_text=True
))

Perguntas Frequentes

Que licença Aspose.BarCode FOSS para Python usa?

A biblioteca é lançada sob a licença MIT. Você pode usá-la, modificá - la e redistribuí -la em projetos de código aberto e comerciais sem royalties.

Quais as simbologias de código de barras suportadas?

A biblioteca suporta sete simbologias Código 128, Códigos 39, EAN-13, E AN-8, QR Code, UPC-A e U PC-E.

Que formatos de saída estão disponíveis?

Os códigos de barras são renderizados para SVG via to_svg() e PNG através to_png(). O método to_pdf() existe na API, mas levanta NotImplementedError na versão atual.

Como eu instalar Aspose.BarCode FOSS para Python?

Execute pip install aspose-barcode-foss. A biblioteca requer Python 3.12 ou posterior. É um Python puro sem dependências nativas.

Posso controlar a aparência visual do código de barras?

Sim. Passe um objeto RenderOptions para to_svg() ou to_png() para controlar escala, DPI, dimensões do módulo, cores, zona silenciosa e texto legível por humanos .

Quais versões do Python são suportadas?

Aspose.BarCode O FOSS requer Python 3.12 ou posterior. É um Python puro sem dependências nativas ou de extensão C.

Posso gerar códigos de barras em lotes?

Sim. Crie uma única instância BarcodeService e chame generate() em um loop para cada valor de dados. Cada chamada retorna um objeto Barcode que você rendere independentemente com to_svg() ou to_png().

Como configurar as opções de codificação por simbologia?

Passe um objeto de opções específico da simbologia (por exemplo, Code128Options, QrOptions, Ean13Options) como o parâmetro encode para BarcodeService.generate(). Cada classe de opções expõe propriedades específicas dessa simbologia, como encode_mode para Code 128 ou error_correction_level para QR Code.

  

Recursos de Suporte e Aprendizado

 Português