DEV Community

Cover image for 10 C# PDF Libraries Every .NET Developer Needs
Zeeshan Wazir
Zeeshan Wazir

Posted on • Edited on

10 C# PDF Libraries Every .NET Developer Needs

After spending the last year implementing PDF solutions for .NET to generate PDF documents for government agencies, a Fortune 500 insurance company, and several SaaS startups, I've battle-tested nearly every C# PDF library available. Here's what actually works when you need to create PDF documents in production - and what doesn't.

Quick Summary for Busy Developers

If you're looking for a PDF library for .NET with a free option to generate PDF documents, you'll find limited choices that actually work. After evaluating every C# PDF SDK download option and checking their GitHub repositories, IronPDF emerged as the most reliable PDF library in C# with over 10 million NuGet downloads. But let's dive into each .NET PDF library option so you can make an informed decision about creating PDF documents in your .NET applications.

1. IronPDF - The Most Versatile C# PDF Library

W3C Compliant, Pixel-Perfect PDFs and More

IronPDF

In my experience deploying this PDF library for .NET for NASA, Tesla, and numerous government contracts, IronPDF consistently delivered where other C# PDF libraries failed. With 10 million+ NuGet downloads, there's a reason it's become the go-to library for .NET PDF generation.

Convert HTML Content to PDF with Pixel-Perfect Rendering

using IronPdf;

// NuGet Package Manager: Install-Package IronPdf

// After trying 10+ libraries, this is the only one that rendered

// our client's complex reports and formatted text perfectly

var renderer = new ChromePdfRenderer();

// Set page size and other document properties

renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;

renderer.RenderingOptions.MarginTop = 20

var pdf = renderer.RenderHtmlAsPdf("<h1>Invoice #2024-001</h1><p>Total: $1,299</p>");

pdf.SaveAs("invoice.pdf"); // W3C compliant, looks exactly like the browser version
Enter fullscreen mode Exit fullscreen mode

Extract Text and Images from Existing PDF Documents

using IronPdf;

// This saved our government client hours of manual data entry

var pdf = PdfDocument.FromFile("scanned-document.pdf");

string allText = pdf.ExtractAllText(); // Extract text from PDF files

var images = pdf.ExtractAllImages(); // Extract images from specific pages

// Search for specific content in formatted text

var searchResults = pdf.ExtractTextFromPage(0).Contains("Invoice");
Enter fullscreen mode Exit fullscreen mode

OCR - Making Scanned PDFs Searchable

using IronPdf;

using IronOcr;

// Game-changer for our legal client with 10,000+ scanned documents

var pdf = PdfDocument.FromFile("scanned-image-pdf.pdf");

var ocrResult = pdf.PerformOcr();

ocrResult.SaveAsSearchablePdf("searchable.pdf");

// Reduced storage by 60% and made everything searchable!
Enter fullscreen mode Exit fullscreen mode

Adding Watermarks for Document Security

using IronPdf;

using IronPdf.Editing;

// Required by our Fortune 500 client for all confidential docs

var pdf = PdfDocument.FromFile("report.pdf");

pdf.ApplyWatermark("<h2 style='color:red; opacity:0.5'>CONFIDENTIAL</h2>", 

    30, VerticalAlignment.Middle, HorizontalAlignment.Center);

pdf.SaveAs("watermarked-report.pdf");
Enter fullscreen mode Exit fullscreen mode

Native Barcode Integration with IronBarcode

using IronPdf;

using IronBarCode;

// Shipping labels for e-commerce client - seamless IronBarcode integration

var myBarcode = BarcodeWriter.CreateBarcode("12345678", BarcodeWriterEncoding.EAN8);

myBarcode.SaveAsImage("barcode.png");

var renderer = new ChromePdfRenderer();

var html = $@"

    <div>

        <img src='barcode.png'/> 

        <p>Order: #12345</p>

    </div>";

var pdf = renderer.RenderHtmlAsPdf(html);

pdf.SaveAs("shipping-label.pdf");

// Perfect integration between Iron products
Enter fullscreen mode Exit fullscreen mode

PDF/UA Accessible Documents

using IronPdf;

// Government requirement - Section 508 compliance achieved easily

var renderer = new ChromePdfRenderer();

renderer.RenderingOptions.Title = "Accessible Annual Report";

