SelectPdf for .NET 10 - Sending HTTP Headers with Html to Pdf Converter - C# / .NET 10 Sample

This sample shows how to send HTTP headers 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 headers sent to it. Converting this page will display the headers sent by the html to pdf converter.

Test page

Url:


Rendering Engine:


HTTP Headers:

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 HttpHeadersModel : PageModel
    {
        public void OnGet()
        {
            DdlRenderingEngine = "Chromium";
            TxtUrl = Helper.WWWRoot(Request) + Url.Content("~/ViewHttpHeaders");
        }

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

        [BindProperty]
        public string DdlRenderingEngine { get; set; } = "Chromium";

        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;

            // set the HTTP headers
            converter.Options.RenderingEngine = renderingEngine;
            converter.Options.HttpHeaders.Add(TxtName1, TxtValue1);
            converter.Options.HttpHeaders.Add(TxtName2, TxtValue2);
            converter.Options.HttpHeaders.Add(TxtName3, TxtValue3);
            converter.Options.HttpHeaders.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;

        }
    }
}