2015-05-29 1 views
1

Я хочу указать имя файла в соответствии с именем проекта. Это ниже линии имен Pdf статически имя файлапри создании pdf, имя файла не идет dymaically. появляется только статическое имя файла

Response.AddHeader("content-disposition", "attachment;filename=WeeklyReport.pdf"); 

выход - weeklyreport.pdf

, давая динамическое имя его не принимает .pdf

Response.AddHeader("content-disposition", "attachment;filename=" + Projname + ".pdf"); 

выходного TestingProject здесь .pdf отсутствует , поэтому не открывается в pdf по умолчанию

+1

Попробуйте что-то вроде этого. Response.AddHeader («content-disposition», string.Format («attachment; filename = \» {0} .pdf \ "", Projname)); –

+0

сделано спасибо @ KevinMain –

ответ

1

Чтобы сделать файл в формате pdf и назовите его динамически, вы можете использовать это как

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(); 
Смежные вопросы