Source code documentation samples give simple and easy method to install a needed feature into your application. What is ByteScout PDF Suite? It is the set that includes 6 SDK products to work with PDF from generating rich PDF reports to extracting data from PDF documents and converting them to HTML. This bundle includes PDF (Generator) SDK, PDF Renderer SDK, PDF Extractor SDK, PDF to HTML SDK, PDF Viewer SDK and PDF Generator SDK for Javascript. It can help you to convert text email to pdf with pdf sdk in your VB.NET application.
The following code snippet for ByteScout PDF Suite works best when you need to quickly convert text email to pdf with pdf sdk in your VB.NET application. IF you want to implement the functionality, just copy and paste this code for VB.NET below into your code editor with your app, compile and run your application. Applying VB.NET application mostly includes various stages of the software development so even if the functionality works please test it with your data and the production environment.
All these programming tutorials along with source code samples and ByteScout free trial version are available for download from our website.
On-demand (REST Web API) version:
Web API (on-demand version)
On-premise offline SDK for Windows:
60 Day Free Trial (on-premise)
Imports System.Drawing.Printing
Imports System.Linq
Imports System.Text
Imports Bytescout.PDF
Imports Bytescout.PDF.Converters
Module Program
Sub Main()
Try
Console.WriteLine("Please wait while PDF is being created...")
' Parse MessageContents using MsgReader Library
' MsgReader library can be obtained from: https://github.com/Sicos1977/MSGReader
Using msg = New MsgReader.Outlook.Storage.Message("TxtSampleEmail.msg")
' Get Sender information
Dim from = msg.GetEmailSender(False, False)
' Message sent datetime
Dim sentOn = msg.SentOn
' Recipient To information
Dim recipientsTo = msg.GetEmailRecipients(MsgReader.Outlook.RecipientType.[To], False, False)
' Recipient CC information
Dim recipientsCc = msg.GetEmailRecipients(MsgReader.Outlook.RecipientType.Cc, False, False)
' Recipient BCC information
Dim recipientBcc = msg.GetEmailRecipients(MsgReader.Outlook.RecipientType.Bcc, False, False)
Dim oHtmlGenerator As HtmlGenerator = New HtmlGenerator()
oHtmlGenerator.Title = {code}quot;Subject: {msg.Subject}"
oHtmlGenerator.AddParagraphBodyItem({code}quot;File Name: {msg.FileName}")
oHtmlGenerator.AddParagraphBodyItem({code}quot;From: {from}")
oHtmlGenerator.AddParagraphBodyItem({code}quot;Sent On: {(If(sentOn.HasValue, sentOn.Value.ToString("MM/dd/yyyy HH:mm"), ""))}")
oHtmlGenerator.AddParagraphBodyItem({code}quot;To: {recipientsTo}")
oHtmlGenerator.AddParagraphBodyItem({code}quot;Subject: {msg.Subject}")
If Not String.IsNullOrEmpty(recipientsCc) Then
oHtmlGenerator.AddParagraphBodyItem({code}quot;CC: {recipientsCc}")
End If
If Not String.IsNullOrEmpty(recipientBcc) Then
oHtmlGenerator.AddParagraphBodyItem({code}quot;BCC: {recipientBcc}")
End If
oHtmlGenerator.AddRawBodyItem("<hr/>")
Dim msgBodySplitted = msg.BodyText.Split(vbLf.ToCharArray())
For Each itmBody In msgBodySplitted
oHtmlGenerator.AddParagraphBodyItem(itmBody)
Next
oHtmlGenerator.SaveHtml("result.html")
Using converter As HtmlToPdfConverter = New HtmlToPdfConverter()
converter.PageSize = PaperKind.A4
converter.Orientation = Bytescout.PDF.Converters.PaperOrientation.Portrait
converter.ConvertHtmlToPdf("result.html", "result.pdf")
Dim processStartInfo As ProcessStartInfo = New ProcessStartInfo("result.pdf")
processStartInfo.UseShellExecute = True
Process.Start(processStartInfo)
End Using
End Using
Catch ex As Exception
Console.WriteLine(ex.Message)
Console.WriteLine("Press enter key to exit...")
Console.ReadLine()
End Try
End Sub
''' <summary>
''' Html Generator class
''' </summary>
Class HtmlGenerator
#Region "Constructors and variable declarations"
Public Sub New()
Me.StrBodyItems = New List(Of String)()
End Sub
Public Property Title As String
Private Property StrBodyItems As List(Of String)
#End Region
#Region "Methods"
''' <summary>
''' Add Body Item
''' </summary>
Public Sub AddRawBodyItem(ByVal strBodyItem As String)
StrBodyItems.Add(strBodyItem)
End Sub
''' <summary>
''' Add Paragraph body item
''' </summary>
Public Sub AddParagraphBodyItem(ByVal strText As String)
StrBodyItems.Add(String.Format("<p style=''>{0}</p>", strText))
End Sub
''' <summary>
''' Gets generated HTML
''' </summary>
Public Function GetHtml() As String
Dim oRetHtml As StringBuilder = New StringBuilder(String.Empty)
oRetHtml.Append("<html>")
oRetHtml.Append("<head>")
oRetHtml.AppendFormat("<title>{0}</title>", Title)
oRetHtml.Append("<style>p {
line-height: 107.9 %;
margin-bottom: 13pt;
font-family: 'Arial', 'sans-serif';
font-size: 15pt;
margin-top: 0;
margin-left: 0;
margin-right: 0;
}</style>")
oRetHtml.Append("</head>")
oRetHtml.Append("<body>")
For Each itemBody In StrBodyItems
oRetHtml.Append(itemBody)
Next
oRetHtml.Append("</body>")
oRetHtml.Append("</html>")
Return oRetHtml.ToString()
End Function
''' <summary>
''' Save all HTML
''' </summary>
Public Sub SaveHtml(ByVal fileName As String)
Dim allHtml = GetHtml()
System.IO.File.WriteAllText(fileName, allHtml)
End Sub
#End Region
End Class
End Module
60 Day Free Trial or Visit ByteScout PDF Suite Home Page
Explore ByteScout PDF Suite Documentation
Explore Samples
Sign Up for ByteScout PDF Suite Online Training
Get Your API Key
Explore Web API Docs
Explore Web API Samples
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="MsgReader" version="3.4.1" targetFramework="net45" />
<package id="OpenMcdf" version="2.2.1.3" targetFramework="net45" />
</packages>
60 Day Free Trial or Visit ByteScout PDF Suite Home Page
Explore ByteScout PDF Suite Documentation
Explore Samples
Sign Up for ByteScout PDF Suite Online Training
Get Your API Key
Explore Web API Docs
Explore Web API Samples
60 Day Free Trial or Visit ByteScout PDF Suite Home Page
Explore ByteScout PDF Suite Documentation
Explore Samples
Sign Up for ByteScout PDF Suite Online Training
Get Your API Key
Explore Web API Docs
Explore Web API Samples
also available as: