Integración de Códigos de Barras en PowerBuilder

La guía definitiva para procesamiento local mediante DLL, integración con API en la nube y renderizado de fuentes en DataWindow.

01

Integración Local con DLL de .NET Core

El uso de DotNetObject le permite ejecutar una lógica compleja de codificación de códigos de barras directamente en la máquina cliente sin latencia de red. Esto es ideal para códigos 2D como QR Code, Aztec y DataMatrix.

Configuración Completa en PowerScript
DotNetAssembly lnv_Asm
DotNetObject lnv_Encoder
Long ll_ret

lnv_Asm = Create DotNetAssembly
// Asegúrese de que .NET Runtime esté instalado
ll_ret = lnv_Asm.LoadWithDotNetCore("cruflbcsnet.dll")

IF ll_ret = 1 THEN
    lnv_Encoder = lnv_Asm.CreateInstance("Barcodesoft.Encoder")
    // Encode devuelve una cadena formateada para la fuente BCS
    ls_barcode_data = lnv_Encoder.Encode(ls_input)
    dw_1.SetItem(row, "barcode_col", ls_barcode_data)
ELSE
    MessageBox("Error", "Fallo al cargar la DLL de .NET. Verifique el Runtime.")
END IF
02

API REST en la Nube (Configuración sin Código)

Para despliegues sin huella local, utilice la API REST. El DataWindow de PowerBuilder maneja esto mediante la expresión Bitmap().

Expresión para Campo Calculado:

Bitmap("https://www.barcodesoft.com/barcode/qrcode/token=SU_TOKEN&text=" + id_field + "&format=png")

Tip: Use un formato PNG pequeño para reducir el tiempo de recuperación del DataWindow.

03

Pasos de Diseño en DataWindow

Para asegurar que el código de barras se escanee correctamente, siga estos ajustes en el DataWindow Painter:

  • Selección de Fuente: Establezca la fuente de la columna a la fuente específica del código de barras (ej. BCSQRcode).
  • Anti-Aliasing: Desactive el suavizado "TrueType" en la configuración de fuentes de Windows si el código de barras se ve borroso.
  • Tamaño de Columna: Asegúrese de que la columna sea lo suficientemente ancha para evitar el "recorte" (clipping), lo que haría el código ilegible.
  • Autosize Height: Active esta propiedad si la cantidad de datos codificados varía significativamente.

Eligiendo su Método

Característica DLL de .NET API REST
Requiere Internet No
Rendimiento por Lotes Alto (Instantáneo) Medio (Latencia de Red)
Facilidad de Instalación Requiere Runtime Plug & Play