How to Render HTML File to PDF

by Regan Pun

One of the easiest ways to use IronPDF is to tell it to render an HTML file. IronPDF can render any HTML file saved on a machine.



C# NuGet Library for PDF

Install with NuGet

Install-Package IronPdf
or
C# PDF DLL

Download DLL

Download DLL

Manually install into your project

Convert HTML to PDF Example

Here we have an example of IronPDF renderig HTML file into a PDF by using the RenderHtmlFileAsPdf() method. The parameter is a filepath to a local HTML file.

This method has the advantage of allowing the developer the opportunity to test the HTML content in a browser during development. They can, in particular, test the fidelity in rendering. We recommend Chrome, as it is the web browser on which IronPDF's rendering engine is based.

If it looks right in Chrome, then it will be pixel-perfect in IronPDF as well.

Input File

This is the example.html HTML file that the code renders:

:path=/static-assets/pdf/how-to/html-file-to-pdf/example.html
<!DOCTYPE html>
<html>
	<head>
		<title>Page Title</title>
	</head>

	<body>
		<h1>My First Heading</h1>
		<p>My first paragraph.</p>
	</body>
</html>

HTML

Code Example

:path=/static-assets/pdf/content-code-examples/how-to/html-file-to-pdf.cs
using IronPdf;
using IronPdf.Engines.Chrome;
using IronPdf.Rendering;


var renderer = new ChromePdfRenderer
{
    RenderingOptions = new ChromePdfRenderOptions
    {
        UseMarginsOnHeaderAndFooter = UseMargins.None,
        CreatePdfFormsFromHtml = false,
        CssMediaType = PdfCssMediaType.Print,
        CustomCssUrl = null,
        EnableJavaScript = false,
        Javascript = null,
        JavascriptMessageListener = null,
        FirstPageNumber = 0,
        GrayScale = false,
        HtmlHeader = null,
        HtmlFooter = null,
        InputEncoding = null,
        MarginBottom = 0,
        MarginLeft = 0,
        MarginRight = 0,
        MarginTop = 0,
        PaperOrientation = PdfPaperOrientation.Portrait,
        PaperSize = PdfPaperSize.Letter,
        PrintHtmlBackgrounds = false,
        TextFooter = null,
        TextHeader = null,
        Timeout = 0,
        Title = null,
        ForcePaperSize = false,
        ViewPortHeight = 0,
        ViewPortWidth = 0,
        Zoom = 0,
        FitToPaperMode = FitToPaperModes.Zoom
    },
    LoginCredentials = null
};
renderer.RenderingOptions.WaitFor.RenderDelay(50);

// Create a PDF from an existing HTML file using C#
var pdf = renderer.RenderHtmlFileAsPdf("example.html");

// Export to a file or Stream
pdf.SaveAs("output.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Result

This is the PDF file that the code produced:

Default Chrome Print Options

In the case that a default Chrome Print Options is desired access the DefaultChrome property of the ChromePdfRenderOptions class and assign to the RenderingOptions. With this setting the PDF output from IronPdf will be identiful of the Chrome Print Preview.

:path=/static-assets/pdf/content-code-examples/how-to/html-file-to-pdf-default-chrome.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

// Configure the rendering options to default Chrome options
renderer.RenderingOptions = ChromePdfRenderOptions.DefaultChrome;
Imports IronPdf

Private renderer As New ChromePdfRenderer()

' Configure the rendering options to default Chrome options
renderer.RenderingOptions = ChromePdfRenderOptions.DefaultChrome
VB   C#

Regan Pun

Software Engineer

Regan graduated from the University of Reading, with a BA in Electronic Engineering. Before joining Iron Software, his previous job roles had him laser-focused on single tasks; and what he most enjoys at Iron Software is the spectrum of work he gets to undertake, whether it’s adding value to sales, technical support, product development or marketing. He enjoys understanding the way developers are using the Iron Software library, and using that knowledge to continually improve documentation and develop the products.