我试图将iText7生成的PDF文件附加到电子邮件中。电子邮件发送成功,但附加的PDF总是损坏,约15字节的大小。根据我的理解,这应该可以很容易地用一个MemoryStream来完成,但是我认为我搞砸了“操作顺序”。
MemoryStream ms = new MemoryStream();
string fileName = vm.ClientFirstName + vm.ClientLastName + vm.SubmittedDate.Year + vm.SubmittedDate.Month + vm.SubmittedDate.Day + "referral.pdf";
PdfWriter writer = new PdfWriter(ms);
PdfDocument pdf = new PdfDocument(writer);
Document document = new Document(pdf);
PdfFont font = PdfFontFactory.CreateFont(iText.IO.Font.Constants.StandardFonts.HELVETICA);
Image img = new Image(ImageDataFactory.Create(HttpContext.Current.Server.MapPath("~\\Content\\Images\\banner.png")));
List list = new List().SetSymbolIndent(12).SetListSymbol("").SetFont(font);
document.Add(img);
document.Add(new Paragraph("Radiology Referral").SetFont(font).SetFontSize(24));
document.Add(new Paragraph("VARIOUS BITS OF INFORMATION FROM THE FORM IN STRING FORMAT").SetFont(font));
document.Flush();
writer.Flush();
ms.Position = 0;
var message = new MailMessage("example@example.com", "example@example.com", "PDF Report", "See the attached PDF.");
var attachment = new Attachment(ms, fileName);
message.Attachments.Add(attachment);
//send email...我搞砸了什么?如果我做错了每件事,一个工作的例子将是很棒的。提前感谢!
发布于 2018-06-06 13:08:30
你需要添加
pdf.Close();它将调用pdf.Flush(),它将写入底层流。
https://stackoverflow.com/questions/50706810
复制相似问题