Componente CameraScanner — sgcHTML | eSeGeCe

CameraScanner

TsgcHTMLComponent_CameraScanner — un panel de cámara en vivo que escanea códigos de barras y códigos QR con el propio decodificador nativo del navegador, sin biblioteca de terceros, con captura de foto y entrada manual siempre disponibles como alternativa, en Delphi, C++ Builder y .NET.

TsgcHTMLComponent_CameraScanner

Define Mode y Formats, y luego lee la propiedad HTML; el panel abre la cámara, decodifica con el BarcodeDetector del navegador y publica el resultado bajo FieldName.

Clase del componente

TsgcHTMLComponent_CameraScanner

Genera

Panel de visor de cámara + campos ocultos + script en línea

Lenguajes

Delphi, C++ Builder, .NET

Apúntalo al propio escáner del navegador

Sin decodificador que empaquetar y nada que traer de un CDN: donde falta BarcodeDetector, el panel lo indica y sigue funcionando mediante la entrada manual y la captura de foto.

uses
  sgcHTML_Component_CameraScanner;

var
  oScanner: TsgcHTMLComponent_CameraScanner;
begin
  oScanner := TsgcHTMLComponent_CameraScanner.Create(nil);
  try
    oScanner.ScannerID := 'receiving_scan';
    oScanner.Mode := smBoth;               // scan barcodes AND capture a photo
    oScanner.Formats := 'qr_code,ean_13,code_128';
    oScanner.FieldName := 'sku';
    oScanner.ContinuousScan := True;
    oScanner.BeepOnScan := True;

    WebModule.Response := oScanner.HTML;   // camera panel + hidden fields + inline script
  finally
    oScanner.Free;
  end;
end;
// includes: sgcHTML_Component_CameraScanner.hpp

TsgcHTMLComponent_CameraScanner *oScanner = new TsgcHTMLComponent_CameraScanner(NULL);
try
{
  oScanner->ScannerID = "receiving_scan";
  oScanner->Mode = smBoth;
  oScanner->Formats = "qr_code,ean_13,code_128";
  oScanner->FieldName = "sku";
  oScanner->ContinuousScan = true;
  oScanner->BeepOnScan = true;

  String html = oScanner->HTML;   // camera panel + hidden fields + inline script
}
__finally
{
  delete oScanner;
}
using esegece.sgcWebSockets;

var scanner = new TsgcHTMLComponent_CameraScanner();
scanner.ScannerID = "receiving_scan";
scanner.Mode = smBoth;
scanner.Formats = "qr_code,ean_13,code_128";
scanner.FieldName = "sku";
scanner.ContinuousScan = true;
scanner.BeepOnScan = true;

string html = scanner.HTML;   // camera panel + hidden fields + inline script

Propiedades y métodos clave

Los miembros que más vas a usar.

Mode

smBarcode, smPhoto o smBoth (por defecto). smBarcode nunca renderiza el botón de captura; smPhoto omite por completo el bucle de escaneo.

Formats

Lista separada por comas de cadenas de formato de BarcodeDetector, por defecto qr_code,ean_13,code_128, escapada en el array JS que se pasa al decodificador del navegador.

FacingMode

sfEnvironment (por defecto, cámara trasera) o sfUser (cámara frontal).

ContinuousScan

True (por defecto) sigue decodificando tras un acierto; False detiene automáticamente la cámara en el primer escaneo correcto.

FieldName

Nombre del campo oculto bajo el que se publica el valor escaneado; la foto capturada se publica bajo FieldName_photo como una URL de datos JPEG.

WSSend / Action

Envía cada escaneo a través del puente WebSocket sgcHTMX, o mediante POST a Action; en cualquier caso siempre se dispara un evento DOM sgcCameraScanner:scan.

Sigue explorando

Ayuda en líneaReferencia completa de la API y guía de uso para este componente.
Todos los componentes de sgcHTMLExplora la matriz completa de más de 80 componentes.
Descargar prueba gratuitaLa prueba de 30 días incluye los proyectos de demostración 60.HTML.
PreciosLicencias Single, Team y Site con código fuente completo.
La mejor opción: All-AccessTodos los productos de eSeGeCe, con Premium Support incluido, desde €1,059 al año.
Ver precios de All-Access

¿Listo para empezar?

Descarga la prueba gratuita y añade un escáner de cámara de códigos de barras y QR a tu aplicación web en Delphi, C++ Builder o .NET.