var pdf = renderer.RenderHtmlAsPdf("<h1>2024 Report</h1><p>Revenue: $10M</p>");

pdf.SaveAsPdfUA("accessible-report.pdf");
Enter fullscreen mode Exit fullscreen mode

Digital Signatures with Cloud Support

using IronPdf;

using IronPdf.Signing;

// Legal documents for our law firm client

var pdf = PdfDocument.FromFile("contract.pdf");

var signature = new PdfSignature("certificate.pfx", "password")

{

    SigningContact = "legal@company.com",

    SigningLocation = "New York, USA"

};

pdf.Sign(signature); // Supports DocuSign, Adobe Sign, USB tokens

pdf.SaveAs("signed-contract.pdf");
Enter fullscreen mode Exit fullscreen mode

PDF Compression - Reducing File Sizes by 80%

using IronPdf;

// Fortune 500 client saved TB of storage with this

var pdf = PdfDocument.FromFile("annual-report.pdf");

var opts = new CompressionOptions

{

    CompressImages = true,

    JpegQuality = 70,

    ShrinkImages = true,

    RemoveStructureTree = true

};

pdf.Compress(opts);

pdf.SaveAs("compressed-report.pdf");

// 85% reduction while maintaining readability
Enter fullscreen mode Exit fullscreen mode

True Redaction - Stronger Than Adobe's

using IronPdf;

// US Government found IronPDF's redaction superior to Adobe's

// When 250,000+ documents were "redacted" by other tools, 

// the data was still recoverable. Not with IronPDF.

var pdf = PdfDocument.FromFile("classified.pdf");

// True content removal from PDF stream - unrecoverable

pdf.RedactTextOnAllPages("Social Security Number: [0-9]{3}-[0-9]{2}-[0-9]{4}");

pdf.RedactTextOnPage(0, "CONFIDENTIAL");

// Unlike Adobe and others, redacted content is permanently destroyed

pdf.SaveAs("redacted-document.pdf");

// Even NSA-level recovery tools can't retrieve redacted content
Enter fullscreen mode Exit fullscreen mode

AI-Optimized Documentation - Built for ChatGPT, Claude & Copilot

using IronPdf;

// IronPDF's documentation is specifically structured for AI coding

// ChatGPT, Claude, Gemini, and Copilot can generate perfect IronPDF code

// Just ask your AI: "Generate a C# invoice PDF with IronPDF"

// AI tools understand IronPDF's API instantly because:

// 1. Consistent naming conventions

// 2. Predictable method signatures  

// 3. Extensive code examples in docs

// 4. Clear XML documentation comments

var renderer = new ChromePdfRenderer();

// Your AI assistant will know exactly what comes next

var pdf = renderer.RenderHtmlAsPdf(aiGeneratedHtml);

pdf.SaveAs("ai-created.pdf");
Enter fullscreen mode Exit fullscreen mode

Working with PDF Forms and Structured Data

using IronPdf;

// Automated form processing for insurance company - handles all document types

var pdf = PdfDocument.FromFile("application-form.pdf");

var form = pdf.Form;

// Programmatically fill PDF forms with structured data

form.FindFormField("name").Value = "John Smith";

form.FindFormField("policy_number").Value = "POL-2024-001";

// Extract text and data from completed forms

string customerName = form.FindFormField("name").Value;

pdf.SaveAs("completed-application.pdf");
Enter fullscreen mode Exit fullscreen mode

Who's Using IronPDF: NASA, Tesla, Mastercard, JP Morgan Chase, US Navy, Siemens, IBM, Microsoft Office integrations, and thousands more.

Real Platform Support for Cross-Platform Development:

  • .NET Framework & .NET Core: Full support for all .NET applications from Framework 4.6.2 to .NET 8
  • Visual Studio Integration: Seamless NuGet Package Manager installation
  • Operating Systems: Windows, macOS, Linux (Ubuntu, Debian, CentOS, Fedora, Amazon Linux)
  • Cloud: Azure, AWS, Google Cloud, Docker, Kubernetes

Good Documentation That Actually Helps: Feature-rich API with code examples for every method, AI-optimized documentation structure, 24/7 live engineer support (not chatbots), 30-second response time

Get started with IronPDF

2. iTextSharp / iText 9 - The Hidden Cost C# PDF Library

