Como gerar códigos de barras com Aspose.BarCode FOSS
Problem
Gerar códigos de barras 1D e 2D a partir de cadeias de dados usando Aspose.BarCode FOSS para Python. A biblioteca fornece funções auxiliares por simbologia (code128(), qr(), ean13(), etc.) e um género de generate() função que aceita uma cadeia de nomes simbológicos.
import aspose_barcode_foss as barcode
bc = barcode.code128("Hello World")
svg = bc.to_svg()Prerequisites
- Python 3.12 ou posterior
- Gestor de pacotes pip
aspose-barcode-fossinstalado através de:pip install aspose-barcode-foss
Usando auxiliares de per-simbolização
Cada simbologia suportada tem uma função auxiliar dedicada que retorna um Barcode O auxiliar valida a entrada e selecciona automaticamente o codificador correto.
1D barcodes
bc_128 = barcode.code128(“ABC-123”) bc_39 = barcode.code39(“HELLO”) bc_ean13 = barcode.ean13(“590123412345”) bc_ean8 = barcode.ean8(“1234567”) bc_upca = barcode.upca(“01234567890”) bc_upce = barcode.upce(“012345”)
2D barcode
bc_qr = barcode.qr(“https://example.com”)
## Usando a função de geração genérica
A Comissão `generate()` função aceita uma cadeia de nomes simbologia como seu primeiro argumento. Isto é útil quando a simbología é determinada no tempo de execução.
bc = barcode.generate("code128", "Dynamic data")
svg = bc.to_svg()
# Also works with other symbology names
bc_qr = barcode.generate("qr", "https://example.com")
bc_ean = barcode.generate("ean13", "590123412345")<button class=“hextra-code-copy-btn hx-group/copybtn hx-transition-all active:hx-opacity-50 hx-bg-primary-700/5 hx-border hx-border-black/5 hx-text-gray-600 hover:hx-text-gray-900 hx-rounded-md hx-p-1.5 dark:hx-bg-primary-300/10 dark:hx-border-white/10 dark:hx-text-gray-400 dark:hover:hx-text-gray-50” title=“Copy code”
<div class="copy-icon group-[.copied]/copybtn:hx-hidden hx-pointer-events-none hx-h-4 hx-w-4"></div>
<div class="success-icon hx-hidden group-[.copied]/copybtn:hx-block hx-pointer-events-none hx-h-4 hx-w-4"></div>
Combinando a geração com opções de codificação
Passar um encode Parâmetro para controlar as opções específicas de simbologia durante a geração.
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.Q),
)
svg = bc.to_svg()Ler o símbolo codificado
A Comissão Barcode O objeto expõe um symbol Propriedade de tipo EncodedSymbol, que contém o matrix (a) ModuleMatrix com a grade do módulo) e metadata (a) SymbolMetadata com o nome da simbologia, texto de exibição e dados normalizados).
bc = barcode.code128(“Test”) symbol = bc.symbol
Access the module matrix
print(f"Width: {symbol.matrix.width}") print(f"Height: {symbol.matrix.height}")
Access symbol metadata
print(f"Symbology: {symbol.metadata.symbology}") print(f"Display text: {symbol.metadata.display_text}")
## Salvando a produção
Após a geração de um `Barcode`,- Sim , telefone . `to_svg()` para uma cadeia de caracteres SVG ou `to_png()` Escreva o resultado num ficheiro.
bc = barcode.code128("SAVE-ME")
# Save as SVG
with open("barcode.svg", "w") as f:
f.write(bc.to_svg())
# Save as PNG
with open("barcode.png", "wb") as f:
f.write(bc.to_png())<button class=“hextra-code-copy-btn hx-group/copybtn hx-transition-all active:hx-opacity-50 hx-bg-primary-700/5 hx-border hx-border-black/5 hx-text-gray-600 hover:hx-text-gray-900 hx-rounded-md hx-p-1.5 dark:hx-bg-primary-300/10 dark:hx-border-white/10 dark:hx-text-gray-400 dark:hover:hx-text-gray-50” title=“Copy code”
<div class="copy-icon group-[.copied]/copybtn:hx-hidden hx-pointer-events-none hx-h-4 hx-w-4"></div>
<div class="success-icon hx-hidden group-[.copied]/copybtn:hx-block hx-pointer-events-none hx-h-4 hx-w-4"></div>
Simbolias apoiadas
| Symbology | Type | Função auxiliar | Classe de opções |
|---|---|---|---|
| Código 128 | 1D | code128() | Code128Options |
| Código 39 | 1D | code39() | Code39Options |
| EAN-13 | 1D | ean13() | Ean13Options |
| EAN-8 | 1D | ean8() | Ean8Options |
| Código QR | 2D | qr() | QrOptions |
| UPC-A | 1D | upca() | UpcaOptions |
| UPC-E | 1D | upce() | UpceOptions |