VellumPdf.Conformance
2.0.0
dotnet add package VellumPdf.Conformance --version 2.0.0
NuGet\Install-Package VellumPdf.Conformance -Version 2.0.0
<PackageReference Include="VellumPdf.Conformance" Version="2.0.0" />
<PackageVersion Include="VellumPdf.Conformance" Version="2.0.0" />
<PackageReference Include="VellumPdf.Conformance" />
paket add VellumPdf.Conformance --version 2.0.0
#r "nuget: VellumPdf.Conformance, 2.0.0"
#:package VellumPdf.Conformance@2.0.0
#addin nuget:?package=VellumPdf.Conformance&version=2.0.0
#tool nuget:?package=VellumPdf.Conformance&version=2.0.0
VellumPdf.Conformance
In-process PDF/A and PDF/UA preflight validation for VellumPdf, a dependency-free PDF library for .NET 10. It opens a PDF through VellumPdf.Reader and runs a registry of clean-room conformance rules authored from the ISO specifications, with no external veraPDF Docker image required.
- Validates PDF/A-2b/2u/2a and PDF/UA-1.
- Returns machine-readable assertions: rule id, ISO clause, severity, and object reference.
- BCL-only, AOT- and trim-ready — rules are registered explicitly, with no reflection.
- Build-verified veraPDF parity is about 99%; every rule's positive and negative paths are cross-checked against veraPDF in CI.
Stable as of 2.0. The public API is locked and analyzer-enforced. Rule coverage is still growing: veraPDF parity is about 99%, and the remaining gaps are tracked as issues rather than hidden behind a preview label.
Install
dotnet add package VellumPdf.Conformance
Usage
using VellumPdf.Conformance;
var result = PdfPreflight.Validate(File.OpenRead("input.pdf"), PdfConformance.PdfA2B);
if (!result.IsCompliant)
foreach (var assertion in result.Assertions)
Console.WriteLine($"{assertion.Severity} {assertion.RuleId} ({assertion.Clause}): {assertion.Message}");
For a ready-made command-line validator, install VellumPdf.Cli (vellum-preflight).
Documentation
Architecture and validator scope: https://github.com/Tim81/VellumPDF/blob/main/docs/architecture.md
The VellumPdf family
| Package | Status | Summary |
|---|---|---|
| VellumPdf.Kernel | 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 (this package) | 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 | 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. |
-
net10.0
- VellumPdf.Kernel (>= 2.0.0)
- VellumPdf.Reader (>= 2.0.0)
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 |
|---|---|---|
| 2.0.0 | 91 | 8/17/2026 |
| 1.11.0 | 119 | 7/11/2026 |
| 1.10.0 | 1,286 | 7/7/2026 |
| 1.9.0 | 611 | 7/6/2026 |
| 1.8.2 | 105 | 7/5/2026 |
| 1.8.1 | 131 | 7/3/2026 |
| 1.8.0 | 109 | 7/3/2026 |
| 1.7.8 | 104 | 7/3/2026 |
| 1.7.7 | 111 | 7/2/2026 |
| 1.7.6 | 114 | 6/28/2026 |
| 1.7.5 | 122 | 6/23/2026 |
| 1.7.4 | 112 | 6/23/2026 |
| 1.7.3 | 120 | 6/22/2026 |
| 1.7.2 | 129 | 6/22/2026 |
| 1.7.1 | 116 | 6/21/2026 |
| 1.7.0 | 120 | 6/21/2026 |
See https://github.com/Tim81/VellumPDF/blob/main/CHANGELOG.md for release notes.