HTML to PDF Converter for .NET Core

netcore_logo.NET Core is a modular version of the .NET Framework designed to be portable across platforms for maximum code reuse and code sharing. In addition, .NET Core is open-sourced and accept contributions from the community.

.NET Core is portable across platforms and you will be able to target with .NET Core desktop Windows as well as Windows devices and phones, IOS and Android devices, Mac and Linux operating systems.

.NET Core is modular because it is released through NuGet in smaller assembly packages. Rather than one large assembly that contains most of the core functionality, .NET Core is made available as smaller feature-centric packages.

Developing a HTML to PDF Converter for .NET Core platform is chalanging because of the security and functionality restrictions imposed by the platform in order to be portable.

The HTML to PDF Converter for .NET Core solution from EvoPdf.com can be easily integrated in .NET Core applications to convert HTML documents to PDF, raster images or SVG vector images. The library is a powerful tool helping you to instantly create nicely formatted and easily maintainable PDF reports directly from existing HTML reports.

The converter offers full support for HTML5, CSS3, JavaScript, SVG, web fonts, page breaks control with CSS and from API, automatically repeated HTML table header and footer, live URLs and internal links, automatically generated hierarchical bookmarks and table of contents, automatically generated fillable PDF forms and allows you to digitally sign and password protect the generated PDF documents.

The library was designed and tested to work reliably in multithreaded environments which makes it ideal for usage in high traffic websites and services.

EVO HTML to PDF Converter for .NET Core is distributed in a Zip archive. You can follow the link below to download the software. The Zip archive contains the client library you can use in your .NET Core applications, the HTML to PDF Server for Windows and for Azure and a console demo application.

In order to use the EVO HTML to PDF Converter for .NET Core you first have to install the EVO HTML to PDF Server. The server was built on .NET library to extend its capabilities to other platforms and languages. The client library that you link in your .NET Core applications will connect to the server to convert HTML to PDF, to Image or to SVG.
EVO HTML to PDF Converter Server can run either in a Windows Service on a Windows machine or in an Azure Cloud Service deployed in Microsoft Azure cloud. You can find detailed installation and uninstallation instructions in the Readme.txt file from the root of the downloaded package.

C# Code Sample for HTML to PDF Conversion .NET Core

The EVO HTML to PDF Converter for .NET Core API allows you to convert a HTML document to PDF in just a few lines a code. The programming interface is also very rich and allows you customize the generated PDF document in various ways. The code below is copied from the demo for HTML to PDF Converter that you can find the in the Demo folder of the software Zip package.

public static void Main(string[] args)
{
    // parse argumenta
    if (!ParseArguments(args))
    {
        ShowUsage();
        return;
    }

    // convert HTML to PDF
    try
    {
        // create the HTML to PDF converter object
        HtmlToPdfConverter htmlToPdfConverter = new HtmlToPdfConverter(serverIPAddress, serverPortNumber);

        // set license key
        htmlToPdfConverter.LicenseKey = "4W9+bn19bn5ue2B+bn1/YH98YHd3d3c=";

        // Set an adddional delay in seconds to wait for JavaScript or AJAX calls after page load completed
        // Set this property to 0 if you don't need to wait for such asynchcronous operations to finish
        htmlToPdfConverter.ConversionDelay = 2;

        // set service password if necessary
        if (serverPassword.Length > 0)
            htmlToPdfConverter.ServicePassword = serverPassword;

        // set PDF page size
        htmlToPdfConverter.PdfDocumentOptions.PdfPageSize = PdfPageSize.A4;

        // set PDF page orientation
        htmlToPdfConverter.PdfDocumentOptions.PdfPageOrientation = PdfPageOrientation.Portrait;

        // convert the HTML page from given URL to PDF in a buffer
        byte[] pdfBytes = htmlToPdfConverter.ConvertUrl(urlToConvert);

        // write the PDF buffer in output file
        System.IO.File.WriteAllBytes("EvoHtmlToPdf.pdf", pdfBytes);
    }
    catch (Exception ex)
    {
        Console.WriteLine(String.Format("Error: {0}", ex.Message));
    }
}

 

Convert HTML to PDF in ASP.NET, MVC and Windows Forms using C# and VB.NET

html-to-pdf-boxCreating PDF documents programmatically in a traditional way by adding text and images at fixed positions in PDF pages is a time consuming and inflexible approach which takes a lot of effort to create a good looking document. The best alternative for this approach is to design your document as a HTML page and convert that HTML page to a PDF document preserving all the styles and layout from the original HTML page.

 

You can use the EVO HTML to PDF Converter Library for .NET to instantly create styled, good looking and complex PDF documents right from existing HTML pages and reports. The converter combines the powerful printer friendly PDF format with the flexibility of the HTML format into a great tool for creating nicely formatted and easily maintainable PDF reports and documents.

The most important features of the EVO HTML to PDF conversion are:

  • The library does not rely on external tools or services and does not require installation or server configuration changes, supporting simple copy deployment.
  • It has been designed and tested to work reliably in multithreaded environments and in high traffic websites.
  • The converter has full support for HTML tags, CSS and JavaScript and for advanced HTML5 features like CSS3, SVG and Web Fonts.
  • The rendering is extremely accurate and the resulted PDF preserves all the graphics, images, texts, fonts and layout of the original HTML document, no matter how complex would be.
  • The converter includes advanced automations for creating table of contents and hierarchical bookmarks based on HTML document structure and for transforming HTML forms into fillable PDF forms.
  • With EVO HTML to PDF Converter not only you can create great new PDF documents but you can also edit, merge, split and fill existing PDF documents. The converter can be bundled with the other PDF tools for .NET in EVO PDF Toolkit to offer you additional capabilities to view PDF documents or to extract the text and images from existing PDF documents.

All the software features are detailed on HTML to PDF Converter for .NET  webpage.

C# Code Sample for ASP.NET

The C# sample code below shows how you can convert HTML pages or HTML strings to PDF in just a few lines of code. An instance of the HtmlToPdfConverter class is created and used to convert HTML to PDF. The result of conversion is a byte[] which is sent as response to browser.

protected void convertToPdfButton_Click(object sender, EventArgs e)
{
    // Create a HTML to PDF converter object with default settings
    HtmlToPdfConverter htmlToPdfConverter = new HtmlToPdfConverter();

    // Set license key received after purchase to use the converter in licensed mode
    // Leave it not set to use the converter in demo mode
    htmlToPdfConverter.LicenseKey = "4W9+bn19bn5ue2B+bn1/YH98YHd3d3c=";

    // Set HTML Viewer width in pixels which is the equivalent in converter of the browser window width
    htmlToPdfConverter.HtmlViewerWidth = int.Parse(htmlViewerWidthTextBox.Text);

    // Set HTML viewer height in pixels to convert the top part of a HTML page 
    // Leave it not set to convert the entire HTML
    if (htmlViewerHeightTextBox.Text.Length > 0)
        htmlToPdfConverter.HtmlViewerHeight = int.Parse(htmlViewerHeightTextBox.Text);

    // Set PDF page size which can be a predefined size like A4 or a custom size in points 
    // Leave it not set to have a default A4 PDF page
    htmlToPdfConverter.PdfDocumentOptions.PdfPageSize = SelectedPdfPageSize();

    // Set PDF page orientation to Portrait or Landscape
    // Leave it not set to have a default Portrait orientation for PDF page
    htmlToPdfConverter.PdfDocumentOptions.PdfPageOrientation = SelectedPdfPageOrientation();

    // Set the maximum time in seconds to wait for HTML page to be loaded 
    // Leave it not set for a default 60 seconds maximum wait time
    htmlToPdfConverter.NavigationTimeout = int.Parse(navigationTimeoutTextBox.Text);

    // Set an adddional delay in seconds to wait for JavaScript or AJAX calls after page load completed
    // Set this property to 0 if you don't need to wait for such asynchcronous operations to finish
    if (conversionDelayTextBox.Text.Length > 0)
        htmlToPdfConverter.ConversionDelay = int.Parse(conversionDelayTextBox.Text);

    // The buffer to receive the generated PDF document
    byte[] outPdfBuffer = null;

    if (convertUrlRadioButton.Checked)
    {
        string url = urlTextBox.Text;

        // Convert the HTML page given by an URL to a PDF document in a memory buffer
        outPdfBuffer = htmlToPdfConverter.ConvertUrl(url);
    }
    else
    {
        string htmlString = htmlStringTextBox.Text;
        string baseUrl = baseUrlTextBox.Text;

        // Convert a HTML string with a base URL to a PDF document in a memory buffer
        outPdfBuffer = htmlToPdfConverter.ConvertHtml(htmlString, baseUrl);
    }

    // Send the PDF as response to browser

    // Set response content type
    Response.AddHeader("Content-Type", "application/pdf");

    // Instruct the browser to open the PDF file as an attachment or inline
    Response.AddHeader("Content-Disposition", String.Format("{0}; filename=Getting_Started.pdf; size={1}",
        openInlineCheckBox.Checked ? "inline" : "attachment", outPdfBuffer.Length.ToString()));

    // Write the PDF document buffer to HTTP response
    Response.BinaryWrite(outPdfBuffer);

    // End the HTTP response and stop the current page processing
    Response.End();
}

You can also see the HTML to PDF Converter for .NET Online Demo for all converter features with complete C# code.

Sample source code in C# and VB.NET for ASP.NET, MVC an Windows Forms can also be found in the software package you can download from website.