【问题标题】:VB.net itextsharp attachmentVB.net itextsharp 附件
【发布时间】:2012-05-31 11:37:19
【问题描述】:

我正在尝试使用 itextsharp 发送 PDF 文件,电子邮件发送正常但没有 pdf 附件 有人能告诉我我的代码有什么问题吗?
这是我的代码:

Dim pdfFile As MemoryStream = New MemoryStream()
            Dim d As Document = New Document(PageSize.A4, 60, 60, 40, 40)
            Dim w As PdfWriter = PdfWriter.GetInstance(d, pdfFile)
            w.Open()
            w.Add(New Paragraph("do foo something "))

            Dim message As New MailMessage()
            message.From = New MailAddress("******")
            message.To.Add(New MailAddress("***************"))
            message.Subject = "new image "
            message.Body = "this is the apak chart img"
            Dim data As New Attachment(pdfFile, New System.Net.Mime.ContentType("application/pdf"))
            message.Attachments.Add(data)
            Dim client As New SmtpClient()
            client.Host = "smtp.gmail.com"
            client.Credentials = New NetworkCredential("*****", "*******")
            client.EnableSsl = True
            client.Port = 587
            client.Send(message)

【问题讨论】:

  • 也许刷新和倒带流?
  • 你试过其他文件吗?我的意思是来自磁盘的真实文件或只是文本流。
  • @Douglas 他可能是对的,但我不知道该怎么做 :)
  • @TonyHopkinson 我尝试了来自服务器的真实文件,它工作正常。我什至创建了这个文件并将其保存到服务器,一切都很好
  • @Douglas 已将您整理好,据我所知。

标签: vb.net itextsharp


【解决方案1】:

尝试刷新写入器并倒带流:

Dim pdfFile As MemoryStream = New MemoryStream()
Dim d As Document = New Document(PageSize.A4, 60, 60, 40, 40)
Dim w As PdfWriter = PdfWriter.GetInstance(d, pdfFile)
w.Open()
w.Add(New Paragraph("do foo something "))

w.CloseStream = false;
d.Close();
pdfFile.Position = 0;

改编自:iTextSharp - Sending in-memory pdf in an email attachment

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-12
    • 1970-01-01
    相关资源
    最近更新 更多