Convert HTML, Word and Excel to PDF — create, edit and process PDF documents in .NET — on Windows, Linux and macOS
A modular .NET Standard 2.0 library with separate NuGet packages per component and one shared EvoPdf.Next namespace. Convert HTML, Word, Excel, RTF and Markdown to PDF, build PDFs programmatically, extract text and images, search text, render pages to images.
Current version 14.36.0 · Shipping since 2010 · Evaluate without registration — demo mode by default (watermarked) · Perpetual licenses from 450 USD · Redistribution licensing available
The all-components package for Windows — EvoPdf.Next.Linux and EvoPdf.Next.MacOS work the same way, or pick a single-component package.
using EvoPdf.Next; // URL to PDF var converter = new HtmlToPdfConverter(); byte[] pdf = converter.ConvertUrl( "https://www.evopdf.com"); File.WriteAllBytes("UrlToMemory.pdf", pdf); // HTML string to PDF, with base URL converter = new HtmlToPdfConverter(); pdf = converter.ConvertHtml("<b>Hello World</b>", "https://www.evopdf.com"); File.WriteAllBytes("HtmlToMemory.pdf", pdf);
Looking for EvoPdf Classic? The original library is fully supported and licensed alongside Next — Classic HTML to PDF · Classic PDF tools · downloads · license renewals · migration guide
- Windows 10 / 11 / Server 2016–2025 — x64 & ARM64
- Linux 64-bit — x64 & ARM64
- macOS 12+ — Apple Silicon
- .NET 6 → 10, .NET Standard 2.0
- .NET Framework 4.6.2 – 4.8.1
- Azure App Service & Functions · Docker
Reference only what you use
Each component ships as its own NuGet package, so an application that only converts HTML does not carry the Word or Excel engines. All components share the same API conventions and can be combined in the same project.
HTML to PDF Converter
A Chromium-based rendering engine that processes modern HTML, CSS and JavaScript to the current standards. Headers and footers with page numbers, repeated table headers, CSS page breaks, outlines, tables of contents, HTML forms to PDF forms, PDF/UA and PDF/A output, digital signatures.
HTML to PDF details →using EvoPdf.Next; var converter = new HtmlToPdfConverter(); byte[] pdf = converter.ConvertUrl( "https://www.evopdf.com"); File.WriteAllBytes("page.pdf", pdf);
Core PDF API
Create PDFs from text, images and shapes; stamp, merge, secure and digitally sign existing documents.
Word to PDF
Accurate conversion of complex Word documents, with tables of contents, headers, footers, stamps and security.
Excel to PDF
Convert Excel workbooks to PDF with headers, footers, stamps and document security.
RTF to PDF
Convert RTF documents to PDF with tables of contents, headers, footers and stamps.
Markdown to PDF
Convert Markdown documents to PDF with tables of contents, headers, footers and stamps.
PDF to Text
Extract text in the original layout or optimized for reading; search text and get the exact positions of matches.
PDF to Image
Render PDF pages to PNG with control over color space, resolution and background transparency.
PDF Images Extractor
Extract the images embedded in a PDF as PNG, preserving transparency.
The same three steps, whatever you convert
Create a converter, call it, get bytes. Every method has an async variant; every converter has a PdfDocumentOptions for headers, footers, security and standards.
// Convert an HTML string to PDF in memory var converter = new HtmlToPdfConverter(); byte[] pdf = converter.ConvertHtml("<b>Hello World</b> from EVO PDF !", null); File.WriteAllBytes("HtmlToMemory.pdf", pdf);
Or ConvertUrl, ConvertHtmlToFile, ConvertUrlAsync. HTML to PDF overview →
// Convert a DOCX from a memory buffer, with an automatic table of contents var wordToPdfConverter = new WordToPdfConverter(); wordToPdfConverter.PdfDocumentOptions.GenerateTableOfContents = true; byte[] pdf = wordToPdfConverter.ConvertToPdf(docxBytes);
Instances are single-use — create one per conversion. Word to PDF →
// Convert an Excel workbook, keeping its page settings var converter = new ExcelToPdfConverter(); converter.ExcelToPdfDocumentOptions.UsePageSettingsFromExcel = true; byte[] pdf = converter.ConvertToPdf(excelBytes); File.WriteAllBytes("ExcelToMemory.pdf", pdf);
All worksheets or only the first; keep Excel column widths or reflow. Excel to PDF in the docs →
// Extract text, keeping the original layout var pdfToTextConverter = new PdfToTextConverter(); pdfToTextConverter.TextLayout = PdfToTextLayout.Original; string text = pdfToTextConverter.ConvertToText(pdfBytes);
Or search text and get the exact position of each match. PDF to text →
Runs where your .NET code runs
The HTML to PDF engine ships as a platform-specific runtime inside the NuGet package. Windows and macOS need nothing else; on Linux a few system packages may be required, listed per distribution in the documentation. The other components have no native dependencies.
Windows
Windows 10, 11 and Server 2016–2025. x64 and ARM64. Web, console and desktop apps.
EvoPdf.Next.LinuxLinux
64-bit distributions, x64 and ARM64, with the dependency list for each distribution.
EvoPdf.Next.MacOSmacOS
macOS 12 and later, Apple Silicon only.
AzureAzure App Service
Publish guides for Windows and Linux plans.
AzureAzure Functions
Publish guides for Windows and Linux function apps.
DockerfileDocker
Example Dockerfiles for Windows and Linux containers.
EvoPdf Next and EvoPdf Classic
Two products, one license, both maintained. Next renders current CSS and JavaScript and runs on Windows, Linux and macOS; Classic has the smaller footprint and supports .NET Framework from 2.0. Pick by what your application needs; the migration guide covers moving from one to the other if that changes.
EvoPdf Next
- Chromium-based HTML rendering, full support for current HTML, CSS and JavaScript
- Windows, Linux and macOS, x64 and ARM64, .NET Standard 2.0
- PDF/UA-1 and PDF/UA-2 for accessibility, PDF/A-2, 3 and 4 for archiving — generated automatically, alone or combined
- Word, Excel, RTF and Markdown to PDF
- PDF creation and processing — build PDFs from text, images and shapes; merge, stamp, encrypt and digitally sign; extract text and images, search text, render pages to images
EvoPdf Classic
- Our own rendering engine, in production for many years, with low memory and disk needs
- HTML5, CSS3, SVG and web fonts; the New Edition adds ECMAScript 6, WOFF 2, HTTP/2 and TLS 1.3
- Windows; .NET Framework 2.0 and above (original) or 4.0 and above (New Edition), .NET 6 to 10
- Tables of contents, outlines, HTML forms to PDF forms; edit, merge, split and fill PDFs
- Cross-platform client libraries for .NET, Java, Azure and UWP
Every demo page has a documentation page with the complete C# source
The online demo is the same ASP.NET application you can download. For every feature you try — HTML to PDF, Word, Excel, PDF creation and editing, text and image extraction — the documentation holds the full controller code behind it.
Perpetual licenses, two types, no per-seat counting
Both licenses are perpetual and include updates and technical support for the first year. After purchase you receive a license key by email; set it in your code and the trial stamps disappear. The HTML to PDF license covers both Next and Classic; the Toolkit covers every product on this site.
Deployment License
- One application, deployed on one server
- Internal use only — not for applications distributed outside your company
- Updates and standard technical support for the first year
Company License
- Unlimited developers, applications and servers
- Redistribute with your own applications to your customers at no extra cost
- Updates and priority technical support for the first year
Before you download
Can I evaluate without a license key?
Yes. Without a key the library runs in demo mode and adds a stamp to the generated documents. Everything else works, so you can test your real pages before buying.
Do I need to install anything on the server?
On Windows and macOS, no — the runtime is inside the NuGet package. On Linux, some distributions need a few system packages; the Getting Started on Linux guide lists them for each one. Word, Excel, RTF, Markdown and the PDF tools need nothing extra on any platform.
Does it work with .NET Framework?
Yes. The library targets .NET Standard 2.0 and runs on .NET Framework 4.6.2 to 4.8.1 as well as .NET 6 to 10.
Which package do I reference for ARM64?
EvoPdf.Next.Windows.Arm64 or EvoPdf.Next.Linux.Arm64 for all components, or the EvoPdf.Next.HtmlToPdf.*.Arm64 packages for HTML to PDF only. The Windows and Linux packages without a suffix target x64; the macOS packages are Apple Silicon only.
Can I ship the library inside my product?
With the Company License, yes — you can distribute your applications to your customers, as long as the library is used as part of your application and not as a development tool. The Deployment License is for internal use on a single server.
Download the demo application
The same ASP.NET application that runs the online demo on this site, as a project with complete C# source code for every component, the NuGet references and build and publish instructions for Windows, Linux, macOS, Azure and Docker. The library itself comes from NuGet.