Cross-Platform PDF Library for .NET and C#

Features list itemConvert HTML to PDF in your .NET Core Applications

Winnovative HTML to PDF Converter Box The Cross-Platform Winnovative Client Library for .NET can be easily integrated in any type of .NET application to create, read, edit and merge PDF documents. The library includes the HTML to PDF, Word to PDF, Excel to PDF, PDF to Text, PDF to Image, PDF to HTML and PDF Images Extractor components from Winnovative PDF Toolkit PRO in a single library under an unique namespace that you can access in your .NET applications.

The client library offers in general the same features, quality and API as the regular libraries from Winnovative PDF Toolkit PRO for .NET and it can be used on Windows, Linux, MacOS operating systems and on restrictive platforms like Azure App Service, Azure Functions, Universal Windows Platform (UWP), Xamarin for iOS and Android and other platforms.

Before starting to use the client library for .NET in your applications you first have to install the Winnovative Server as described in the sections below.

The HTML to PDF Converter is a key componenent of the libray which 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, PDF fillable forms, creation of digitally signed and password protected PDF documents.

PurchasePurchase ContactSupport DownloadDownload

Compatibility IconCompatibility

Winnovative Client Library for .NET is compatible with any platform which supports .NET Standard 2.0 and above or .NET Framework 4.0 and above, including:

  • .NET Core 7, 6, 5, .NET Standard 2.0 (and above)
  • .NET Framework 4.8.1, 4.7.2, 4.6.1, 4.0 (and above)
  • Windows, Linux, macOS
  • Azure, Azure App Service and Azure Functions
  • Xamarin for iOS, macOS and Android
  • Universal Windows Platform (UWP)
  • Web, Console and Desktop applications

DownloadSoftware Download

Winnovative Client Libraries

Winnovative Client library for .NET has separate ZIP packages for .NET Core and for .NET Framework you can download, containing libraries, demo applications and documentation specific to each platform.

The package for .NET Core contains the product binaries targeting .NET Standard 2.0, demo Visual Studio projects with full C# code for ASP.NET Core targeting .NET Core 6.0 and later versions, the library documentation in CHM format.

The package for .NET Framework contains the product binaries, demo Visual Studio projects with full C# code for ASP.NET Web Forms and ASP.NET MVC targeting .NET Framework 4 and later versions, the library documentation in CHM format.

Winnovative Server

Before starting to use the Winnovative HTML to PDF Client for .NET in your applications you first have to install the Winnovative PDF Server. The server can be installed as Azure Cloud Service Worker Role, Azure Cloud Service Web Role, Azure Service Fabric Application, IIS ASP.NET Web Application or Windows Service.

Winnovative Server package contains the server files and detailed installation instructions for each platform. You can start by installing Winnovative Server as a Windows Service on the local development machine with default options. In this case the assigned IP address is 127.0.0.1 which is also the default IP address in the demo client applications from software package.

DownloadGetting Started

After the Winnovative PDF Server was installed, you are ready to use the Winnovative Client Library for .NET in your applications. You can quickly start with the demo applications from the Demo folder of this package or you can integrate the library in your own project.

To start with your own project, first add a reference to NuGet Logo ImageWinnovative.Client NuGet package. Alternatively you can reference the WinnovativefClient_NetCore.dll library directly from the Bin folder of the client library ZIP package for .NET Core or the WinnovativeClient.dll library from the Bin folder of the client library ZIP package for .NET Framework.

After the reference to library was added to your project you are now ready to start writing code to convert HTML to PDF in your .NET application

Code Sample IconC# Code Samples

Copy the C# code lines from the section below to use the HTML to PDF Converter component to create a PDF document from a web page or from a HTML string and save the resulted PDF to a memory buffer for further processing, to a PDF file or send it to browser for download in ASP.NET applications.

The server IP address is assigned during server installation and it can be omitted from HtmlToPdfConverter constructor if the server was installed on the localhost IP address 127.0.0.1 . There are also variants of the constructor accepting an URL instead of IP address if the server was installed as a web service in Azure or in IIS.

At the top of your C# source file add the using WinnovativeClient; statement to make available the Winnovative Client API for your .NET application.

// add this using statement at the top of your C# file
using WinnovativeClient;

To convert a HTML string or an URL to a PDF file you can use the C# code below.

// create the converter object in your code where you want to run conversion
// change the serverIP value if the server was installed on a remote machine
string serverIP = "127.0.0.1";
HtmlToPdfConverter converter = new HtmlToPdfConverter(serverIP);

// convert the HTML string to a PDF file
converter.ConvertHtmlToFile("<b>Hello World</b> from Winnovative !", null, "HtmlToFile.pdf");

// convert HTML page from URL to a PDF file
string htmlPageURL = "http://www.winnovative-software.com";
converter.ConvertUrlToFile(htmlPageURL, "UrlToFile.pdf");

To convert a HTML string or an URL to a PDF document in a memory buffer and then save it to a file you can use the C# code below.

// create the converter object in your code where you want to run conversion
// change the serverIP value if the server was installed on a remote machine
string serverIP = "127.0.0.1";
HtmlToPdfConverter converter = new HtmlToPdfConverter(serverIP);

// convert a HTML string to a memory buffer
byte[] htmlToPdfBuffer = converter.ConvertHtml("<b>Hello World</b> from Winnovative !", null);

// write the memory buffer to a PDF file
System.IO.File.WriteAllBytes("HtmlToMemory.pdf", htmlToPdfBuffer);

// convert an URL to a memory buffer
string htmlPageURL = "http://www.winnovative-software.com";
byte[] urlToPdfBuffer = converter.ConvertUrl(htmlPageURL);

// write the memory buffer to a PDF file
System.IO.File.WriteAllBytes("UrlToMemory.pdf", urlToPdfBuffer);

To convert in your ASP.NET Core and ASP.NET MVC applications a HTML string or an URL to a PDF document in a memory buffer and then send it for download to browser you can use the C# code below.

// create the converter object in your code where you want to run conversion
// change the serverIP value if the server was installed on a remote machine
string serverIP = "127.0.0.1";
HtmlToPdfConverter converter = new HtmlToPdfConverter(serverIP);

// convert a HTML string to a memory buffer
byte[] htmlToPdfBuffer = converter.ConvertHtml("<b>Hello World</b> from Winnovative !", null);

FileResult fileResult = new FileContentResult(htmlToPdfBuffer, "application/pdf");
fileResult.FileDownloadName = "HtmlToPdf.pdf";
return fileResult;

To convert in your ASP.NET Web Forms application a HTML string to a PDF document in a memory buffer and then send it for download to browser you can use the C# code below.

// create the converter object in your code where you want to run conversion
// change the serverIP value if the server was installed on a remote machine
string serverIP = "127.0.0.1";
HtmlToPdfConverter converter = new HtmlToPdfConverter(serverIP);

// convert a HTML string to a memory buffer
byte[] htmlToPdfBuffer = converter.ConvertHtml("<b>Hello World</b> from Winnovative !", null);

HttpResponse httpResponse = HttpContext.Current.Response;
httpResponse.AddHeader("Content-Type", "application/pdf");
httpResponse.AddHeader("Content-Disposition",
    String.Format("attachment; filename=HtmlToPdf.pdf; size={0}",
    htmlToPdfBuffer.Length.ToString()));
httpResponse.BinaryWrite(htmlToPdfBuffer);
httpResponse.End();