Reputation:
I want to give a file name according to project name. This line below is naming pdf statically
Response.AddHeader("content-disposition", "attachment;filename=WeeklyReport.pdf");
output file name - weeklyreport.pdf
while giving dynamic name its not taking .pdf
Response.AddHeader("content-disposition", "attachment;filename=" + Projname + ".pdf");
output-TestingProject here .pdf is missing , so not opening in pdf by default
Upvotes: 1
Views: 99
Reputation:
To make pdf file and name it dynamically u can use like this
Response.AddHeader("content-disposition", Response.Clear();
Response.AddHeader("content-disposition", string.Format("attachment;filename=\"{0}.pdf\"", Projname));
Response.Cache.SetCacheability(HttpCacheability.NoCache);
System.IO.StringWriter stringWrite = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
design.RenderControl(htmlWrite);
string myText = stringWrite.ToString().Replace("&", "&");
StringReader sr = new StringReader(myText.ToString());
Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 100f, 0f);
Response.ContentType = "application/pdf";
PdfWriter writer = PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
pdfDoc.Open();
XMLWorkerHelper.GetInstance().ParseXHtml(writer, pdfDoc, sr);
pdfDoc.Close();
Response.End();
pdfDoc.Dispose();
Upvotes: 1