Export une Gridview en PDF
Bonjour voici le code que j'utilise pour faire mon export PDF :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
Imports iTextSharp.text
Imports iTextSharp.text.pdf
Imports iTextSharp.text.html
Imports iTextSharp.text.html.simpleparser
Protected Sub SubmitExportPDF_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SubmitExportPDF.ServerClick
Me.GridViewExport.AllowPaging = False
Me.GridViewExport.DataSource = GridViewGeneration
Me.GridViewExport.DataBind()
Response.ContentType = "application/pdf"
Response.AddHeader("content-disposition", "attachment;filename=DataTable.pdf")
Response.Cache.SetCacheability(HttpCacheability.NoCache)
Dim sw As New StringWriter()
Dim hw As New HtmlTextWriter(sw)
GridViewExport.RenderControl(hw)
Dim sr As New StringReader(sw.ToString())
Dim pdfDoc As New Document(PageSize.A4, 10.0F, 10.0F, 10.0F, 0.0F)
Dim htmlparser As New HTMLWorker(pdfDoc)
PdfWriter.GetInstance(pdfDoc, Response.OutputStream)
pdfDoc.Open()
htmlparser.Parse(sr)
pdfDoc.Close()
Response.Write(pdfDoc)
Response.End()
End Sub |
J’utilise la DLL iTextSharp lors de l’exécution j'ai l'erreur suivante : Exception Details: System.IO.IOException: The document has no pages au niveau de pdfDoc.Close().
J'ai bien vérifié que j'avais des lignes dans ma gridview.
Merci de votre aide.
Cordialement.