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" />
<PackageReference Include="Matios.Pdf" />
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
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#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
#tool nuget:?package=Matios.Pdf&version=0.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
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
PDFis an open ISO 32000 standard, implemented directly by this package — with no third-party libraries.- Source and examples: https://github.com/MatiosSpa/matios-pdf
| Product | Versions 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 |