Cómo generar códigos de bar con Aspose.BarCode FOSS

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-foss Instalado por pip 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”)


## 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")

<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}")


## 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>

Simbolos apoyados

SymbologyTypeAyuda FunciónOpciones de clase
Código 1281Dcode128()Code128Options
Código 391Dcode39()Code39Options
EAN-131Dean13()Ean13Options
EAN-81Dean8()Ean8Options
Código QR2Dqr()QrOptions
UPC-A1Dupca()UpcaOptions
UPC-E1Dupce()UpceOptions

See Also

 Español