Casos de uso de generación de códigos de barras
Aspose.BarCode FOSS para Python admite siete simbologías: Code 128, Code 39, EAN-13, EAN-8, QR Code, UPC-A y UPC-E. Este artículo muestra escenarios prácticos para cada una.
Gestión de Inventario
Code 128 es una opción común para etiquetas de inventario porque codifica datos alfanuméricos, incluidos caracteres especiales. Cada artículo recibe un identificador único impreso en una etiqueta.
from aspose_barcode_foss import BarcodeService, RenderOptions
service = BarcodeService()
# Generate a Code 128 barcode for an inventory SKU
barcode = service.generate("code128", "SKU-2026-A1234")
svg_content = barcode.to_svg(RenderOptions(scale=2.0, show_text=True))
with open("inventory_label.svg", "w") as f:
f.write(svg_content)Etiquetas de Envío
Code 128 y Code 39 se utilizan ampliamente en el envío y la logística. Code 39 es más simple (letras mayúsculas, dígitos y algunos símbolos) y se usa en sistemas más antiguos. Code 128 admite un conjunto de caracteres más amplio.
from aspose_barcode_foss import BarcodeService, RenderOptions
service = BarcodeService()
# Code 39 for a tracking number
barcode = service.generate("code39", "SHIP2026071234")
png_bytes = barcode.to_png(RenderOptions(dpi=300, show_text=True))
with open("shipping_label.png", "wb") as f:
f.write(png_bytes)Punto de Venta Minorista
EAN-13 y UPC-A son simbologías estándar para productos minoristas. EAN-13 se usa internacionalmente; UPC-A es la variante norteamericana de 12 dígitos.
from aspose_barcode_foss import BarcodeService, RenderOptions
service = BarcodeService()
# EAN-13 for a product barcode (12 digits; check digit auto-computed)
barcode = service.generate("ean13", "590123412345")
svg_content = barcode.to_svg(RenderOptions(scale=3.0, show_text=True))
# UPC-A for a North American product
barcode_upc = service.generate("upca", "01234567890")
svg_upc = barcode_upc.to_svg(RenderOptions(scale=3.0, show_text=True))Seguimiento de documentos
Code 128 funciona bien para sistemas de seguimiento de documentos donde cada documento recibe un identificador alfanumérico único.
from aspose_barcode_foss import BarcodeService, RenderOptions
service = BarcodeService()
# Generate barcodes for a batch of documents
doc_ids = ["DOC-2026-001", "DOC-2026-002", "DOC-2026-003"]
for doc_id in doc_ids:
barcode = service.generate("code128", doc_id)
svg = barcode.to_svg(RenderOptions(scale=1.5, show_text=True))
filename = f"{doc_id.lower().replace('-', '_')}.svg"
with open(filename, "w") as f:
f.write(svg)Codificación de URL y contactos con códigos QR
QR Code codifica datos de texto arbitrarios, incluidos URL, información de contacto y credenciales Wi-Fi.
from aspose_barcode_foss import BarcodeService, RenderOptions
service = BarcodeService()
# QR Code for a URL
barcode = service.generate("qrcode", "https://products.aspose.org/barcode/")
png_bytes = barcode.to_png(RenderOptions(scale=4.0))
with open("url_qrcode.png", "wb") as f:
f.write(png_bytes)Etiquetas para objetos pequeños con EAN-8 y UPC-E
EAN-8 y UPC-E son simbologías compactas para artículos donde el espacio es limitado. EAN-8 utiliza 7 u 8 dígitos; UPC-E es una versión comprimida de UPC-A.
from aspose_barcode_foss import BarcodeService, RenderOptions
service = BarcodeService()
# EAN-8 for a small product (7 digits; check digit auto-computed)
barcode = service.generate("ean8", "1234567")
svg = barcode.to_svg(RenderOptions(scale=2.0, show_text=True))Preguntas frecuentes
¿Qué simbología debo elegir?
- Datos alfanuméricos (cualquier carácter): Code 128
- Solo mayúsculas, sistemas heredados: Code 39
- Productos minoristas (internacionales): EAN-13 o EAN-8
- Productos minoristas (Norteamérica): UPC-A o UPC-E
- URLs, texto, datos binarios: QR Code
¿Puedo generar códigos de barras por lotes?
Sí. Crea una instancia de BarcodeService una vez y llama a generate() en un bucle. Cada llamada devuelve un objeto Barcode que puedes renderizar de forma independiente con to_svg() o to_png().
¿Qué formatos de salida están disponibles?
La biblioteca genera SVG a través de to_svg() y PNG mediante to_png(). La renderización de PDF aún no está implementada.