【问题标题】:iText 7 attach to emailiText 7 附加到电子邮件
【发布时间】:2018-11-15 08:05:39
【问题描述】:

我正在尝试将使用 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...

我在搞砸什么?如果我做错了一切,那么一个可行的例子会很棒。提前致谢!

【问题讨论】:

  • 您没有关闭DocumentPdfDocument。关闭前输出流中的pdf未完成。

标签: c# asp.net itext attachment mailmessage


【解决方案1】:

你需要添加

pdf.Close();

这将调用pdf.Flush(),它将写入底层流。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-05
    • 1970-01-01
    • 2014-06-25
    • 1970-01-01
    相关资源
    最近更新 更多