SelectPdf Free Html To Pdf Converter for .NET Core - Sending parameters with a HTTP POST request using the Html to Pdf Converter - C# / ASP.NET 10 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:


Rendering Engine:


HTTP POST Parameters:

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

Sample code · C#
using System;
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 HttpPostRequestModel : PageModel
    {
        public void OnGet()
        {
            DdlRenderingEngine = "Chromium";
            TxtUrl = Helper.WWWRoot(Request) + Url.Content("~/ViewHttpPostData");
        }

        [BindProperty]
        public string TxtUrl { get; set; }

        [BindProperty]
        public string DdlRenderingEngine { get; set; }

        public List<SelectListItem> RenderingEngines { get; } = new List<SelectListItem>
        {
            new SelectListItem { Value = "Chromium", Text = "Chromium" },
        };

        [BindProperty]
        public string TxtName1 { get; set; }

        [BindProperty]
        public string TxtValue1 { get; set; }

        [BindProperty]
        public string TxtName2 { get; set; }

        [BindProperty]
        public string TxtValue2 { get; set; }

        [BindProperty]
        public string TxtName3 { get; set; }

        [BindProperty]
        public string TxtValue3 { get; set; }

        [BindProperty]
        public string TxtName4 { get; set; }

        [BindProperty]
        public string TxtValue4 { get; set; }

        public IActionResult 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;

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

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

        }
    }
}