Ver Mensaje Individual
  #11  
Antiguo 22-10-2024
Avatar de bmfranky
bmfranky bmfranky is offline
Miembro
 
Registrado: may 2024
Ubicación: Gandia, Valencia
Posts: 863
Reputación: 3
bmfranky Va por buen camino
Funcion generar QR C#

Una vez puesto, ahunque nadie me la ha pedido , adjunto mi funcion para generar el QR
Primero que nada instalar el paquete nuget
Cita:
QRCoder
Aqui os dejo la funcion, debuelve el QR en bytes[], para que lo asignemos directamente a la plantilla de impresion.
Código:
 /// <summary>
 /// Funcion para generar el QR segun la especificacion Veri*Factu
 /// </summary>
 /// <param name="nif">Nif obligado..</param>
 /// <param name="nfac">Numero de factura incluyendo serie.</param>
 /// <param name="fecha">Fecha factura. Se sutituye por si acaso "/" por "-" </param>
 /// <param name="importe">Ssustituye  coma por el punto decimal, solo acepta 2 decimales tener en cuenta al parsear.</param>
 /// <returns></returns>
        public static byte[] generaQR(string nif, string nfac, string fecha, string importe)
        {
            string cadenaQr = Program.webVerificacion + "nif=" + nif + "&numserie=" + nfac + "&fecha=" + fecha.Replace("/", "-") + "&importe=" + importe.Replace(",",".");
            QRCodeGenerator qrGen = new QRCodeGenerator();
            QRCodeData qrDatos = qrGen.CreateQrCode(cadenaQr, QRCodeGenerator.ECCLevel.M);
            QRCode qrCodigo = new QRCode(qrDatos);

            Bitmap qrImagen = qrCodigo.GetGraphic(10, Color.Black, Color.White, false);
           
            //Image imageIn2 = generaQRI(cadenaQr);
            while (null == qrImagen)//espera hasta que este generada la imagen antes de convertir.
            {

            }
            using (var ms = new MemoryStream())
            {
                qrImagen.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
                return ms.ToArray();
            }