none
PDF Desde base da datos en ASP.NET RRS feed

  • Pregunta

  • Hola que tal.

    Saludos a todos los que colaboran en el foro

    Hola tengo este codigo para sacar el pdf de un gridview pero me saca todos los registros en un solo pdf y quiero hacer un pdf por linea ps por registro como puedo hacer.

    using iTextSharp.text;
    using iTextSharp.text.pdf;
    using iTextSharp.text.html.simpleparser;
    using System.IO;

      protected void Button2_Click(object sender, EventArgs e)
            {

      Response.ContentType = "application/pdf";
                Response.AddHeader("content-disposition", "attachment;filename=GridViewData.pdf");
                Response.Cache.SetCacheability(HttpCacheability.NoCache);
                StringWriter sw = new StringWriter();
                HtmlTextWriter hw = new HtmlTextWriter(sw);
                GridView2.AllowPaging = false;
                GridView2.DataBind();
                GridView2.RenderControl(hw);
                StringReader sr = new StringReader(sw.ToString());
                Document pdfDoc = new Document(PageSize.A2, 7f, 7f, 7f, 0f);
                HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
                PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
                pdfDoc.Open();
                htmlparser.Parse(sr);
                pdfDoc.Close();
                Response.Write(pdfDoc);
                Response.End();
            }
            public override void VerifyRenderingInServerForm(Control control)
            {
                /* Verifies that the control is rendered */
            }

    viernes, 4 de mayo de 2018 20:19

Todas las respuestas

  • Simplemente provea la cantidad de registros que desea en el PDF al GV.  O sea, si actualmente el DataSource tiene 1000 registros, solamente provea un DataSource que contenga los registros que desea en el PDF.  Si es de 1 en 1 y tiene 1000, pues tendrá que hacer un bucle que recorra el DataSource original, crea un DataSource de un único registro y luego DataBind() + RenderControl().  Eso para cada registro.  Así tendrá 1000 pdf's, con un registro cada uno.

    Jose R. MCP
    Code Samples

    sábado, 5 de mayo de 2018 0:12
    Moderador