Una vez puesto, ahunque nadie me la ha pedido , adjunto mi funcion para generar el QR
Primero que nada instalar el paquete nuget
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();
}