Skip to main content

Códigos QR

Crono incluye un subsistema de códigos de barra para generar códigos QR y otros formatos. El ICodigoBarraCodificador convierte una carga útil (CodigoBarraCargaUtil) en un ICodigoBarra capaz de renderizarse como SVG o como imagen.

Tipos soportados

El codificador admite varias simbologías a través de CodigoBarraTipo, entre ellas: Qr (transferencias bancarias y códigos 2D genéricos), Ean, UPCA, UPCE, Code128, Code39, DataMatrix, PDF417, Aztec, entre otras.

Codificar datos

Inyecta ICodigoBarraCodificador y proporciona la carga útil. Para los casos básicos, usa la extensión que recibe el texto y el tipo:

public class DemoQr
{
private readonly ICodigoBarraCodificador _codificador;

public DemoQr(ICodigoBarraCodificador codificador)
{
_codificador = codificador;
}

public string Generar()
{
// Extensión: texto + tipo
var codigo = _codificador.CodificarCodigoBarra("https://ejemplo.com", CodigoBarraTipo.Qr);

// SVG
var svg = codigo.GenerarSvg(new CodigoBarraSvgOpciones { Margen = 2 });

// Imagen
using var imagen = codigo.GenerarImagen(new CodigoBarraImagenOpciones { Escala = 5 });

return svg;
}
}

GenerarSvg devuelve el XML del dibujo del código; GenerarImagen produce una IImagen para guardar en distintos formatos.

Cargas útiles estructuradas

Para escenarios avanzados (por ejemplo, credenciales Wi-Fi o eventos), la carga útil de QR (QrCargaUtil) permite construir el contenido de forma estructurada en lugar de pasar una cadena suelta.

Opciones de renderizado

La generación de SVG e imagen acepta clases de opciones (CodigoBarraSvgOpciones, CodigoBarraImagenOpciones) para color, márgenes (en píxeles) y escala.

Usos reales en Crono

  • Constancia de pago: el QR de la constancia enlaza al comprobante (ver notas de versión).
  • Captación por QR (CaptacionQR): el código QR de una campaña dirige al formulario público de captación de prospectos, y puede incluir el código del asesor para la autoasignación.