HTML is widely used to present content in web browsers, but preserving its exact layout when sharing or printing can be challenging. PDF, by contrast, is a universally accepted format that reliably maintains document layout across various devices and operating systems. Converting HTML to PDF is particularly useful in web development, especially when creating printable versions of web pages or generating reports from web data.
Spire.PDF for .NET now supports a streamlined method to convert HTML to PDF in C# using the ChromeHtmlConverter class. This tutorial provides step-by-step guidance on performing this conversion effectively.
- Convert HTML to PDF with ChromeHtmlConverter in C#
- Generate Output Logs During HTML to PDF Conversion in C#
Install Spire.PDF for .NET
To begin with, you need to add the DLL files included in the Spire.PDF for.NET package as references in your .NET project. The DLLs files can be either downloaded from this link or installed via NuGet.
PM> Install-Package Spire.PDF
Install Google Chrome
This method requires Google Chrome to perform the conversion. If Chrome is not already installed, you can download it from this link and install it.
Convert HTML to PDF using ChromeHtmlConverter in C#
You can utilize the ChromeHtmlConverter.ConvertToPdf() method to convert an HTML file to a PDF using the Chrome plugin. This method accepts 3 parameters, including the input HTML file path, output PDF file path, and ConvertOptions which allows customization of conversion settings like conversion timeout, PDF paper size and page margins. The detailed steps are as follows.
- Create an instance of the ChromeHtmlConverter class and provide the path to the Chrome plugin (chrome.exe) as a parameter in the class constructor.
- Create an instance of the ConvertOptions class.
- Customize the conversion settings, such as the conversion timeout, the paper size and page margins of the converted PDF through the properties of the ConvertOptions class.
- Convert an HTML file to PDF using the ChromeHtmlConverter.ConvertToPdf() method.
- C#
using Spire.Additions.Chrome; namespace ConvertHtmlToPdfUsingChrome { internal class Program { static void Main(string[] args) { //Specify the input URL and output PDF file path string inputUrl = @"https://www.e-iceblue.com/Tutorials/Spire.PDF/Spire.PDF-Program-Guide/C-/VB.NET-Convert-Image-to-PDF.html"; string outputFile = @"HtmlToPDF.pdf"; //Specify the path to the Chrome plugin string chromeLocation = @"C:\Program Files\Google\Chrome\Application\chrome.exe"; //Create an instance of the ChromeHtmlConverter class ChromeHtmlConverter converter = new ChromeHtmlConverter(chromeLocation); // Create an instance of the ConvertOptions class ConvertOptions options = new ConvertOptions(); //Set conversion timeout options.Timeout = 10 * 3000; //Set paper size and page margins of the converted PDF options.PageSettings = new PageSettings() { PaperWidth = 8.27, PaperHeight = 11.69, MarginTop = 0, MarginLeft = 0, MarginRight = 0, MarginBottom = 0 }; //Convert the URL to PDF converter.ConvertToPdf(inputUrl, outputFile, options); } } }
The converted PDF file maintains the same appearance as if the HTML file were printed to PDF directly through the Chrome browser:
Generate Output Logs During HTML to PDF Conversion in C#
Spire.PDF for .NET enables you to generate output logs during HTML to PDF conversion using the Logger class. The detailed steps are as follows.
- Create an instance of the ChromeHtmlConverter class and provide the path to the Chrome plugin (chrome.exe) as a parameter in the class constructor.
- Enable Logging by creating a Logger object and assigning it to the ChromeHtmlConverter.Logger property.
- Create an instance of the ConvertOptions class.
- Customize the conversion settings, such as the conversion timeout, the paper size and page margins of the converted PDF through the properties of the ConvertOptions class.
- Convert an HTML file to PDF using the ChromeHtmlConverter.ConvertToPdf() method.
- C#
using Spire.Additions.Chrome; namespace ConvertHtmlToPdfUsingChrome { internal class Program { static void Main(string[] args) { //Specify the input URL and output PDF file path string inputUrl = @"https://www.e-iceblue.com/Tutorials/Spire.PDF/Spire.PDF-Program-Guide/C-/VB.NET-Convert-Image-to-PDF.html"; string outputFile = @"HtmlToPDF.pdf"; // Specify the log file path string logFilePath = @"Logs.txt"; //Specify the path to the Chrome plugin string chromeLocation = @"C:\Program Files\Google\Chrome\Application\chrome.exe"; //Create an instance of the ChromeHtmlConverter class ChromeHtmlConverter converter = new ChromeHtmlConverter(chromeLocation); //Enable logging converter.Logger = new Logger(logFilePath); //Create an instance of the ConvertOptions class ConvertOptions options = new ConvertOptions(); //Set conversion timeout options.Timeout = 10 * 3000; //Set paper size and page margins of the converted PDF options.PageSettings = new PageSettings() { PaperWidth = 8.27, PaperHeight = 11.69, MarginTop = 0, MarginLeft = 0, MarginRight = 0, MarginBottom = 0 }; //Convert the URL to PDF converter.ConvertToPdf(inputUrl, outputFile, options); } } }
Here is the screenshot of the output log file:
Apply for a Temporary License
If you'd like to remove the evaluation message from the generated documents, or to get rid of the function limitations, please request a 30-day trial license for yourself.