【发布时间】:2010-11-23 08:20:56
【问题描述】:
我的一个朋友给了我这个任务,这样我就可以更轻松地学习高级编程。我目前正在使用 itext sharp 将 html 页面转换为 pdf 并将 pdf 作为附件通过电子邮件发送。我的想法是先将 pdf 保存到文件夹名称 ToBeEmailedPDF 文件夹中的服务器计算机,然后再将其用作电子邮件附件。困扰我的是,您在图片中看到的这个对话框是使用我下面的代码显示的。
StringBuilder sb = new StringBuilder();
StringWriter tw = new StringWriter(sb);
HtmlTextWriter hw = new HtmlTextWriter(tw);
pnlPDF.RenderControl(hw); // pnlPDF contains the html contents to be converted to pdf
string htmlDisplayText = sb.ToString();
Document document = new Document();
MemoryStream ms = new MemoryStream();
PdfWriter writer = PdfWriter.GetInstance(document, ms);
StringReader se = new StringReader(htmlDisplayText);
HTMLWorker obj = new HTMLWorker(document);
document.Open();
obj.Parse(se);
// step 5: we close the document
document.Close();
Response.Clear();
Response.AddHeader("content-disposition", "attachment; filename=report.pdf");
Response.ContentType = "application/pdf";
Response.Buffer = true;
Response.OutputStream.Write(ms.GetBuffer(), 0, ms.GetBuffer().Length);
Response.OutputStream.Flush();
Response.End();
我知道你们中的许多人都知道更好的方法或知道如何解决我的问题。请帮我。谢谢!
【问题讨论】: