Chrome PDF Rendering Engine

Create high-grade PDF renders utilizing the PDF-rendering engine of Chrome.

You can download a file project from this link.

Install-Package IronPdf

High-Quality Improvements, Well Tested

High-Quality Rendering

The latest “Blink!” HTML rendering. Choose from Chrome Identical rendering or Enhanced Rendering (which we find more accurate and easy to code for than Chrome.)

20% Faster Renders

Provides effortless multithreading and Async, using as many CPU cores as you wish. For SAAS and high-load applications this may be 5-20 times faster, outperforming direct browser usage and web-drivers.

Full Support

Full (and we mean full) support for JavaScript, responsive layout and CSS3.
Azure as a first class citizen. It just works.
Continued maintenance and improved full support for .NET 6, 5, Core, and Framework 4.0+.

Rigorously Tested

The release passed with 1156 green unit & integration tests (and no red ones). We believe this EAP to be as stable as our main release, and has our best minds actively improving it every day.

Section 508 Accessibility Compliance

Produces accessible PDFs using the PDF(UA) tagged PDF standard.

Ongoing Improvements

We would love to hear your feedback. Contact sales@ironsoftware.com with ideas or if you need any help getting things running.


Implement in Your Project

1. Implement the Code in Your Project

1.1. Step 1 - Update IronPDF

First you must install IronPDF into your project from the NuGet Package Manager named IronPdf.

Install-Package IronPdf

This is essential.

1.2. Step 2 - Upgrade with 1 line of code

Changing to the new renderer at a global level is simple. This approach updates all usages of your existing ChromePdfRenderer and AspxToPdf code.

Just do this once, before you render any pdfs and you have switched to the new renderer.

IronPdf.Installation.DefaultRenderingEngine = IronPdf.Rendering.PdfRenderingEngine.Chrome;
IronPdf.Installation.DefaultRenderingEngine = IronPdf.Rendering.PdfRenderingEngine.Chrome;
IronPdf.Installation.DefaultRenderingEngine = IronPdf.Rendering.PdfRenderingEngine.Chrome
VB   C#

2. Try the new API

We haven’t broken the previous IronPDF C# and VB.NET API you are already using. It will remain! However, the old style is being superseded by a better one to give you more control.

For example, you now have RenderingOptions and HttpLoginCredentials specific to your renderer.

using IronPdf;
ChromePdfRenderer Renderer = new ChromePdfRenderer();
Renderer.RenderingOptions.FitToPaper = true;
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen;
Renderer.RenderingOptions.PrintHtmlBackgrounds = true;
Renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
using var doc = Renderer.RenderHtmlAsPdf("<h1>Hello world!</h1>");
// using var doc = Renderer.RenderUrlAsPdf("https://www.google.com/");
// using var doc = Renderer.RenderHtmlFileAsPdf("example.html");
doc.SaveAs("google_chrome.pdf");
using IronPdf;
ChromePdfRenderer Renderer = new ChromePdfRenderer();
Renderer.RenderingOptions.FitToPaper = true;
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen;
Renderer.RenderingOptions.PrintHtmlBackgrounds = true;
Renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
using var doc = Renderer.RenderHtmlAsPdf("<h1>Hello world!</h1>");
// using var doc = Renderer.RenderUrlAsPdf("https://www.google.com/");
// using var doc = Renderer.RenderHtmlFileAsPdf("example.html");
doc.SaveAs("google_chrome.pdf");
Imports IronPdf
Private Renderer As New ChromePdfRenderer()
Renderer.RenderingOptions.FitToPaper = True
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen
Renderer.RenderingOptions.PrintHtmlBackgrounds = True
Renderer.RenderingOptions.CreatePdfFormsFromHtml = True
Dim doc = Renderer.RenderHtmlAsPdf("<h1>Hello world!</h1>")
' var doc = Renderer.RenderUrlAsPdf("https://www.google.com/");
' var doc = Renderer.RenderHtmlFileAsPdf("example.html");
doc.SaveAs("google_chrome.pdf")
VB   C#

3. Apply Pixel-Perfect Chrome Rendering

This example will give you PDFs that are pixel-perfect to the latest Chrome desktop browser’s “print to PDF” functionality.

ChromePdfRenderer Renderer = new ChromePdfRenderer();
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
Renderer.RenderingOptions.PrintHtmlBackgrounds = false;
Renderer.RenderingOptions.CreatePdfFormsFromHtml = false;
using var doc = Renderer.RenderUrlAsPdf("https://www.google.com/");
ChromePdfRenderer Renderer = new ChromePdfRenderer();
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
Renderer.RenderingOptions.PrintHtmlBackgrounds = false;
Renderer.RenderingOptions.CreatePdfFormsFromHtml = false;
using var doc = Renderer.RenderUrlAsPdf("https://www.google.com/");
Dim Renderer As New ChromePdfRenderer()
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
Renderer.RenderingOptions.PrintHtmlBackgrounds = False
Renderer.RenderingOptions.CreatePdfFormsFromHtml = False
Dim doc = Renderer.RenderUrlAsPdf("https://www.google.com/")
VB   C#

We recommend using some Iron-specific improvements.

  • Use screen stylesheets to print PDFs. They are less fiddly to develop and more true to existing web assets.
  • Responsive layout support.
  • Create PDF Forms from your HTML form elements.
ChromePdfRenderer Renderer = new ChromePdfRenderer();
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen;
Renderer.RenderingOptions.PrintHtmlBackgrounds = true;
Renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
Renderer.RenderingOptions.ViewPortWidth = 1080;  //pixels
using var doc = Renderer.RenderUrlAsPdf("https://www.google.com/");
ChromePdfRenderer Renderer = new ChromePdfRenderer();
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen;
Renderer.RenderingOptions.PrintHtmlBackgrounds = true;
Renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
Renderer.RenderingOptions.ViewPortWidth = 1080;  //pixels
using var doc = Renderer.RenderUrlAsPdf("https://www.google.com/");
Dim Renderer As New ChromePdfRenderer()
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen
Renderer.RenderingOptions.PrintHtmlBackgrounds = True
Renderer.RenderingOptions.CreatePdfFormsFromHtml = True
Renderer.RenderingOptions.ViewPortWidth = 1080 'pixels
Dim doc = Renderer.RenderUrlAsPdf("https://www.google.com/")
VB   C#

4. Multi-threading and Async Support

Multithreading and Async support for our Chrome rendering engine is in a different league to the previous build.

  • For enterprise grade multithreading, use our ChromePdfRenderer in your existing threads and it will work. For web applications this also takes zero setup.
  • For batch processing of HTML to PDF, we recommend using the built in .NET Parallel.ForEach pattern.
  • We love async and have provided Async variants of all of our rendering methods methods such as ChromePdfRenderer.RenderHtmlAsPdfAsync

5. What is next?

Features Coming Soon

  • Ultra-Slim deployments, useful for Azure functions and AWS Lambda. We aim to provide deployment options to produce the smallest possible disk footprint.
  • Mobile rendering support: support for iOS and Android app developers.
  • IE and Firefox rendering options.
  • Multi-server distributed rendering architectures for large enterprise users.
  • A re-imagined internal PDF document object model to support the widest range of PDF standards. We want to be able to handle reading and automatically fixing corrupted and badly encoded PDF documents elegantly.
  • "{YourIdeaHere}" Feature requests and bug reports our customers go to the top of the stack.

Please Contact Us with any suggestions or questions.