SelectPdf for .NET - Partial Page Conversion with Html to Pdf Converter - C# / ASP.NET MVC Sample

This sample shows how the html to pdf converter can be used to convert only a section of a web page using SelectPdf Pdf Library for .NET.

The section of the page that will be converted is identified using the element id. Partial conversion is available with all four rendering engines - with Chromium and Blink starting with v26.4 (the Blink engine needs .NET Framework 4.6.1 or newer, so it is not offered here).

Url:


Render element with ID:


Rendering Engine:

Sample code · C#
using System;
using System.Web.Mvc;
using System.Configuration;
using SelectPdf;

namespace SelectPdf.Samples.Controllers
{
    public class PartialConversionController : Controller
    {
        // GET: PartialConversion
        public ActionResult Index()
        {
            return View();
        }

        [HttpPost]
        public ActionResult SubmitAction(FormCollection collection)
        {
            RenderingEngine renderingEngine =
                (RenderingEngine)Enum.Parse(typeof(RenderingEngine), Request["DdlRenderingEngine"], true);

            // instantiate a html to pdf converter object
            HtmlToPdf converter = new HtmlToPdf();
            converter.Options.MaxPageLoadTime = MvcApplication.MaxPageLoadTime;
            converter.Options.RenderingEngine = renderingEngine;

            // specify the id of the section that will be converted to pdf
            if (!string.IsNullOrEmpty(collection["TxtElements"]))
            {
                converter.Options.VisibleWebElementId = collection["TxtElements"];
            }

            // create a new pdf document converting an url
            PdfDocument doc = converter.ConvertUrl(collection["TxtUrl"]);

            // save pdf document
            byte[] pdf = doc.Save();

            // close pdf document
            doc.Close();

            // return resulted pdf document
            FileResult fileResult = new FileContentResult(pdf, "application/pdf");
            fileResult.FileDownloadName = "Document.pdf";
            return fileResult;
        }
    }
}