EvoPdf Classic Library for .NET
EvoPdf Classic HTML to PDF Converter for .NET offers full support for HTML tags,
CSS styles, SVG vector graphics, Canvas, Web Fonts, JavaScript, page breaks control with CSS styles, repeating HTML
table header and footer in PDF pages, live URLs and internal links in PDF, automatically
generated hierarchical bookmarks and table of contents, HTML in the headers and footers.
The library is more than a HTML to PDF converter.
You can also use it to create, merge, split, edit and fill existing PDF documents.
|
|
|
|
|
| EvoPdf Classic HTML to PDF Converter
|
| for .Net
|
|
|
|
|
EvoPdf Classic HTML to PDF Converter for .NET can be used to convert HTML to PDF, images and SVG
in applications targeting .NET Framework, .NET Core and .NET Standard.
The Classic HTML to PDF Converter is built on a proven rendering engine that has demonstrated efficiency, reliability and stability
over many years of real-world use with a small footprint and low resource requirements.
It is well suited for environments where minimal space and compute usage are essential, even if it does not fully
support the very latest CSS or JavaScript features when compared to the
EvoPdf Next
converter.
The converter offers full support for HTML tags, CSS styles, SVG vector graphics, page breaks
control with CSS styles, automatically repeated HTML table header on each PDF page, live URLs and internal
links in PDF, automatically generated bookmarks, HTML in the headers and footers, Unicode and right to left
text, PDF merge, split and edit.
There are separate libraries for the .NET Framework and for modern .NET platforms running on Windows x64.
The library for the .NET Framework is compatible with .NET 2.0, .NET 4.0 and later runtimes.
The library for .NET was built for .NET Standard 2.0 and is compatible with platforms such as .NET 6, .NET 8 and .NET 10.
For applications that need to run on both Windows and Linux platforms, the
EvoPdf Next HTML to PDF Converter for .NET
provides a newer and highly accurate rendering engine designed for modern HTML, CSS and JavaScript content.
The full
EvoPdf Next Library for .NET
can be used on Windows, Linux, Azure and Docker platforms to create, edit and merge PDF documents, convert HTML to PDF or images,
convert Word, Excel, RTF and Markdown to PDF, extract text and images from PDFs, search text in PDFs and convert PDF pages to images.
|
|
|
|
|
|
|
 |
|
Compatibility
|
|
|
|
The compatibility list includes the following .NET versions, platforms and application types:
- .NET Framework 2.0, 3.5, 4.0 and above
- .NET 10, 9, 8, 7, 6 and .NET Standard 2.0
- Windows x64 platforms
- Azure Cloud Services and Azure Virtual Machines
- Web, Console and Desktop applications
|
|
|
The new EvoPdf Next Library
can be used to convert HTML to PDF on both Windows and Linux platforms, including Azure App Service and Docker containers.
It also allows you to convert Word, Excel, RTF and Markdown to PDF, extract text and images from PDFs,
search text in PDFs and convert PDF pages to images.
|
|
 |
|
Software Download |
|
|
The evaluation package for EvoPdf HTML to PDF Converter can be downloaded as a zip archive containing the
product libraries and sample projects compatible with .NET Framework 2.0, 3.5, 4.0 and above, .NET 10, 9, 8, 7, 6 and .NET Standard 2.0
on Windows x64 platforms.
|
|
|
|
|
EvoPdf HTML to PDF converter library is also available as a
NuGet package
that can be referenced in your .NET projects.
|
|
 |
|
Getting Started
|
|
|
|
You can quickly start with the demo applications from the Samples folder of the downloaded package or you can integrate the library in your own project.
To start with your own project, first add a reference to library.
In projects targeting the .NET Framework platform you can reference directly the EvoHtmlToPdf.dll assembly from root folder of the ZIP package for .NET Framework or alternatively the
EvoPdf.HtmlToPdf
NuGet packages.
In projects targeting the .NET Core platform you can reference the
EvoPdf.HtmlToPdf NuGet package
or alternatively the EvoHtmlToPdf_NetCore.dll from the Bin folder of the ZIP package for .NET core,
but in this case you also have to manually reference the EvoPdf.HtmlToPdf package dependencies and copy the resource files.
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
|
|
 |
|
C# 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.
|
|
At the top of your C# source file add the using EvoPdf; statement to make available the EVO HTML to PDF Converter API for your .NET application.
|
|
// add this using statement at the top of your C# file
using EvoPdf;
|
|
|
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
HtmlToPdfConverter converter = new HtmlToPdfConverter();
// convert the HTML string to a PDF file
converter.ConvertHtmlToFile("<b>Hello World</b> from EVO PDF !", null, "HtmlToFile.pdf");
// convert HTML page from URL to a PDF file
string htmlPageURL = "http://www.evopdf.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
HtmlToPdfConverter converter = new HtmlToPdfConverter();
// convert a HTML string to a memory buffer
byte[] htmlToPdfBuffer = converter.ConvertHtml("<b>Hello World</b> from EVO PDF !", 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.evopdf.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
HtmlToPdfConverter converter = new HtmlToPdfConverter();
// convert a HTML string to a memory buffer
byte[] htmlToPdfBuffer = converter.ConvertHtml("<b>Hello World</b> from EVO PDF !", 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
HtmlToPdfConverter converter = new HtmlToPdfConverter();
// convert a HTML string to a memory buffer
byte[] htmlToPdfBuffer = converter.ConvertHtml("<b>Hello World</b> from EVO PDF !", 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();
|
|
|
|
Features
|
|
|
|
|
|
|
|
|
|
|
|
 |
|
C# Full Code Sample for ASP.NET |
|
|
|
EVO HTML to PDF Converter for .NET 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 Getting Started demo for
HTML to PDF Converter that you can find in the Samples folder of the software Zip package.
|
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();
}
|
|
 |
|
C# Full Code Sample for MVC |
|
|
|
EVO HTML to PDF Converter for .NET can be used in any type of .NET application including ASP.NET MVC websites.
The code below is copied from the Getting Started demo for
MVC that you can find in the Samples\Other\Mvc folder of the software Zip package.
|
[HttpPost]
public ActionResult ConvertHtmlToPdf(FormCollection collection)
{
// Create a HTML to PDF converter object with default settings
HtmlToPdfConverter htmlToPdfConverter = new HtmlToPdfConverter();
// Set HTML Viewer width in pixels which is the equivalent in converter of the browser window width
htmlToPdfConverter.HtmlViewerWidth = int.Parse(collection["htmlViewerWidthTextBox"]);
// 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 (collection["htmlViewerHeightTextBox"].Length > 0)
htmlToPdfConverter.HtmlViewerHeight = int.Parse(collection["htmlViewerHeightTextBox"]);
// 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(collection["pdfPageSizeDropDownList"]);
// 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(collection["pdfPageOrientationDropDownList"]);
// 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(collection["navigationTimeoutTextBox"]);
// 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 (collection["conversionDelayTextBox"].Length > 0)
htmlToPdfConverter.ConversionDelay = int.Parse(collection["conversionDelayTextBox"]);
string url = collection["urlTextBox"];
// Convert the HTML page given by an URL to a PDF document in a memory buffer
byte[] outPdfBuffer = htmlToPdfConverter.ConvertUrl(url);
// Send the PDF file to browser
FileResult fileResult = new FileContentResult(outPdfBuffer, "application/pdf");
fileResult.FileDownloadName = "Getting_Started.pdf";
return fileResult;
}
|
|