Repolode
QuestPDF

QuestPDF/QuestPDF

A C# library for generating PDF documents from strongly-typed, fluent code instead of HTML-to-PDF conversion.

Stars
14,209
Forks
772
Open issues
41
Last commit
12 hours ago

What is it?

QuestPDF lets .NET developers define PDF layouts directly in C# using a fluent, component-based API. Pages, headers, footers, tables, rows, columns, images, SVG and rich text are all composed in code, so layouts can use normal language features such as loops, conditionals and reusable functions.

Because the document is built from code rather than rendered from HTML and CSS, layout results are intended to match what the code describes. The library also supports RTL text, font fallback, PDF/A and PDF/UA output, and ZUGFeRD/Factur-X e-invoicing. A separate operations API can merge, split, encrypt and attach files to existing PDFs.

It targets .NET 6+ and .NET Framework 4.6.2+, runs on Windows, Linux and macOS, and is distributed as a NuGet package. A companion app provides live preview and hot reload during development.

Key features

  • 01Fluent C# API for layouts with tables, rows, columns and lists
  • 02Document operations to merge, split, encrypt and attach files to PDFs
  • 03PDF/A, PDF/UA and ZUGFeRD/Factur-X compliance output
  • 04RTL layout, bidirectional text and font fallback support
  • 05Companion app with live preview and hot reload

Use cases

  • Generating invoices and financial reports from .NET backend data
  • Producing archival or accessible PDFs that must meet PDF/A or PDF/UA requirements
  • Creating European e-invoices with embedded ZUGFeRD or Factur-X XML

Quick start

  1. 1

    Install the QuestPDF NuGet package

    dotnet add package QuestPDF
  2. 2

    Create a document in C# and generate a PDF from the Quick start example

Things to know

  • Free use is limited to individuals, non-profits, open-source projects, and organizations under $1M annual gross revenue; larger organizations need a commercial license.
  • The license is listed as NOASSERTION, so check the license terms before use.

Topics

FAQ

What is QuestPDF?
A C# library for generating PDF documents from strongly-typed, fluent code instead of HTML-to-PDF conversion. QuestPDF lets .NET developers define PDF layouts directly in C# using a fluent, component-based API. Pages, headers, footers, tables, rows, columns, images, SVG and rich text are all composed in code, so layouts can use normal language features such as loops, conditionals and reusable functions.
Is QuestPDF free to use? What license does it have?
QuestPDF is open source under the Other license. Check the license terms before using it in commercial products.
Is QuestPDF still maintained?
Actively maintained. The last commit to QuestPDF was on Oct 21, 2026.
What can I use QuestPDF for?
Generating invoices and financial reports from .NET backend data Producing archival or accessible PDFs that must meet PDF/A or PDF/UA requirements Creating European e-invoices with embedded ZUGFeRD or Factur-X XML
How do I install QuestPDF?
Install the QuestPDF NuGet package: dotnet add package QuestPDF Create a document in C# and generate a PDF from the Quick start example
Where can I get QuestPDF?
The source code and installation instructions are on GitHub: https://github.com/QuestPDF/QuestPDF

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects