Cómo generar códigos de bar con Aspose.BarCode FOSS
Problem
Generar códigos de barras 1D y 2D desde las líneas de datos utilizando Aspose.BarCode FOSS para Python. la biblioteca proporciona funciones de ayuda per-symbology (code128(), qr(), ean13(),etc.) y una genética generate() Función que acepta una rama de nombre simbológico.
import aspose_barcode_foss as barcode
bc = barcode.code128("Hello World")
svg = bc.to_svg()Prerequisites
- Python 3.12 o más tarde
- Gestión de paquetes Pip
aspose-barcode-fossInstalado porpip install aspose-barcode-foss
Con el uso de Per-Symbology Helpers
Cada simbología apoyada tiene una función de ayuda dedicada que devolve un Barcode El asistente valida la entrada y selecciona automáticamente el codificador correcto.
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”)
```python
import aspose_barcode_foss as barcode
# 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")<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>
Utilizando la función generadora genética
El generate() La función acepta una rama de nombre de la simbología como su primer argumento.Esto es útil cuando se determina en el tiempo real la simbología.
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”)
```python
import aspose_barcode_foss as barcode
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>
Combinar la generación con las opciones de encode
Pasar una encode Para controlar las opciones simbológicas específicas durante la generación.
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()Leer el símbolo encodado
El Barcode El objeto exponerá a symbol Propiedad de tipo EncodedSymbol,que contiene el matrix (a) a ModuleMatrix con la red de módulos) y metadata (a) a SymbolMetadata con el nombre de la simbología, texto de muestra y datos 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}")
```python
import aspose_barcode_foss as barcode
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}")<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>
ahorrar la salida
Después de generar a Barcode,y llamando to_svg() para un SVG string o to_png() para bajas PNG. Escribe el resultado en un archivo.
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>
import aspose_barcode_foss as barcode
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())Simbolos apoyados
| Symbology | Type | Ayuda Función | Opciones de clase |
|---|---|---|---|
| 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 |