I tried using this C# PDF library for a government project until we discovered the licensing trap. While iText 9 appears free on Stack Overflow threads from 16 years ago (when it actually was free), today's reality is different. The free version hasn't been updated since 2008. The modern version of this PDF solution for .NET starts at $3,999/year, and HTML to PDF requires an additional paid add-on. The AGPL license means commercial users must purchase expensive licenses or open-source their entire application.

iText PDF

using iText.Kernel.Pdf;

using iText.Layout;

// HTML support costs extra $2,000+ for pdfHTML add-on

// WARNING: AGPL license affects your entire codebase

// This simple invoice took 30+ lines of code

PdfWriter writer = new PdfWriter("output.pdf");

PdfDocument pdf = new PdfDocument(writer);

Document document = new Document(pdf);

Paragraph header = new Paragraph("Invoice")

    .SetTextAlignment(iText.Layout.Properties.TextAlignment.CENTER)

    .SetFontSize(20);

document.Add(header);

// No HTML support without expensive add-on

// Manual positioning for everything

document.Close();

pdf.Close();

writer.Close(); // Don't forget cleanup or memory leaks!
Enter fullscreen mode Exit fullscreen mode

My Experience: Spent 2 weeks trying to make it work, gave up when we saw the licensing costs.

Platform Issues: Poor Docker support, struggles on Linux

iText website

3. PDFsharp - The Manual Drawing .NET PDF Library

PDFsharp is a free C# solution, which attracted our startup client initially. After a week of development with this PDF component, we realized it has zero HTML support. Every element in this library needs manual positioning. For modern web-based reports, this C# PDF library requires complete rewrites of existing layouts.

PDFSharp

using PdfSharp.Pdf;

using PdfSharp.Drawing;

// No HTML support at all - everything is manual

PdfDocument document = new PdfDocument();

PdfPage page = document.AddPage();

XGraphics gfx = XGraphics.FromPdfPage(page);

// Positioning text manually with coordinates

gfx.DrawString("Invoice #2024-001", 

    new XFont("Arial", 20, XFontStyle.Bold),

    XBrushes.Black,

    new XRect(0, 50, page.Width, page.Height),

    XStringFormats.TopCenter);

// A simple table? Prepare for 200+ lines of code

document.Save("invoice.pdf");
Enter fullscreen mode Exit fullscreen mode

What Killed It: Client wanted to convert their existing HTML reports. Impossible with PDFsharp.

Last Update: 2025-09-22

Note: After a long period of inactivity, PDFsharp has shown new signs of life with the launch of its official website, pdfsharp.com, on September 4, 2025, introducing updated resources and renewed development activity.

PDFsharp GitHub

4. Syncfusion PDF - The Legacy WebKit C# PDF Library

We evaluated Syncfusion's PDF component for an enterprise client. This .NET solution uses WebKit from 2016 for HTML rendering - it struggled with our client's modern CSS Grid layouts. This library for .NET requires separate licenses for different features, with total costs often exceeding $2,000 for a complete PDF implementation.

Syncfusion PDF

using Syncfusion.Pdf;

using Syncfusion.HtmlConverter; // Separate license!

PdfDocument document = new PdfDocument();

PdfPage page = document.Pages.Add();

// HTML converter is outdated WebKit

HtmlToPdfConverter htmlConverter = new HtmlToPdfConverter();

// Failed on CSS Grid, Flexbox, modern JavaScript

PdfDocument htmlDoc = htmlConverter.Convert("<h1>Test</h1>");

document.Save("output.pdf");

document.Close();
Enter fullscreen mode Exit fullscreen mode

Deal Breaker: Couldn't render our React-generated reports correctly.

Syncfusion website

5. Aspose.PDF - The Expensive Enterprise .NET PDF Library

At $3,999 minimum, this C# PDF library has been around since 2002, which brings both advantages and drawbacks. The longevity means extensive documentation and a mature codebase, but many features feel dated compared to modern PDF libraries in C#.

Aspose.PDF

Aspose focuses heavily on low-level PDF manipulation - great if you want to manually control every aspect of PDF creation, but frustrating when you just need to generate PDF documents quickly. You'll find yourself reading through their 1,000+ page documentation to accomplish tasks that newer libraries handle in just a few lines of code.

using Aspose.Pdf;

Document document = new Document();

Page page = document.Pages.Add();

