SelectPdf for .NET - Sending parameters with a HTTP POST request using the Html to Pdf Converter - C# / ASP.NET MVC Sample

This sample shows how to send parameters using a HTTP POST request to the page that will be converted using the html to pdf converter from SelectPdf Pdf Library for .NET.

Below, there is a link to a test page that will display the HTTP POST data sent to it. Converting this page will display the data POSTED to the page by the html to pdf converter.

Test page

Url:


HTTP POST Parameters:

Name: Value:
Name: Value:
Name: Value:
Name: Value:


Sample Code C#



using System;
using System.Web.Mvc;

namespace SelectPdf.Samples.Controllers
{
    public class HttpPostRequestController : Controller
    {
        // GET: HttpPostRequest
        public ActionResult Index()
        {
            string url = System.Web.VirtualPathUtility.ToAbsolute("~/ViewHttpPostData");
            ViewData.Add("ViewTxtUrl", (new Uri(Request.Url, url)).AbsoluteUri);
            return View();
        }

        [HttpPost]
        public ActionResult SubmitAction(FormCollection fields)
        {
            // instantiate a html to pdf converter object
            HtmlToPdf converter = new HtmlToPdf();

            // set the HTTP POST parameters
            converter.Options.HttpPostParameters.
                Add(fields["TxtName1"], fields["TxtValue1"]);
            converter.Options.HttpPostParameters.
                Add(fields["TxtName2"], fields["TxtValue2"]);
            converter.Options.HttpPostParameters.
                Add(fields["TxtName3"], fields["TxtValue3"]);
            converter.Options.HttpPostParameters.
                Add(fields["TxtName4"], fields["TxtValue4"]);

            // create a new pdf document converting an url
            PdfDocument doc = converter.ConvertUrl(fields["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;
        }
    }
}