Rivoli PDF / Serverless PDF generation .NET

Serverless PDF generation without the workarounds

Serverless punishes native dependencies: package size limits, read-only file systems, and cold starts all fight the browser-and-Ghostscript approach. Rivoli PDF is managed IL that renders to a stream, which is exactly what a function wants to do.

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
Handler.cs
using Rivoli.Pdf;
using Rivoli.Pdf.Builders;

var doc = Document.Create("Receipt #8412", "Acme Cloud");
doc.AddSection()
    .H1("Receipt #8412")
    .AddParagraph("Paid in full. Thank you for your order.");

using var buffer = new MemoryStream();
new PdfDocumentRenderer().Render(doc, buffer);
return buffer.ToArray(); // hand to your HTTP response

No temp files required: build the document in memory, render to a stream, return the bytes. The deployment artifact is just your assemblies plus two managed packages.

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

How the shortlist behaves under serverless constraints.

Capability Rivoli PDF IronPDF QuestPDF Aspose.PDF
Free for small companies
Entry price (per developer) $299 $999 ~$999/yr ~$1,679
Royalty-free redistribution included Add-on Add-on
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

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.

Going serverless with your PDF workload

Most teams arrive here from a dedicated PDF service or a container that exists only because the old library needed one.

  1. 01 Replace file-path APIs with the stream overload: PdfDocumentRenderer.Render(document, stream).
  2. 02 Remove native binaries and layer tricks from your deployment package; Rivoli PDF needs neither.
  3. 03 Move shared templates into JSON document trees loaded at startup; render per-request with the data merged in.
  4. 04 Verify output determinism across regions and runs; identical bytes make downstream caching and signing predictable.
  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.