part of Majorsilence Reporting
PDF for .NET.
Tiny by design.
A modern, self-contained PDF library for .NET 8 & 10. Zero dependencies, no native binaries — one small managed package. Tri-licensed MIT, Apache-2.0, or BSD-3-Clause. Your choice.
$ dotnet add package Majorsilence.Pdf
Program.csin
using Majorsilence.Pdf; var heading = TextStyle.Default .WithFamily("Helvetica").WithSize(22).WithBold(); var body = TextStyle.Default.WithSize(11); PdfDocument.Create() .WithTitle("Sales Summary — Q2 2026") .AddPage(PageSizes.Letter, canvas => { canvas.DrawText("Sales Summary — Q2 2026", 72, 72, heading); canvas.DrawLine(72, 92, 540, 92); canvas.DrawText("North America 12,408 $1.24M", 72, 120, body); }) .Save("report.pdf");
→
report.pdfout
Sales Summary — Q2 2026
RegionUnitsRevenue
North America12,408$1.24M
Europe9,112$0.97M
Asia-Pacific7,654$0.81M
Total29,174$3.02M
01
Zero dependencies
One package. No native libraries to ship, no transitive NuGet tree to audit.
02
Self-contained
Pure managed code, trim- and AOT-friendly. Runs the same everywhere the runtime does.
03
Modern API
A small fluent surface — pages, text, tables, images. Async-friendly, nullable-clean.
0
Runtime dependencies
~75KB
Package size
NETSTANDARD 2.0, .NET 8, & 10
Cross-platform
MIT
Open source