我使用下面的代码生成PDF并将其保存到某个位置。是否可以将此信息作为电子邮件发送,并附带生成的PDF?我假设电子邮件编码需要用HTML完成?因为它将在网络服务器上。这可能吗?
Dim Doc1 As New Document
Dim path As String = "\\Server\Folder" + Session("Username") + "\"
If (Not System.IO.Directory.Exists(path)) Then
System.IO.Directory.CreateDirectory(path)
End If
Dim myUniqueFileName = String.Format("{0}.pdf", random)
Dim pdfWrite As PdfWriter = PdfWriter.GetInstance(Doc1, New FileStream(path & myUniqueFileName, FileMode.Create))
' Dim ev As New itsEvents
' pdfWrite.PageEvent = ev
Doc1.Open()
Dim test As String
test = Session("PDF")
Dim imagepath As String = Server.MapPath(".") & "/images/Header.png"
Dim image As iTextSharp.text.Image = iTextSharp.text.Image.GetInstance(imagepath)
image.ScalePercent(70.0F)
' image.SetAbsolutePosition(36.0F, 36.0F)
Doc1.Add(image)
Doc1.Add(New Paragraph(test))
Doc1.Close()
答案 0 :(得分:0)
试试这个:
' Create the mail message
Dim mail As New MailMessage()
' Set the addresses
mail.From = New MailAddress("me@mycompany.com")
mail.To.Add("you@yourcompany.com")
' Set the content
mail.Subject = "This is an email"
mail.Body = "this content is in the body"
' Get some binary data
Dim data As Byte() = GetData()
' Save the data to a memory stream
Dim ms As New MemoryStream(data)
' Create the attachment from a stream. Be sure to name the data with a file and
' media type that is respective of the data
mail.Attachments.Add(New Attachment(ms, "example.txt", "text/plain"))
' Send the message
Dim smtp As New SmtpClient("127.0.0.1")
smtp.Send(mail)
Function GetData() As Byte()
' This is where you will load your data from disk or database, etc.
Dim s As String = "this is some text"
Dim data As Byte() = Encoding.ASCII.GetBytes(s)
Return data
End Function 'GetData