Sample code · C#
using System; using System.IO; using System.Net.Mail; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; using Microsoft.AspNetCore.Mvc.Rendering; using SelectPdf.Universal; namespace SelectPdf.Samples.Pages { public class ConvertAndEmailModel : PageModel { public void OnGet() { DdlRenderingEngine = "Chromium"; } [BindProperty] public string TxtUrl { get; set; } [BindProperty] public string TxtEmail { get; set; } [BindProperty] public string DdlRenderingEngine { get; set; } public List<SelectListItem> RenderingEngines { get; } = new List<SelectListItem> { new SelectListItem { Value = "Chromium", Text = "Chromium" }, }; public void OnPost() { RenderingEngine renderingEngine = SampleForm.ParseEnum(DdlRenderingEngine, RenderingEngine.Chromium); // instantiate a html to pdf converter object HtmlToPdf converter = new HtmlToPdf(); converter.Options.NavigationTimeout = Startup.NavigationTimeout; converter.Options.RenderingEngine = renderingEngine; try { // create a new pdf document converting an url PdfDocument doc = converter.ConvertUrl(TxtUrl); // create memory stream to save PDF MemoryStream pdfStream = new MemoryStream(); // save pdf document into a MemoryStream doc.Save(pdfStream); // reset stream position pdfStream.Position = 0; // create email message MailMessage message = new MailMessage(); message.From = new MailAddress("support@selectpdf.com"); message.To.Add(new MailAddress(TxtEmail)); message.Subject = "SelectPdf Sample - Convert and Email as Attachment"; message.Body = "This email should have attached the PDF document " + "resulted from the conversion of the following url to pdf: " + TxtUrl; message.Attachments.Add(new Attachment(pdfStream, "Document.pdf")); // send email new SmtpClient().Send(message); // close pdf document doc.Close(); ViewData["Message"] = "Email sent"; } catch (Exception ex) { ViewData["Message"] = "An error occurred: " + ex.Message; } } } }