Bonjour à tous ,

j'ai une petite application web ASP.NET dans laquelle j'aimerais ajouter une fonction d'export d'une gridview vers un document PDF.
Pour l'instant j'utilise cette fonction qui fonctionne pour exporter vers Excel.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
protected void exportToExcel(GridView gv, string fileName)
{
     //Create a response stream to create and write the Excel file
     HttpContext curContext = HttpContext.Current;
     curContext.Response.Clear();
     curContext.Response.AddHeader("content-disposition",      "attachment;filename=" + fileName);
     curContext.Response.Charset = "";
                 curContext.Response.Cache.SetCacheability(HttpCacheability.NoCache);
     curContext.Response.ContentType = "application/vnd.ms-excel";
 
     //Convert the rendering of the gridview to a string representation 
     StringWriter sw = new StringWriter();
     HtmlTextWriter htw = new HtmlTextWriter(sw);
     gv.RenderControl(htw);
 
     curContext.Response.Write(sw.ToString());
     curContext.Response.End();
}
Cependant si je remplace :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
curContext.Response.ContentType = "application/vnd.ms-excel";
Par :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
curContext.Response.ContentType = "application/pdf";
J'obtiens une erreur à l'ouverture du document qui dit :
Adobe Reader n'a pas pu ouvrir monFichier.pdf, car le type de fichier n'est pas pris en charge ou le fichier est endommagé
Avez vous une idée svp ou un meilleur moyen de faire un export pdf à partir d'une gridview ?

Merci d'avance