ByteScout simple and easy to understand tutorials are planned to describe the code for both C# beginners and advanced programmers. Want to convert text email to pdf with pdf sdk in your C# app? ByteScout Premium Suite is designed for it. ByteScout Premium Suite is the bundle that includes twelve SDK products from ByteScout including tools and components for PDF, barcodes, spreadsheets, screen video recording.
These C# code samples for C# guide developers to speed up coding of the application when using ByteScout Premium Suite. Just copy and paste the code into your C# application’s code and follow the instructions. Further improvement of the code will make it more robust.
Our website gives trial version of ByteScout Premium Suite for free. It also includes documentation and source code samples.
On-demand (REST Web API) version:
Web API (on-demand version)
On-premise offline SDK for Windows:
60 Day Free Trial (on-premise)
using Bytescout.PDF.Converters; using System; using System.Collections.Generic; using System.Diagnostics; using System.Drawing.Printing; using System.Text; namespace EmailToPDF_TextEmail { class Program { static void Main(string[] args) { 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 (var msg = new MsgReader.Outlook.Storage.Message("TxtSampleEmail.msg")) { // Get Sender information var from = msg.GetEmailSender(false, false); // Message sent datetime var sentOn = msg.SentOn; // Recipient To information var recipientsTo = msg.GetEmailRecipients(MsgReader.Outlook.RecipientType.To, false, false); // Recipient CC information var recipientsCc = msg.GetEmailRecipients(MsgReader.Outlook.RecipientType.Cc, false, false); #region Generate and save html // Get Html HtmlGenerator oHtmlGenerator = 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: {(sentOn.HasValue ? sentOn.Value.ToString("MM/dd/yyyy HH:mm") : "")}"); oHtmlGenerator.AddParagraphBodyItem({code}quot;To: {recipientsTo}"); oHtmlGenerator.AddParagraphBodyItem({code}quot;Subject: {msg.Subject}"); if (!string.IsNullOrEmpty(recipientsCc)) { oHtmlGenerator.AddParagraphBodyItem({code}quot;CC: {recipientsCc}"); } oHtmlGenerator.AddRawBodyItem("<hr/>"); var msgBodySplitted = msg.BodyText.Split("\n".ToCharArray()); foreach (var itmBody in msgBodySplitted) { oHtmlGenerator.AddParagraphBodyItem(itmBody); } // Generate Html oHtmlGenerator.SaveHtml("result.html"); #endregion using (HtmlToPdfConverter converter = new HtmlToPdfConverter()) { converter.PageSize = PaperKind.A4; converter.Orientation = Bytescout.PDF.Converters.PaperOrientation.Portrait; converter.ConvertHtmlToPdf("result.html", "result.pdf"); // Open result document in default associated application (for demo purpose) ProcessStartInfo processStartInfo = new ProcessStartInfo("result.pdf"); processStartInfo.UseShellExecute = true; Process.Start(processStartInfo); } } } catch (Exception ex) { Console.WriteLine(ex.Message); Console.WriteLine("Press enter key to exit..."); Console.ReadLine(); } } } /// <summary> /// Html Generator class /// </summary> class HtmlGenerator { #region Constructor public HtmlGenerator() { this.StrBodyItems = new List<string>(); } #endregion #region Variable Declarations public string Title { get; set; } private List<string> StrBodyItems { get; set; } #endregion #region Methods /// <summary> /// Add Body Item /// </summary> public void AddRawBodyItem(string strBodyItem) { StrBodyItems.Add(strBodyItem); } /// <summary> /// Add Paragraph body item /// </summary> /// <param name="strText"></param> public void AddParagraphBodyItem(string strText) { StrBodyItems.Add(string.Format("<p style=''>{0}</p>", strText)); } /// <summary> /// Gets Generated Html /// </summary> /// <returns></returns> public string GetHtml() { StringBuilder oRetHtml = 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>"); foreach (var itemBody in StrBodyItems) { oRetHtml.Append(itemBody); } oRetHtml.Append("</body>"); oRetHtml.Append("</html>"); return oRetHtml.ToString(); } /// <summary> /// Save all Html /// </summary> /// <param name="fileName"></param> public void SaveHtml(string fileName) { var allHtml = GetHtml(); System.IO.File.WriteAllText(fileName, allHtml); } #endregion } }
60 Day Free Trial or Visit ByteScout Premium Suite Home Page
Explore ByteScout Premium Suite Documentation
Explore Samples
Sign Up for ByteScout Premium 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.0" targetFramework="net45" /> <package id="OpenMcdf" version="2.2.1.3" targetFramework="net45" /> </packages>
60 Day Free Trial or Visit ByteScout Premium Suite Home Page
Explore ByteScout Premium Suite Documentation
Explore Samples
Sign Up for ByteScout Premium Suite Online Training
Get Your API Key
Explore Web API Docs
Explore Web API Samples
60 Day Free Trial or Visit ByteScout Premium Suite Home Page
Explore ByteScout Premium Suite Documentation
Explore Samples
Sign Up for ByteScout Premium Suite Online Training
Get Your API Key
Explore Web API Docs
Explore Web API Samples
also available as: