Rivoli PDF / .NET PDF library

The .NET PDF library that's actually just .NET

One managed NuGet package that builds, reads, and round-trips PDFs on .NET 8 and .NET 10. No Ghostscript, no Chromium, no platform-specific binaries: the same bytes on your laptop, your CI, and your Linux containers.

Install and generate

No system libraries, no headless browser, no per-platform setup. Rivoli.Pdf 0.1.0 targets .NET 8 and .NET 10.

Terminal
dotnet add package Rivoli.Pdf
Program.cs
using Rivoli.Pdf;
using Rivoli.Pdf.Builders;

var doc = Document.Create("Quarterly Report", "Acme Corp");
doc.AddSection()
    .H1("Quarterly Report")
    .AddParagraph("Revenue grew 18% over the prior quarter.")
    .AddTable(t => t
        .Header("Quarter", "Revenue")
        .Row("Q1", "$1.2M")
        .Row("Q2", "$1.5M"));
doc.SavePdf("report.pdf");

That's a complete program. The document model handles sections, headings, tables, lists, images, headers and footers, and cascading styles; the renderer adds encryption, signatures, and PDF/A.

The output

Real output from the runnable samples in the Rivoli PDF repository.

Report PDF generated by Rivoli PDF: bar chart of revenue versus expenses with a quarterly summary table
A page from the charts report sample: vector bar charts and styled tables drawn by the layout engine, no browser involved.

How we compare

Every serious .NET PDF library, side by side.

Capability Rivoli PDF IronPDF Aspose.PDF Syncfusion iText QuestPDF PDFsharp Apryse
Free for small companies Conditional AGPL only
Entry price (per developer) $299 $999 ~$1,679 ~$2,495/yr Quote ~$999/yr Free $150K+/yr
Royalty-free redistribution included Add-on Add-on Quote
Fully managed (no native deps)
Deterministic output
PDF/A-first
JSON document model + change tracking
Round-trip fidelity harness
Cross-language roadmap 5 planned Multi Multi Multi Java/.NET Multi

Competitor prices are researched approximations (June 2026); several vendors are now quote-gated, so some figures are historical or third-party. Rivoli PDF is pre-1.0: document creation is feature-complete, while full parsing of arbitrary PDFs and rasterized rendering are partial and on the near-term roadmap.

Pricing

Free for individuals and for organisations under US$1M in annual gross revenue. One perpetual per-developer license for everyone else.

Free
$0 forever

Full library, no watermark, no page limits. For individuals and organisations under US$1M in annual gross revenue.

Founder license
$299 per developer · perpetual

Buy once, use forever. Royalty-free redistribution included, and the early-access rate locks in for life.

Full details on the product page and in the license terms.

Adopting Rivoli PDF

Coming from any .NET PDF library, the mental shift is the same: describe structure, stop placing coordinates.

  1. 01 Add the package: dotnet add package Rivoli.Pdf (the document model ships in Rivoli.Pdf.Core, pulled in automatically).
  2. 02 Describe documents as a tree of sections, paragraphs, and tables instead of pages and coordinates; the layout engine places content for A4 or Letter without changes.
  3. 03 Move save-time concerns (encryption, PDF/A, tagging) to PdfSaveOptions on PdfDocumentRenderer.
  4. 04 Add a determinism check to CI: render twice, compare hashes. It catches template regressions for free.
  5. 05 Before migrating reading-heavy workflows (filling existing forms, rendering pages to images), check current support in the docs gallery: Rivoli PDF is pre-1.0 and strongest at authoring.

The full migration guide, with concept mappings and before/after code, lives in the documentation.

Start free. Pay only when you're big.

Install the package today. When your company crosses the US$1M line, the Founder rate locks in for life.