ByteScout PDF Suite - VB.NET - Convert html email to pdf with pdf sdk - ByteScout

ByteScout PDF Suite – VB.NET – Convert html email to pdf with pdf sdk

  • Home
  • /
  • Articles
  • /
  • ByteScout PDF Suite – VB.NET – Convert html email to pdf with pdf sdk

How to convert html email to pdf with pdf sdk in VB.NET with ByteScout PDF Suite

Learning is essential in computer world and the tutorial below will demonstrate how to convert html email to pdf with pdf sdk in VB.NET

Convert html email to pdf with pdf sdk is simple to apply in VB.NET if you use these source codes below. ByteScout PDF Suite is the bundle that provides six different SDK libraries 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 convert html email to pdf with pdf sdk in VB.NET.

Want to quickly learn? This fast application programming interfaces of ByteScout PDF Suite for VB.NET plus the guidelines and the code below will help you quickly learn how to convert html email to pdf with pdf sdk. This VB.NET sample code is all you need for your app. Just copy and paste the code, add references (if needs to) and you are all set! Check VB.NET sample code samples to see if they respond to your needs and requirements for the project.

The trial version of ByteScout PDF Suite can be downloaded for free from our website. It also includes source code samples for VB.NET and other programming languages.

On-demand (REST Web API) version:
 Web API (on-demand version)

On-premise offline SDK for Windows:
 60 Day Free Trial (on-premise)

Program.vb
      
Imports System.Drawing.Printing Imports System.IO Imports System.Text Imports Bytescout.PDF Imports Bytescout.PDF.Converters Imports Font = Bytescout.PDF.Font Imports SolidBrush = Bytescout.PDF.SolidBrush Module Program Sub Main() Try ' Parse MessageContents using MsgReader Library ' MsgReader library can be obtained from: https://github.com/Sicos1977/MSGReader Using msg = New MsgReader.Outlook.Storage.Message("HtmlSampleEmail.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) ' Message subject Dim subject = msg.Subject ' Get Message Body Dim msgBody = msg.BodyHtml ' Prepare PDF docuemnt Using outputDocument As Document = New Document() ' Add registration keys outputDocument.RegistrationName = "demo" outputDocument.RegistrationKey = "demo" ' Add page Dim page As Page = New Page(PaperFormat.A4) outputDocument.Pages.Add(page) ' Default font and brush Dim font As Font = New Font(StandardFonts.Times, 12) Dim brush As Brush = New SolidBrush() ' Add Email contents Dim topMargin As Integer = 0 topMargin += 20 page.Canvas.DrawString({code}quot;File Name: {msg.FileName}", font, brush, 20, topMargin) topMargin += 20 page.Canvas.DrawString({code}quot;From: {from}", font, brush, 20, topMargin) topMargin += 20 page.Canvas.DrawString({code}quot;Sent On: {(If(sentOn.HasValue, sentOn.Value.ToString("MM/dd/yyyy HH:mm"), ""))}", font, brush, 20, topMargin) topMargin += 20 page.Canvas.DrawString({code}quot;To: {recipientsTo}", font, brush, 20, topMargin) If Not String.IsNullOrEmpty(recipientsCc) Then topMargin += 20 page.Canvas.DrawString({code}quot;CC: {recipientsCc}", font, brush, 20, topMargin) End If If Not String.IsNullOrEmpty(recipientBcc) Then topMargin += 20 page.Canvas.DrawString({code}quot;BCC: {recipientBcc}", font, brush, 20, topMargin) End If topMargin += 20 page.Canvas.DrawString({code}quot;Subject: {subject}", font, brush, 20, topMargin) topMargin += 20 page.Canvas.DrawString("Message body in next page.", font, brush, 20, topMargin) ' Convert Html body to PDF in order to retain all formatting. Using converter As HtmlToPdfConverter = New HtmlToPdfConverter() converter.PageSize = PaperKind.A4 converter.Orientation = Bytescout.PDF.Converters.PaperOrientation.Portrait ' Convert input HTML to stream Dim byteArrayBody As Byte() = Encoding.UTF8.GetBytes(msgBody) Dim inputStream As MemoryStream = New MemoryStream(byteArrayBody) ' Create output stream to store generated PDF file Using outputStream = New MemoryStream() ' Convert HTML to PDF converter.ConvertHtmlToPdf(inputStream, outputStream) ' Create new document from generated output stream Dim docContent As Document = New Document(outputStream) ' Append all pages to main PDF For Each item As Page In docContent.Pages outputDocument.Pages.Add(item) Next ' Open output file outputDocument.Save("result.pdf") ' Open output file Process.Start("result.pdf") End Using End Using 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 End Module

ON-PREMISE OFFLINE SDK

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

ON-DEMAND REST WEB API

Get Your API Key

Explore Web API Docs

Explore Web API Samples

packages.config
      
<?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>

ON-PREMISE OFFLINE SDK

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

ON-DEMAND REST WEB API

Get Your API Key

Explore Web API Docs

Explore Web API Samples

VIDEO

ON-PREMISE OFFLINE SDK

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

ON-DEMAND REST WEB API

Get Your API Key

Explore Web API Docs

Explore Web API Samples

Tutorials:

prev
next