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:
| Symbology | Tipo | Classe Options |
|---|---|---|
| Code 128 | 1D | Code128Options |
| Code 39 | 1D | Code39Options |
| EAN-13 | 1D | Ean13Options |
| EAN-8 | 1D | Ean8Options |
| QR Code | 2D | QrOptions |
| UPC-A | 1D | UpcaOptions |
| UPC-E | 1D | UpceOptions |
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 SVGto_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 computedPara 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.