Introdução

Estamos lançando Aspose.BarCode FOSS para Python, uma biblioteca pure-Python para gerar códigos de barras 1D e 2D compatíveis com padrões. O código-fonte está disponível em GitHub as aspose-barcode-foss, possui licença MIT e não tem dependências externas.

A biblioteca suporta sete simbologias: 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. Não há extensões nativas, nenhum pacote de sistema a instalar e nenhum driver gráfico necessário — compile a partir do código-fonte no Windows, Linux e macOS.


Principais Recursos

Geração de Alto Nível API

A função de nível superior generate() aceita um nome de simbologia e uma string de dados, retornando um objeto Barcode. Auxiliares dedicados por simbologia — code128(), code39(), ean13(), ean8(), qr(), upca() e upce() — fornecem pontos de entrada com segurança de tipo para cada formato.

import aspose_barcode_foss as barcode

bc = barcode.generate("code128", "ABC123")
svg = bc.to_svg()

Opções de Codificação Específicas da Simbologia

Cada simbologia aceita uma classe de opções que controla o comportamento da codificação. Code128Options fornece encode_mode (AUTO, CODE_A, CODE_B, CODE_C, CODE_AB, CODE_AC, CODE_BC). Code39Options suporta modos BASE e FULL_ASCII. QrOptions expõe error_correction_level (L, M, Q, H), version, mask e encoding_mode (AUTO, NUMERIC, ALPHANUMERIC, BYTE, KANJI).

import aspose_barcode_foss as barcode
from aspose_barcode_foss import QrOptions, QrErrorCorrectionLevel

bc = barcode.qr(
    "https://example.com",
    encode=QrOptions(error_correction_level=QrErrorCorrectionLevel.H),
)
png_bytes = bc.to_png()

Controles de Renderização

RenderOptions controla a saída visual: scale, dpi, module_width, module_height, quiet_zone, foreground_color, background_color, transparent_background, show_text, font_family e font_size. Tanto to_svg() quanto to_png() aceitam um parâmetro opcional RenderOptions.

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

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. Você fornece apenas os dígitos da carga útil; a biblioteca adiciona o dígito de verificação correto durante a codificação.

Validação de Entrada

Cada simbologia possui um InputParser dedicado que valida os dados antes da codificação. Caracteres inválidos, comprimentos incorretos e violações de formato são detectados antecipadamente com exceções tipadas: InvalidInputError, EncodingError, SymbologyNotFoundError e UnsupportedCapabilityError — todas herdando de BarcodeError.


Início Rápido

git clone https://github.com/aspose-barcode-foss/Aspose.BarCode-FOSS-for-Python.git
cd Aspose.BarCode-FOSS-for-Python
pip install -e .

Gere um Code 128 barcode e escreva o SVG em um arquivo:

import aspose_barcode_foss as barcode
from aspose_barcode_foss import RenderOptions

bc = barcode.code128("Hello World")
svg = bc.to_svg(options=RenderOptions(show_text=True))

with open("barcode.svg", "w") as f:
    f.write(svg)

Gere um QR code e salve-o como PNG:

import aspose_barcode_foss as barcode
from aspose_barcode_foss import QrOptions, QrErrorCorrectionLevel

bc = barcode.qr(
    "https://example.com",
    encode=QrOptions(error_correction_level=QrErrorCorrectionLevel.H),
)

with open("qr.png", "wb") as f:
    f.write(bc.to_png())

A biblioteca requer Python 3.12 ou posterior.


Formatos Compatíveis

SymbologyTipoDígito de VerificaçãoClasse Options
Code 1281DIntegradoCode128Options
Code 391DOptionalCode39Options
EAN-131DAutomaticEan13Options
EAN-81DAutomaticEan8Options
QR Code2DIntegradoQrOptions
UPC-A1DAutomaticUpcaOptions
UPC-E1DAutomaticUpceOptions

Formatos de saída:

FormatoExtensãoExport
SVG.svg
PNG.png

Código Aberto & Licenciamento

A biblioteca tem licença MIT. Você pode usá-la em aplicações comerciais, modificá-la e redistribuí-la sem restrições. O código-fonte está disponível em GitHub. Não há níveis de uso, limites de tokens ou telemetria. Todo o processamento ocorre localmente.


Começando

Recursos Relacionados