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
Generated 2026-06-18 · page 1 of 4
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