user4762012
user4762012

Reputation:

while creating pdf, file name not coming dymaically . only static file name is coming

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

Answers (1)

user4762012
user4762012

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

Related Questions