如何在不打开PDF的情况下发送电子邮件

时间:2012-05-23 23:36:09

标签: c# smtp pdf-generation itextsharp

我有这段代码可以创建一个PDF文件,然后通过电子邮件发送给它。但是,当我运行它时,它会打开并将我的整个页面更改为PDF。如何停止页面打开PDF?

 PdfWriter.GetInstance(document, Response.OutputStream);
 Response.ContentType = "application/pdf";
 Response.Cache.SetCacheability(HttpCacheability.NoCache);
 HTMLWorker htmlparser = new HTMLWorker(document);
 MemoryStream memoryStream = new MemoryStream();
 PdfWriter writer = PdfWriter.GetInstance(document, memoryStream);

 document.Open();
 document.Add(mainTable);
 Response.Write(document);
 writer.CloseStream = false;
 document.Close();
 memoryStream.Position = 0;

 EmailPresenter.SkyMail asd = new EmailPresenter.SkyMail();
 asd.SendMail("test@test.com", "This is a test email...", memoryStream, "Test.pdf");
 Response.End();

1 个答案:

答案 0 :(得分:0)

我不知道这个PdfWriter库。但我的建议是不要将Response.OutputStream提供给PdfWriter。

只需删除前三行,响应流将保持不变。您可能还希望使用Response.End()方法调用删除最后一行。