Perguntas Frequentes

Perguntas Frequentes

Licenciamento e Código Aberto

Qual licença o Aspose.BarCode FOSS para Python usa?

Aspose.BarCode FOSS para Python é distribuído sob a Licença MIT. O texto completo da licença está incluído no arquivo LICENSE distribuído com o pacote. Você tem liberdade para usar, modificar e redistribuir a biblioteca tanto em projetos de código aberto quanto proprietários.

Posso usar Aspose.BarCode FOSS em produtos comerciais?

Sim. A Licença MIT permite uso comercial sem royalties ou exigências de atribuição além de incluir o aviso de licença original. Você não precisa tornar seu aplicativo de código aberto.


Instalação e Requisitos

Como instalar Aspose.BarCode FOSS para Python?

Instale-o com o comando abaixo:

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

A biblioteca requer Python 3.12 ou posterior.

Existem dependências nativas ou pacotes de sistema necessários?

Não. Aspose.BarCode FOSS para Python é um pacote puramente Python. Não possui extensões nativas, nem dependências em C, e não requer pacotes de nível de sistema para instalação. Funciona em Windows, macOS e Linux — inclusive em imagens Docker enxutas como python:3.12-slim.


Suporte a Simbologia

Quais tipos de código de barras são suportados?

A biblioteca oferece suporte a sete simbologias:

SymbologyTipoClasse Options
Code 1281DCode128Options
Code 391DCode39Options
EAN-131DEan13Options
EAN-81DEan8Options
QR Code2DQrOptions
UPC-A1DUpcaOptions
UPC-E1DUpceOptions

Cada simbologia tem uma função auxiliar dedicada (code128(), code39(), ean13(), ean8(), qr(), upca(), upce()) e uma função genérica generate() que aceita uma string com o nome da simbologia.

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

A biblioteca renderiza códigos de barras em SVG e PNG:

  • to_svg() — retorna uma string SVG
  • to_png() — retorna bytes PNG

Ambos os métodos aceitam um parâmetro opcional RenderOptions para controlar escala, DPI, cores, zona silenciosa e texto legível.


API Usage

Como gerar um código de barras?

Use uma função auxiliar por simbologia:

import aspose_barcode_foss as barcode

bc = barcode.code128("Hello World")
svg = bc.to_svg()

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

Ou use a função genérica generate():

bc = barcode.generate("qr", "https://example.com")

Como configuro as opções de codificação?

Cada simbologia possui uma classe de opções dedicada. Passe-a como o parâmetro encode:

from aspose_barcode_foss import QrOptions, QrErrorCorrectionLevel

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

Como controlo a aparência visual do código de barras?

Use RenderOptions com to_svg() ou to_png():

from aspose_barcode_foss import RenderOptions

bc = barcode.code128("DATA")
png = bc.to_png(options=RenderOptions(
    scale=3.0,
    dpi=300,
    foreground_color="#003366",
    show_text=True,
))

Propriedades disponíveis: scale, dpi, module_width, module_height, quiet_zone, foreground_color, background_color, transparent_background, show_text, font_family, font_size.

Como a biblioteca trata os dígitos de verificação para códigos de barras EAN e UPC?

Por padrão, a biblioteca calcula o dígito verificador automaticamente. Forneça apenas os dígitos da carga útil (12 para EAN-13, 7 para EAN-8, 11 para UPC-A):

bc = barcode.ean13("590123412345")  # 12 digits — check digit computed

Para fornecer um dígito verificador pré-calculado, defina allow_check_digit_input=True:

from aspose_barcode_foss import Ean13Options

bc = barcode.ean13(
    "5901234123457",  # 13 digits with check digit
    encode=Ean13Options(allow_check_digit_input=True),
)

Limitações Conhecidas

A saída PDF é suportada?

Não. O método to_pdf() e a classe PdfRenderer existem na superfície 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.

Os padrões ECI e GS1 são suportados?

Ainda não. As classes EciHelper e Gs1Helper têm esboços de método que geram NotImplementedError. As propriedades eci_assignment_number e gs1_enabled em EncodeOptions estão presentes, mas não funcionais na versão atual.

A biblioteca pode ler ou escanear códigos de barras?

No. Aspose.BarCode FOSS for Python é uma biblioteca apenas de geração. Ela cria códigos de barras a partir de dados, mas não inclui reconhecimento nem recursos de varredura.

Ver também

 Português