VellumPdf.Kernel 2.0.0

dotnet add package VellumPdf.Kernel --version 2.0.0
                    
NuGet\Install-Package VellumPdf.Kernel -Version 2.0.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="VellumPdf.Kernel" Version="2.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="VellumPdf.Kernel" Version="2.0.0" />
                    
Directory.Packages.props
<PackageReference Include="VellumPdf.Kernel" />
                    
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 VellumPdf.Kernel --version 2.0.0
                    
#r "nuget: VellumPdf.Kernel, 2.0.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 VellumPdf.Kernel@2.0.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=VellumPdf.Kernel&version=2.0.0
                    
Install as a Cake Addin
#tool nuget:?package=VellumPdf.Kernel&version=2.0.0
                    
Install as a Cake Tool

VellumPdf.Kernel

NuGet CI

The low-level PDF generation kernel of VellumPdf, a dependency-free PDF library for .NET 10 implemented clean-room from ISO 32000. This is the object model and content-stream writer everything else builds on. It has zero runtime dependencies and is AOT- and trim-ready.

  • A PdfCanvas for precise drawing: text, paths, images, colour, and graphics state.
  • Fonts: the built-in Standard-14 faces plus TrueType and OpenType-CFF embedding and subsetting, with ToUnicode maps so text stays searchable and copy-paste-able.
  • Images: JPEG, PNG, BMP, GIF, TIFF, JBIG2, and JPEG 2000.
  • AES-256 encryption, object and cross-reference streams, AcroForm fields, a tagged-PDF structure tree, PDF/A-2 metadata, DeviceCMYK and ICC colour with output intents, and opt-in linearization.

Install

dotnet add package VellumPdf.Kernel

Usage

using VellumPdf.Canvas;    // PdfCanvas
using VellumPdf.Document;  // PdfDocument, PageSize
using VellumPdf.Fonts;     // Standard14

using var doc = new PdfDocument();
var page = doc.AddPage(PageSize.A4);
var font = doc.UseFont(Standard14.Helvetica);
var canvas = new PdfCanvas(page);

canvas
    .BeginText()
    .SetFont(font, 12)
    .SetTextMatrix(1, 0, 0, 1, 72, 720)
    .ShowText("Hello from the Kernel API!")
    .EndText();

canvas.Finish();

using var stream = File.OpenWrite("kernel-hello.pdf");
doc.Save(stream);

For most documents the high-level VellumPdf.Layout builder is easier; reach for the Kernel when you need direct control of the content stream.

Documentation

Kernel walkthrough: https://github.com/Tim81/VellumPDF/blob/main/docs/kernel-guide.md

The VellumPdf family

Package Status Summary
VellumPdf.Kernel (this package) Stable Low-level PDF object model, canvas, fonts, images, encryption.
VellumPdf.Fonts.Standard14 Stable Embeddable standard-14 font substitutes for PDF/A text.
VellumPdf.Layout Stable High-level document builder: paragraphs, tables, images, pagination.
VellumPdf.Signing Stable PAdES / PKCS#7 digital signatures with timestamps and LTV.
VellumPdf.Reader Preview Opens existing PDFs; exposes catalog, signatures, and streams.
VellumPdf.Conformance Stable In-process PDF/A and PDF/UA preflight validation.
VellumPdf.Cli Stable vellum-preflight command-line PDF/A and PDF/UA validator.
VellumPdf.Barcodes Stable QR, Data Matrix, Aztec, PDF417, Code 128/GS1-128, Code 39, EAN/UPC, and ITF-14 as vectors.

Roadmap

Milestone Scope
2.0 — Breaking changes (this release) Strong-named assemblies (#53), an async I/O surface for Save/Sign/loaders (#54), and an external-signer API for cloud KMS and remote HSM signing (#165). Each changes assembly identity or the public contract, so they waited for a major version.
2.1 — PDF reader (structural) VellumPdf.Reader grows classic and cross-reference-stream parsing, object streams, and encryption support, with a fixture corpus proving it against real-world files (Epic #100).
2.2 — PDF content extraction Text and image extraction on top of the reader.
3.0 — Read-modify-write A unified round-trip document model that supersedes the write-once PdfDocument, so existing PDFs can be opened, edited, and saved back (Epic #101).

License

Apache-2.0. Source and issues: https://github.com/Tim81/VellumPDF

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 (6)

Showing the top 5 NuGet packages that depend on VellumPdf.Kernel:

Package Downloads
VellumPdf.Layout

High-level document and layout engine for VellumPdf: paragraphs, lists, tables, images, automatic pagination, and tagged-content support. Implemented solely from the ISO 32000 standard.

VellumPdf.Fonts.Standard14

Optional metric-compatible, embeddable substitutes for the PDF standard-14 fonts, so VellumPdf can produce conformant (fully embedded) PDF/A text without a caller-supplied font program. Bundles the Liberation fonts (Sans/Serif/Mono, SIL OFL 1.1) covering the Helvetica, Times and Courier families. Adds the doc.EmbedStandard14Font(...) extension.

VellumPdf.Signing

Optional digital-signature add-on for VellumPdf: PAdES/PKCS#7 detached CMS signatures over VellumPdf.Kernel.PdfDocument and VellumPdf.Layout.Document. References System.Security.Cryptography.Pkcs; keeps the core zero-dependency.

VellumPdf.Reader

PDF reader for VellumPdf: opens an existing PDF (classic cross-reference tables, cross-reference and object streams, hybrid-reference files; unencrypted) and exposes its catalog, signatures, and decoded stream data, on a bounds-checked lexer and object parser (ISO 32000-2 §7.2–7.5). BCL-only; zero runtime dependencies. The foundation for PAdES long-term validation and a growing general reader; encryption and content extraction are not supported yet.

VellumPdf.Conformance

In-process PDF/A and PDF/UA preflight validation for VellumPdf: opens a PDF through VellumPdf.Reader and runs a registry of clean-room conformance rules authored from the ISO specifications, returning machine-readable assertions (rule id, ISO clause, severity, object reference). No external veraPDF Docker image required. BCL-only, AOT- and trim-ready; rules are registered explicitly with no reflection. Covers PDF/A-2b/2u/2a and PDF/UA-1, cross-validated against veraPDF in CI on both paths of every rule.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.0.0 161 8/17/2026
1.11.0 779 7/11/2026
1.10.0 1,971 7/7/2026
1.9.0 689 7/6/2026
1.8.2 161 7/5/2026
1.8.1 168 7/3/2026
1.8.0 154 7/3/2026
1.7.8 160 7/3/2026
1.7.7 162 7/2/2026
1.7.6 179 6/28/2026
1.7.5 175 6/23/2026
1.7.4 158 6/23/2026
1.7.3 172 6/22/2026
1.7.2 163 6/22/2026
1.7.1 180 6/21/2026
1.7.0 167 6/21/2026
1.6.0 159 6/17/2026
1.5.6 146 6/16/2026
1.5.5 137 6/16/2026
1.5.4 205 6/13/2026
Loading failed