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.