none
Como pasar los parametros de c# a una plantilla HTML y genera PDF RRS feed

  • Pregunta

  • Hola, de antemano gracias por ayudarme, ¿como podría pasar  parámetros a unas variables que tengo asignadas en una plantilla .HTM estoy intentando generar un documento PDF y que al final los valores que mando llamar desde: Ejemplo FechaCalculo sean remplazados en la varaible {@FechaCalculo@} de mi plantilla, estoy usando IronPDF para convertir el template a pdf.

                       Dictionary<string, string> GenCalculadora = new Dictionary<string, string>();
                            GenCalculadora.Add("@FechaCalculo@", FechaCalculo);
                            GenCalculadora.Add("{@NombreCliente@}", NombreCliente);
                            GenCalculadora.Add("{@Posicion@}", Posicion);
                            GenCalculadora.Add("{@Vencimiento@}", Vencimiento);
                            GenCalculadora.Add("{@FechaCompra@}", FechaCompra);
                            GenCalculadora.Add("{@Fix@}", Fix);
                            GenCalculadora.Add("{@PrimaContraroAserca@}", PrimaContraroAserca);
                            GenCalculadora.Add("{@PrimaContraroAsercaT@}", PrimaContraroAsercaT);
                            GenCalculadora.Add("{@PrimaContratoCorreduria@}", PrimaContratoCorreduria);
                            GenCalculadora.Add("{@NumeroContratos@}", NumeroContratos);
                            GenCalculadora.Add("{@Incentivo@}", Incentivo);
                            GenCalculadora.Add("{@ComicionesContratoAserca@}", ComicionesContratoAserca);
                            GenCalculadora.Add("{@ComicionesContratoCorreduria@}", ComicionesContratoCorreduria);
                            GenCalculadora.Add("{@IncentivoPrima@}", IncentivoPrima);
                            GenCalculadora.Add("{@IncentivoComiciones@}", IncentivoComiciones);
                            GenCalculadora.Add("{@IncentivoTotal@}", IncentivoTotal);
                            GenCalculadora.Add("{@IncentivoDepositado@}", IncentivoDepositado);
                            GenCalculadora.Add("{@NombreRevisado@}", NombreRevisado);
                            GenCalculadora.Add("{@NombreElaborado@}", NombreElaborado);
    // Creamos el PDF de una plantilla exitente en una ruta.
                            HtmlToPdf PlantillaHTM = new IronPdf.HtmlToPdf();      
                            PlantillaHTM.RenderUrlAsPdf(@"C:\Amoxcalli\FND_PROYECTO\SICOP\SistemaCoberturas\SICOP\plantillas/IncentivoASER.htm").SaveAs(@"C:\Amoxcalli\SIPRO_CalculaIncentivo.Pdf");
                            PlantillaHTM.PrintOptions.CssMediaType = PdfPrintOptions.PdfCssMediaType.Print;



    miércoles, 13 de febrero de 2019 20:56

Todas las respuestas

  • Hoal Igmar Hernández 

    Gracias por subir tu consulta a los foros de MSDN con especto a la misma te comparto una URL en donde se presenta una pregunta similar a la tuya y creo que podras encontrar una solucion a tu problema, de no ser asi estaremos realizando una busqueda más exhaustiva al respecto. 

    https://social.msdn.microsoft.com/Forums/es-ES/88fe030e-3107-4b97-91bd-84337761ed74/variables-de-c-a-html?forum=netfxwebes

    jueves, 14 de febrero de 2019 16:29
    Moderador
  • hola

    Podrias aplicar el Replace() sobre el contenido del html, algo como esto

    string htmlOrigen = @"C:\..\plantillas/IncentivoASER.htm";
    string htmlDestino = @"C:\..\plantillas/IncentivoASER_Merged.htm";
    string htmlContent = File.ReadAllText(htmlOrigen);
    
    foreach(var item in GenCalculadora)
    {
       htmlContent = htmlContent.Replace(item.Key, item.Value);
    }
    
    File.WriteAllText(htmlDestino, htmlContent);
    
    HtmlToPdf PlantillaHTM = new IronPdf.HtmlToPdf();      
    var render = PlantillaHTM.RenderUrlAsPdf(htmlDestino);
    render.SaveAs(@"C:\Amoxcalli\SIPRO_CalculaIncentivo.Pdf");

    La idea es generar un html nuevo cuando se combina con los datos y ese enviarlo al pdf, asi te quedas siempre con un template que reutilizar

    Como pasar los parametros de c# a una plantilla HTML y genera PDF

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina


    jueves, 14 de febrero de 2019 16:39