Andy.Doc.Pdf 2026.10.18-rc.1

This is a prerelease version of Andy.Doc.Pdf.
dotnet add package Andy.Doc.Pdf --version 2026.10.18-rc.1
                    
NuGet\Install-Package Andy.Doc.Pdf -Version 2026.10.18-rc.1
                    
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="Andy.Doc.Pdf" Version="2026.10.18-rc.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Andy.Doc.Pdf" Version="2026.10.18-rc.1" />
                    
Directory.Packages.props
<PackageReference Include="Andy.Doc.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 Andy.Doc.Pdf --version 2026.10.18-rc.1
                    
#r "nuget: Andy.Doc.Pdf, 2026.10.18-rc.1"
                    
#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 Andy.Doc.Pdf@2026.10.18-rc.1
                    
#: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=Andy.Doc.Pdf&version=2026.10.18-rc.1&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Andy.Doc.Pdf&version=2026.10.18-rc.1&prerelease
                    
Install as a Cake Tool

Andy.Doc - .NET PDF Library

A .NET 10+ PDF engine with managed document processing and native SkiaSharp image codecs/rendering with feature parity to major commercial libraries.

Project Goals

Andy.Doc aims to build a comprehensive PDF library without any external executables (no Ghostscript, no browser engines). The library provides:

  • Document Object Model (DOM) - Rich in-memory document representation
  • Layout Engine - Measure/arrange pipeline with pagination and styling
  • PDF Core - Low-level PDF reading and writing
  • Document Operations - Create, load, save, merge, split PDFs
  • Forms & Annotations - AcroForms and interactive elements
  • Security - Encryption, permissions, and digital signatures
  • Standards Compliance - PDF/A support and accessibility features
  • Content Extraction - Text and image extraction, search capabilities
  • Rendering - PDF to bitmap conversion
  • HTML Import - Convert HTML to PDF using internal layout engine

Architecture

The library is organized into several focused assemblies:

  • Andy.Doc.Core - DOM, layout system, and shared abstractions
  • Andy.Doc.Pdf - PDF writer and reader implementation
  • Andy.Doc.Import.Html - HTML to PDF conversion (optional add-on)
  • Andy.Doc.Tests - Unit and integration tests
  • Andy.Doc.Benchmarks - Performance benchmarks
  • Andy.Doc.Samples - Example applications

Supported Platforms

Andy.Doc targets .NET 10.0 and is tested on the following platforms:

  • Windows - Windows Server 2019+, Windows 10+, Windows 11
  • Linux - Ubuntu 20.04+, Debian 11+, RHEL 8+, and other modern distributions
  • macOS - macOS 12 (Monterey) and later

Runtime Versions

  • Target Framework: .NET 10.0
  • Minimum .NET SDK: 10.0.100
  • Language Version: C# 12

The library may work on other platforms supported by .NET 10, but the above are officially tested in CI.

Status

This project is in active development. See the project roadmap for current progress.

Current Implementation Status

✅ Completed (Issues #1-26)

  • Document Object Model (DOM) with fluent API
  • Layout engine with measure/arrange pipeline
  • Text styling (decorations, line spacing, letter spacing)
  • Lists (ordered, unordered, nested, custom markers)
  • Tables (borders, columns, cell content)
  • PDF generation (low-level objects, content streams, document structure)
  • PDF rendering (paragraphs, lists, tables with proper margins)
  • 697 passing tests

🚧 In Progress (Issue #27+)

  • Image support (XObjects, JPEG/PNG embedding)
  • Additional features per roadmap

Getting Started

Trying the Samples

The quickest way to see Andy.Doc in action is to run the comprehensive samples:

cd samples/Andy.Doc.Samples
dotnet run

This generates 7 PDF files demonstrating all features:

  • Text styling and decorations
  • Line and letter spacing
  • Lists with markers and nesting
  • Tables with borders and columns
  • Complete business proposal

See samples/Andy.Doc.Samples/README.md for details.

Building from Source

Requires .NET 10.0 SDK or later.

dotnet build
dotnet test

License

Licensed under the Apache License, Version 2.0. See LICENSE for details.

Contributing

We welcome contributions! Please see our Contributing Guide for details on:

  • How to report issues
  • How to submit pull requests
  • Coding standards and guidelines
  • Development setup

Please also read our Code of Conduct before participating.

For security vulnerabilities, please see our Security Policy.

Image codecs and native runtime

Andy.Doc.Pdf 2026.10.18-rc.1 removes ImageSharp. Image decoding and rendering use SkiaSharp 4.153.1 with matching Linux native assets; retain SkiaSharp notices when redistributing. Linux hosts need the Skia native runtime and fontconfig. The public Andy.Doc API remains unchanged. Input decoding checks encoded byte and actual image dimension limits before allocating pixels. Images retain grayscale, straight alpha/soft masks, and PDF CMYK handling.

This migration follows the qualified Rivoli PDF change, adapted to the existing Andy API. See third-party notices, issue551, and RB-601.

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.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Andy.Doc.Pdf:

Package Downloads
Andy.Tools.Pdf

PDF document tools for the Andy.Tools framework (pdf_*). Reads PDFs and exposes text extraction, reading-order reflow, table extraction, outline (bookmark) navigation, document info, and full-text search over the Andy.Doc engine with native SkiaSharp image decoding. Designed for understanding financial documents such as 10-K filings and earnings-call transcripts.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2026.10.18-rc.1 79 10/18/2026
2026.8.8-rc.1 90 9/8/2026
2026.7.21-rc.1 1,010 7/21/2026
2026.6.22-rc.1 204 6/27/2026