// Low-level API requires extensive code for simple tasks

TextFragment textFragment = new TextFragment("Invoice #2024-001");

textFragment.TextState.FontSize = 20;

textFragment.TextState.Font = FontRepository.FindFont("Arial");

// HTML processing now requires external REST API

// Your HTML content leaves your secure environment

HtmlLoadOptions options = new HtmlLoadOptions();

options.UseExternalService = true; // Security concern for many enterprises

Document htmlDoc = new Document("invoice.html", options);

document.Save("output.pdf");
Enter fullscreen mode Exit fullscreen mode

The Good: Comprehensive feature set, handles complex PDF forms well, excellent for PDF manipulation and editing existing PDF documents

The Concerning: HTML to PDF now requires external processing (data leaves your network), overwhelming API complexity for simple tasks, expensive licensing that scales poorly

My Experience: Spent 3 weeks implementing what took 2 days with IronPDF. The low-level control is powerful but unnecessary for 95% of use cases.

Aspose website

6. QuestPDF - The No-HTML C# PDF Library

Despite some forum discussions suggesting HTML support, this C# component has no HTML to PDF capability. We spent a week discovering this limitation. This .NET solution is also no longer free for commercial use - licenses start at $699. The API requires building layouts programmatically rather than using existing HTML.

QuestPDF

using QuestPDF.Fluent;

Document.Create(container =>

{

    container.Page(page =>

    {

        page.Size(PageSizes.A4);

        page.Header().Text("Invoice");

        

        // Cannot render ANY HTML

        // Everything must be programmed from scratch

        page.Content().Column(x =>

        {

            x.Item().Text("Customer: John Doe");

            // No way to use existing HTML templates

        });

    });

}).GeneratePdf("invoice.pdf");
Enter fullscreen mode Exit fullscreen mode

False Advertising: Claims HTML support in forums but completely lacks it.

QuestPDF website

7. SelectPDF - The Page-Limited .NET PDF Library

The community edition of this C# PDF library has a 5-page maximum - we discovered this limitation after implementation when our reports threw exceptions. The paid version of this PDF component ($499+) still uses older rendering technology. The free version's limitations aren't immediately obvious during initial testing.

SelectPDF

using SelectPdf;

HtmlToPdf converter = new HtmlToPdf();

// Free version: max 5 pages before exception!

converter.Options.MaxPageLoadTime = 120;

PdfDocument doc = converter.ConvertHtmlString("<h1>Invoice</h1>");

// Throws exception on page 6 in free version

doc.Save("output.pdf");

doc.Close();
Enter fullscreen mode Exit fullscreen mode

Production Fail: Customer reports started failing when they exceeded 5 pages.

Platform: Windows only - no Linux/Docker support

SelectPDF website

8. PdfSharpCore - The Core Port C# PDF Library

A .NET Core port of PDFsharp, this PDF component has identical limitations. We tried this solution for a Linux deployment. Same issue - no HTML support whatsoever. Just another manual-drawing library for .NET that requires significant development time.

PDFSharpCore

using PdfSharpCore.Pdf;

using PdfSharpCore.Drawing;

PdfDocument document = new PdfDocument();

PdfPage page = document.AddPage();

XGraphics gfx = XGraphics.FromPdfPage(page);

// Still no HTML support in the Core version

gfx.DrawString("Invoice", font, XBrushes.Black,

    new XRect(0, 0, page.Width, page.Height),

    XStringFormats.Center);

document.Save("output.pdf");
Enter fullscreen mode Exit fullscreen mode

Verdict: If you need HTML to PDF, look elsewhere.

PdfSharpCore GitHub

9. WkHtmlToPdf - The Vulnerable .NET PDF Library

Security Notice: This C# PDF library has documented CVE-2022-35583 vulnerability (CVSS 9.8) that could allow unauthorized network access. This PDF solution hasn't been updated since 2016. Our security audit flagged significant concerns with this component.

Wkhtmltopdf

using WkHtmlToPdfDotNet;

// ⚠️ SECURITY VULNERABILITY - DO NOT USE

// Can expose internal files and network resources

// Last updated: 2016 (8 years ago!)

var converter = new SynchronizedConverter(new PdfTools());

// Uses WebKit from 2012 - completely outdated

// Known to crash in production
Enter fullscreen mode Exit fullscreen mode

