【发布时间】:2015-12-29 16:44:54
【问题描述】:
我想将我的 ASP.NET 页面保存为 PDF,但我不想使用 response.write,因为我不想将它返回给客户端。我想将 PDF 保存在服务器端。
protected void btnSubmit_Click(object sender, EventArgs e)
{
//code below saves current ASP.NET page as PDF and returns save dialog to client on where to download PDF
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment;filename=TestPage.pdf");
Response.Cache.SetCacheability(HttpCacheability.NoCache);
StringWriter sw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
this.Page.RenderControl(hw);
StringReader sr = new StringReader(sw.ToString());
Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 100f, 0f);
HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
pdfDoc.Open();
htmlparser.Parse(sr);
pdfDoc.Close();
Response.Write(pdfDoc);
Response.End();
}
如何保存 PDF?
【问题讨论】: