Matios.Pdf 0.1.0

dotnet add package Matios.Pdf --version 0.1.0
                    
NuGet\Install-Package Matios.Pdf -Version 0.1.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Matios.Pdf" Version="0.1.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Matios.Pdf" Version="0.1.0" />
                    
Directory.Packages.props
<PackageReference Include="Matios.Pdf" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Matios.Pdf --version 0.1.0
                    
#r "nuget: Matios.Pdf, 0.1.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Matios.Pdf@0.1.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Matios.Pdf&version=0.1.0
                    
Install as a Cake Addin
#tool nuget:?package=Matios.Pdf&version=0.1.0
                    
Install as a Cake Tool

Matios.Pdf

Generate .pdf files (PDF / ISO 32000) from .NET with an own implementation and zero external dependencies — only System.*. Runs on .NET 10.

Features

  • Text — the 14 standard fonts, plus embedded TrueType fonts with full Unicode (Type0 / Identity-H + ToUnicode). Measurement and left/center/right alignment.
  • Vector graphics — lines, rectangles, polygons, circles/ellipses, Bézier curves, graphics state, DeviceRGB color.
  • Images — JPEG (/DCTDecode) and PNG, including transparency via a soft mask.
  • Compression — content streams are compressed with FlateDecode by default.
  • Metadata — title, author, subject, keywords and dates.
  • Layout engine — wrapping paragraphs, a flowing document with automatic pagination and repeating headers/footers, and tables whose cells wrap and whose rows paginate.

Coordinates are top-left based (Y grows down), like most drawing APIs.

Quick start

Low-level drawing:

using Matios.Pdf;

using var doc = new PdfDocument();
var g = doc.Pages.Add(PdfPageSize.A4).Graphics;

g.DrawString("Invoice", PdfFont.HelveticaBold, 24, 72, 80, PdfColor.FromRgb(20, 40, 120));
g.DrawLine(72, 100, 523, 100, PdfColor.Gray, 1.5);
g.DrawRectangle(72, 120, 200, 60, stroke: true, fill: true,
    strokeColor: PdfColor.Blue, fillColor: PdfColor.FromRgb(220, 230, 250));

doc.Save("invoice.pdf");

Embed a font for full Unicode:

var font = PdfFont.FromFile(@"C:\Windows\Fonts\arial.ttf");
g.DrawString("Canción — €50 — ñandú", font, 14, 72, 160);

High-level layout (flowing document with automatic pagination and a table):

using var doc = new PdfDocument();
var flow = new PdfFlow(doc, PdfPageSize.A4, margin: 56);

flow.Header(40, a => a.Graphics.DrawString("Report", PdfFont.HelveticaBold, 13, a.X, a.Y + 14));
flow.Footer(28, a => a.Graphics.DrawString(
    $"Page {a.PageNumber} of {a.TotalPages}", PdfFont.Helvetica, 9, a.X + a.Width, a.Y + 14, PdfTextAlign.Right));

flow.Paragraph("A long paragraph that wraps to the column width and paginates on its own…",
    PdfFont.Helvetica, 12, leading: 16, spacingAfter: 10);

flow.Table(t =>
{
    t.ProportionalColumns(6, 1, 2, 2);
    t.Align(PdfTextAlign.Left, PdfTextAlign.Right, PdfTextAlign.Right, PdfTextAlign.Right);
    t.HeaderRow("Description", "Qty", "Unit", "Total");
    t.Row("Matios.Pdf license", "1", "480.00", "480.00");
});

flow.Save("report.pdf");

License

MIT © Matios SpA — use it freely, in open-source or commercial projects.

Notes

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net10.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.0 0 7/10/2026