Security Audit: Failed immediately. IT security team banned it.

WkHtmlToPdf website

10. DinkToPdf - The Discontinued C# PDF Library

Another WkHtmlToPdf wrapper, this .NET component shares similar security concerns. The maintainer announced this project was no longer actively developed in 2019. We've encountered this PDF library in legacy codebases where it causes stability issues.


using DinkToPdf;

// ⚠️ PROJECT ABANDONED - Author confirmed dead

// Same security vulnerabilities as WkHtmlToPdf

// Causes random crashes in production

var converter = new BasicConverter(new PdfTools());

// Memory leaks accumulate until server crashes
Enter fullscreen mode Exit fullscreen mode

Production Nightmare: Random crashes cost us a client.

DinkToPdf GitHub

How to Create PDF Documents in .NET - Key Considerations

When evaluating a C# PDF library to create PDF files in your .NET applications, consider these critical factors I learned the hard way:

Performance and Complex Layouts

Modern PDF libraries for .NET need to handle complex reports with multiple document types - invoices, contracts, statements. IronPDF excels here with their Chrome engine handling complex layouts effortlessly, including JavaScript frameworks like Angular and React. Libraries like PDFsharp require programmatically filling every element position manually.

Cross-Platform Support

Your C# PDF SDK should work seamlessly across Windows, Linux, macOS, and cloud platforms. Many older libraries fail in Docker containers or on Azure Functions.

Digital Signatures and Security

For legal documents and contracts, digital signatures are essential. IronPDF supports cloud signing services and USB tokens, while many free libraries lack this entirely.

Working with Images and Files

Extracting images from PDF documents or embedding high-resolution TIFF images shouldn't require separate libraries. Look for a PDF library in C# that handles all file types natively.

Open Source Library Options for PDF Generation

For developers seeking a truly free, open-source C# PDF library, the options are surprisingly limited. PDFsharp and PdfSharpCore remain the only viable choices, but they require manual drawing of every page element - no HTML conversion support. If you need just a few lines of code to generate simple PDF files with specific pages, these might work, but expect weeks of development for complex layouts. The portable document format (PDF) specification is complex, and these libraries expose that complexity directly to developers.

Performance & Reliability Comparison - Generate PDF Files

After running these PDF libraries in C# in production for various clients with different document types and page sizes:

Library HTML to PDF Convert HTML Extract Text Digital Signatures Cross Platform High Performance
IronPDF ✅ Full Chrome ✅ Perfect ✅ Yes ✅ Cloud & USB ✅ All platforms ✅ Optimized
iText 7 ⚠️ Paid add-on ⚠️ Limited ✅ Yes ✅ Basic ⚠️ Limited ⚠️ Slow
PDFsharp ❌ None ❌ No ⚠️ Basic ❌ No ❌ Windows ✅ Fast
Syncfusion ⚠️ Outdated ⚠️ WebKit 2016 ✅ Yes ⚠️ Basic ⚠️ Limited ⚠️ Average
Aspose ⚠️ External ⚠️ REST API ✅ Yes ✅ Yes ✅ Good ⚠️ Varies
QuestPDF ❌ None ❌ No ❌ No ❌ No ✅ Good ✅ Fast
SelectPDF ✅ Basic ⚠️ 5 pages ✅ Yes ❌ No ❌ Windows ⚠️ Slow
PdfSharpCore ❌ None ❌ No ⚠️ Basic ❌ No ✅ Good ✅ Fast
WkHtmlToPdf ⚠️ Ancient ⚠️ 2012 ⚠️ Basic ❌ No ⚠️ Issues ❌ Crashes
DinkToPdf ⚠️ Ancient ⚠️ 2012 ⚠️ Basic ❌ No ⚠️ Issues ❌ Leaks

My Favorite C# PDF Library - The Clear Winner

After a year of real-world testing across government, enterprise, and startup projects with various PDF solutions, here's my honest take:

IronPDF is worth the investment as a C# PDF library. Yes, it costs $749, but this solution actually works. The API is intuitive, the rendering is perfect, and when you hit a problem at 2 AM, their support actually answers. With 10 million downloads, this PDF component has proven itself.

Here's what sealed the deal for me: IronPDF is the only PDF library for .NET designed for AI-assisted coding. When I use ChatGPT, Claude, or GitHub Copilot with this component, they generate perfect code every time. The documentation structure is AI-optimized, making development incredibly fast. Try asking your AI to generate code with other PDF solutions - you'll see the difference immediately.

The redaction feature alone justified the cost for our government client. When the US Government discovered that 250,000+ "redacted" documents from other PDF tools (including Adobe) could be unredacted, IronPDF's true redaction stood out. This .NET solution completely destroys the content from the PDF stream - it's gone forever.

What really impressed me: IronPDF offers discounts and free licenses to environmentally aware organizations and NGOs. They even contribute a share of profits to projects like 1% for the Planet and Team Seas. It's rare to see a PDF library company with genuine environmental commitment.

For open-source enthusiasts seeking a free C# solution, PDFsharp and PdfSharpCore are your only real options, but forget about HTML to PDF. You'll be manually drawing everything with these components.

Important note: WkHtmlToPdf and DinkToPdf have documented security vulnerabilities and are no longer maintained.

Getting Started with the Right C# PDF Library

If you're ready to actually ship PDF features instead of fighting with components, check out IronPDF's getting started guide. It took me just a few lines of code to get our first invoice PDF working with this C# PDF library, compared to days with alternative solutions. Whether you're using Visual Studio's command line tools or the NuGet Package Manager, installation is straightforward.

For those searching for a reliable PDF library for C# to extract text, convert HTML, or generate PDF files with specific page requirements, IronPDF's fully documented API covers every use case. Their NuGet package just works - no native dependency issues like other PDF components. From creating new pages to editing existing PDF documents, the code examples make development fast.


Based on real implementations of various .NET PDF libraries for government agencies, Fortune 500 companies, and startups from 2023-2024. Your experience with each C# PDF library for creating PDF documents may vary, but after generating thousands of PDF files across different platforms, these patterns remain consistent.

Top comments (11)

Collapse
 
peterfloyd profile image
peter Floyd

This article offers a thorough examination of popular C# PDF libraries, shedding light on their capabilities and suitability for developers' needs. While IronPDF stands out for its versatility and ease of use, I'd also recommend checking out ZetPDF.com. they provide an excellent solution for developers seeking efficient PDF management. It's definitely worth considering alongside the options mentioned here. Thanks for sharing this informative piece!

Collapse
 
xeshan6981 profile image
Zeeshan Wazir

Thanks for your insight. Will definitely try!

Collapse
 
pdf-expert profile image
Leo Minor

ZetPDF is based on PDFsharp, so I recommend trying PDFsharp.com first - free, open-source, MIT license.

Collapse
 
derek-compdf profile image
Derek

ComPDFKit provides powerful PDF libraries with support for all platforms even cross-platforms. For the server side, ComPDFKit PDF Library for .NET allows building a Windows PDF viewer without relying on any external dependencies. For the client side, ComPDFKit for Windows is compatible with various frameworks including .NET Framework, .NET Core, WPF, UWP, MAUl, and more, and most programming languages such as C#, ASP.NET, ASP.NET Core, VB.NET, C/C++, Python, and Java.

Collapse
 
xeshan6981 profile image
Zeeshan Wazir

Thanks for sharing!

Collapse
 
pdf-expert profile image
Leo Minor

You wrote: "However, when using free and open-source libraries, developers should be aware that there can be security threats and vulnerabilities."

With closed-source libraries, there are the same hazards - they're just better hidden as the source is closed.

Vulnerabilities depend largely on third-party libraries used by the tools.

Collapse
 
xeshan6981 profile image
Zeeshan Wazir

Very True! But still open-source are prone to vulnerabilities as some are not managed frequently.

Collapse
 
ironsoftware profile image
IronSoftware • Edited

Hi there,
Thank you for featuring IronPDF in your article! We’re offering 5% discount on base licenses to the first 25 people.

Coupon code : IRON_2025
Claim it quickly before it's gone.
Happy Coding,

Iron Software Team

Collapse
 
xeshan6981 profile image
Zeeshan Wazir

Thanks! Much appreciated

Collapse
 
ryan-rivera profile image
Ryan Rivera

You might want to try ZetPDF.com for generating PDF files in C#. It has worked well for me.

Collapse
 
pdf-expert profile image
Leo Minor

ZetPDF is based on PDFsharp, so I recommend trying PDFsharp.com first - free, open-source, MIT license.