ZingPDF logo

PDF library for .NET 8 and later

Read, create, and edit PDFs in .NET.

Generate reports, fill forms, and extract text.

Free to try. Free for non-commercial use.

Paid plans add commercial use, support, and upgrades.

dotnet add package ZingPDF Run a complete example →
Paid support and upgrades

Email support and new releases while subscribed. Compare plans →

Performance

Measured PDF performance

First-page access 73.901 µs
ZingPDF
PDFsharp
PdfPig
Append 10 pages and save 1.798 ms
ZingPDF
PDFsharp
iText
Detailed comparison Compare benchmark results

See the benchmark methodology and the full multi-library comparison.

View performance page

Capabilities

Create new PDFs. Edit existing ones.

View the support matrix and current limits →

Open and edit PDFs

Merge, split, insert, delete, and rotate pages. Update metadata, add watermarks, and save to streams or files.

Create and draw

Author documents with Pdf.New(). Add text, shapes, images, fonts, and layout boxes.

HTML and templates

Convert HTML with Chromium, or populate Liquid HTML templates from .NET models before PDF conversion.

Fill forms and sign

Create, fill, and flatten AcroForm fields. Sign PDFs and validate existing signatures.

Extract text and OCR

Read embedded text from PDFs. Add ZingPDF.OCR for scanned and image-based pages.

Encrypt, redact, and save

Apply password protection and redact supported content. Save incrementally or rewrite without earlier revisions.

Runnable examples

Run the code. Inspect the PDFs.

Download a complete .NET project, unzip it, and run it locally. Both projects use the published ZingPDF 1.0.59 package.

Create, edit, and extract text

Create a PDF, add an approval note and a second page, then reopen the result and check its text.

Download runnable project (.zip) ↓
Run and verify

These projects target .NET 8. Install the .NET 8 SDK, or a newer SDK with the .NET 8 runtime, then unzip and run in the project folder. The first restore needs internet access. Run the examples on .NET 9 or 10.

dotnet run --project FirstPdf.csproj

The program requires two pages and the original heading, approval note, and checklist heading in extracted text. A failed check exits with an exception.

Read the extracted text. This uses a generated PDF with embedded text; test your own documents before deployment.

Generate a two-page report

Build a report with metric cards, milestones, a risk register, and an executive summary using the fluent C# API.

Generated report with delivery metrics and milestones.Open the two-page report ↗ Download runnable project (.zip) ↓
Run and verify

These projects target .NET 8. Install the .NET 8 SDK, or a newer SDK with the .NET 8 runtime, then unzip and run in the project folder. The first restore needs internet access. Run the examples on .NET 9 or 10.

dotnet run --project ProjectReport.csproj

Open output/project-status-report.pdf. The published example was checked with an independent PDF reader for two pages and both page headings, and both rendered pages were visually reviewed.

The report uses fictional data, standard PDF fonts, and a fixed layout. Test variable-length content in your own layout before deployment.

Verified on Windows using the published package. Read the verification results →

Questions about compatibility with your PDFs? Email us about your workflow →

Platform support

.NET 8 and later.
Windows, Linux, and macOS.

The packages target net8.0, with .NET 8 as the minimum. Runtime validation covers .NET 8, 9, and 10 on Windows. Runtime compatibility and native dependencies →

Licensing

Free to try.
Paid for commercial use.

Choose developer seats for your team. Every paid plan includes email support and version upgrades while subscribed. Keep using versions released during your paid term indefinitely, within your purchased scope, even after cancellation. Renew for newer releases and support.

Plans not loading? Email us for pricing and purchase help.

What happens after I subscribe?

Keep using the same NuGet packages. No activation key or separate commercial build is required. Your paid subscription covers commercial use within the seats and scope you purchase; keep your payment confirmation for your records.

Install updates from NuGet while subscribed. For technical support, billing questions, or cancellation, email tom@zingpdf.dev with your subscription email address. Cancellation stops future renewals; your paid term continues through the end of the billing cycle.

All paid plans include

  • Commercial use
  • Core, Templates, Liquid HTML templates, GoogleFonts, OCR, and FromHTML packages
  • Indefinite use of versions released during your paid term, within the purchased scope
  • New versions and email support while subscribed
  • Free evaluation before you subscribe

Seat-based licensing

  • Evaluation and non-commercial use are free
  • A seat covers one developer using ZingPDF commercially
  • Choose the plan that matches how many developers use the library
  • Custom terms and invoicing are available on request

Need procurement, invoicing, or more seats? .

FAQ

Common technical and licensing questions.

Can I evaluate ZingPDF before paying?

Yes. Evaluation and other non-commercial use are allowed without a fixed trial period. You only need a paid subscription when commercial use begins.

What happens when my subscription ends?

You can keep using, building, and distributing your application with unmodified ZingPDF versions released during your paid term, within your purchased license scope. Renew to receive newer versions and support.

What does the commercial license actually cover?

A paid subscription with sufficient seats allows commercial use of ZingPDF, including bundling the unmodified binaries inside your own application. You can keep using versions released during your paid term after cancelling, within the seats and scope you purchased.

Can I ship ZingPDF inside my own product?

Yes, with paid coverage for the required developer seats. Bundle the unmodified binaries with your application and retain the supplied licensing assets, terms, copyright notices, and attribution, including LICENSE.txt. Preserve applicable third-party notices too.

The ZingPDF terms do not require adding a ZingPDF logo to your application or generated PDFs. Retaining the supplied notices is a separate requirement. See the EULA for the full scope.

How do you handle malformed PDFs?

ZingPDF tolerates malformed content in some parsing paths and recovers from some broken startxref cases when a usable xref table is still present. It is not a full PDF repair engine.

What is the memory model?

ZingPDF keeps the input stream open, parses lazily, and caches objects as they are touched. It does not build a full in-memory document graph up front.

Is it thread-safe?

Treat each Pdf instance as not thread-safe. Use one document instance per workflow or request, and use separate instances for parallel work.

Commercial licensing

Need procurement or invoicing?

Email sales