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”)


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

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