QuestPDF is a C# PDF generation library and layout engine used to create structured documents, reports, and invoices. It utilizes a fluent API and a component-based layout approach to convert code into high-fidelity PDF and XPS files.
The library distinguishes itself with a dedicated layout debugger that provides real-time previews, hot-reload capabilities, and visual boundary tools to map rendered elements back to source code. It also functions as an accessibility tool, providing semantic tagging and navigational aids to ensure documents comply with international accessibility and archival standards.
Broad capabilities include comprehensive content and layout primitives for tables, vector graphics, and rich text, as well as document manipulation utilities for merging files, extracting pages, and managing encryption. The system also supports electronic invoice generation by combining human-readable layouts with machine-readable XML data.
The library provides a type-safe API for producing files within web service endpoints.