DRIT.Pdf 26.7.888

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

DRIT.Pdf

Pure-Managed .NET PDF Document Library

Create, Read, Manipulate, Sign, and Convert PDF Documents

DRIT.Pdf is a pure-managed, cross-platform .NET library for creating, reading, and manipulating PDF documents — PDF with full support for AcroForms, digital signatures (PKCS#12, PKCS#11, PAdES), encryption, a complete annotation hierarchy, tagged PDFs and PDF/UA, PDF/A & PDF/X conformance, portfolios, and document comparison — without relying on any external software dependencies.

Key Benefits

  • Pure managed C# implementation with minimal NuGet dependencies
  • Consistent rendering results across Windows, Linux, macOS
  • Seamless migration path from GemBox.Pdf and Aspose.PDF
  • Full annotation hierarchy, AcroForm model, and tagged-PDF structure tree
  • PDF/A-1b/2u/3b and PDF/X-4 conformance writing
  • Integrated with DRIT.Drawing for advanced graphics and font support

Cross-Platform PDF Library

DRIT.Pdf targets .NET Framework 4.8, .NET 6.0, and .NET 8.0, so it runs on:

  • Operating Systems: Windows, Linux, macOS
  • Frameworks: .NET Framework 4.8, .NET 6.0, .NET 8.0
  • Dependencies: DRIT.Drawing; System.Security.Cryptography.Pkcs (.NET 6.0+); System.Memory (.NET Framework 4.8)

Features

Document I/O

  • Create — generate new PDF documents from scratch
  • Load/Save — read from and write to file or stream, with load options (password)
  • Merge & SplitPages.AddClone for document merging and page extraction
  • Incremental Update — lightweight SaveOptions.Incremental edits without rewriting the file

Pages

  • Page tree operations with inherited MediaBox/Rotate
  • Page size, rotation, and boundary boxes (Media, Crop, Bleed, Trim, Art)
  • Page layout (PageLayout) and page mode (PageMode)
  • Viewer preferences (hide toolbar, fit window, direction, …)

Content & Drawing

  • FormattedText with font family, size, weight, style, color, and max text width
  • PathContent — lines, Bezier curves, rectangles, stroke/fill, dash patterns
  • PdfImage placement (JPEG, PNG, BMP, TIFF, GIF via DRIT.Drawing)
  • Table DOM with rows, columns, borders, and cell content
  • Color spaces (DeviceGray/RGB/CMYK, CalGray/RGB, Lab, ICCBased, Indexed, Separation, DeviceN)
  • Patterns (tiling, shading) and shadings (axial, radial, free-form/lattice mesh, Coons/tensor patch)

Text Operations

  • Text extraction (full document, per page, by region)
  • Text search (string and regular expression)
  • Text replace (global, per page, first occurrence, regex)
  • Text redaction

Annotations

Full annotation hierarchy rooted at AnnotationMarkupAnnotation:

  • Link, line, polyline, polygon
  • Text markup (highlight, underline, squiggly, strike-out)
  • Sticky note, stamp, free text
  • Square, circle, ink, caret
  • Redaction, file attachment, popup
  • Annotation flags, border style, appearance streams, and flatten

Actions

First-class action hierarchy:

  • GoToAction, GoToRemoteAction, LaunchAction, UriAction, JavaScriptAction
  • ActionCollection on links, form fields, and document open-action

Forms (AcroForm)

  • All field types: text, check box, radio button, dropdown, list box, button, toggle button, signature
  • Fill, read, and flatten forms
  • FDF/XFDF import/export
  • Form actions (reset, submit, import/export data)
  • XFA storage

Security & Signatures

  • Encryption — AES-256, AES-128, RC4 with user/owner passwords and permissions
  • Digital signatures — PKCS#12 (PFX) and PKCS#11 (hardware token)
  • PAdES — B-B level, DSS dictionary, LTV support
  • Signature validation — hash integrity and certificate chain
  • Signature workflows — author permission, locked fields, timestamp

Outlines & Navigation

  • Bookmark/outline collection with nested items and destinations
  • Hyperlinks (internal page, external URI, file launch)
  • Table of contents

Tagged PDF & Accessibility

  • TaggedContent structure tree with StructureElement
  • Table, row, header, cell, paragraph, note structure elements
  • PDF/UA support

Conformance

  • PDF/A-1b, PDF/A-2u, PDF/A-3b writing via SaveOptions.Conformance
  • PDF/X-4 writing

Attachments

  • Embedded files (from file/stream with metadata)
  • File attachment annotations (icons, description)
  • Associated files (/AF relationships)
  • Portfolios (folder/field hierarchy, sort levels, collection layout)

Metadata

  • Document info (title, author, subject, keywords)
  • XMP metadata read/write

Additional Capabilities

  • Document comparison (DocumentComparer with difference hierarchy)
  • Optional content groups (layers)
  • Marked content (tag roles, ActualText)
  • Advanced low-level escape hatch (ObjectDictionary)

Supported File Formats

Format Description Read Write
PDF Portable Document Format ✔️ ✔️
PDF/A Archival PDF (A-1b/2u/3b) ✔️ ✔️
PDF/X-4 Printing PDF ✔️
FDF Forms Data Format ✔️ ✔️
XFDF XML Forms Data Format ✔️ ✔️
JPEG JPEG Image ✔️ ✔️
PNG PNG Image ✔️ ✔️
TIFF TIFF Image ✔️ ✔️
BMP Bitmap Image ✔️
GIF GIF Image ✔️

Image export (PDF → JPEG/PNG/TIFF) and printing are provided by the separate DRIT.Pdf.Rendering package (.NET 8.0 only).


Installation

1. Install via NuGet

  • Open Microsoft Visual Studio and the NuGet package manager
  • Search for "DRIT.Pdf"
  • Click Install to download and reference it in your project

2. Install via Package Manager Console

Install-Package DRIT.Pdf

3. Install via .NET CLI

dotnet add package DRIT.Pdf

Code Examples

Create a PDF Document

using DRIT.Pdf;
using DRIT.Pdf.Content;

// Initialize a new PDF document
using var document = new Document();

// Add a page to the document
var page = document.Pages.Add();

// Add a title
using var title = new FormattedText();
title.FontFamily = PdfFontFamily.TimesRoman;
title.FontSize = 24;
title.FontWeight = PdfFontWeight.Bold;
title.Append("Annual Research Report 2025");
page.Content.DrawText(title, new PdfPoint(72, page.Height - 100));

// Save the document
document.Save("output.pdf");

Merge PDF Documents

using DRIT.Pdf;

// Merge multiple documents into one
using var merged = new Document();
foreach (var path in new[] { "chapter1.pdf", "chapter2.pdf", "chapter3.pdf" })
{
    using var source = Document.Load(path);
    merged.Pages.AddClone(source.Pages);
}

merged.Save("merged.pdf");

// Split: extract each page into a separate document
using var toSplit = Document.Load("merged.pdf");
for (int i = 0; i < toSplit.Pages.Count; i++)
{
    using var single = new Document();
    single.Pages.AddClone(toSplit.Pages[i]);
    single.Save($"page_{i + 1}.pdf");
}

Fill a PDF Form

using DRIT.Pdf;
using DRIT.Pdf.Forms;

// Load PDF with form
using var document = Document.Load("form.pdf");

// Fill a text field by name
document.Form["ParticipantName"].Value = "Sofía Guerrero";

// Tick a check box
var consent = (CheckBoxField)document.Form["ConsentGiven"]!;
consent.IsChecked = true;

// Select a dropdown value
document.Form["Cohort"].Value = "June 2026";

// Save filled document
document.Save("filled.pdf");

Add a Digital Signature

using DRIT.Pdf;
using DRIT.Pdf.Content;
using DRIT.Pdf.Security;

using var document = new Document();
var page = document.Pages.Add();

// Add a visible signature field
var sigField = document.Form.Fields.AddSignature(page, 72, 100, 300, 80);
sigField.Name = "InstructorSignature";
sigField.Appearance.Reason = "Certified by Dr. Petra Holmann";
sigField.Appearance.Location = "TechPath Academy, Berlin";

// Sign with a PFX certificate (PAdES B-B)
var digitalId = new DigitalId("certificate.pfx", "password");
var signer = new Signer(digitalId) { PadesMode = true };
sigField.Sign(signer);

document.Save("signed.pdf");

Encrypt a PDF

using DRIT.Pdf;
using DRIT.Pdf.IO;
using DRIT.Pdf.Security;

using var document = new Document();
document.Pages.Add();

var encryption = new PasswordEncryption
{
    DocumentOpenPassword = "open-password",
    PermissionsPassword = "owner-password",
    Permissions = UserAccessPermissions.PrintHighResolution | UserAccessPermissions.FillForm,
    EncryptionLevel = EncryptionLevel.Aes256
};
document.SaveOptions.Encryption = encryption;

document.Save("encrypted.pdf");

// Open with the correct password
var loaded = Document.Load("encrypted.pdf", new LoadOptions { Password = "open-password" });

Convert PDF to Images

using DRIT.Pdf;
using DRIT.Pdf.IO;
using DRIT.Pdf.Rendering;

using var document = Document.Load("input.pdf");

// Single-page PNG
document.Save("page1.png",
    new ImageSaveOptions(ImageSaveFormat.Png)
    {
        PageNumber = 0,
        PageCount = 1,
        Width = 1200,
        Dpi = 150
    });

// Single-page JPEG
document.Save("page1.jpg",
    new ImageSaveOptions(ImageSaveFormat.Jpeg)
    {
        PageNumber = 0,
        PageCount = 1,
        Width = 1200,
        JpegQuality = 90
    });

System Requirements

  • Target Frameworks: .NET Framework 4.8, .NET 6.0, .NET 8.0
  • Dependencies: DRIT.Drawing; System.Security.Cryptography.Pkcs (.NET 6.0+); System.Memory (.NET Framework 4.8)
  • Optional: DRIT.Pdf.Rendering for image export and printing (.NET 8.0 only)

Documentation


© 2021-2026 DR-IT Ltd. All Rights Reserved.

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  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. 
.NET Framework net48 is compatible.  net481 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 DRIT.Pdf:

Package Downloads
DRIT.Spreadsheet

DRIT.Spreadsheet is a pure-managed, cross-platform .NET library for creating, reading, and manipulating spreadsheet documents (XLSX, XLS, XLSB, CSV, TSV). It offers comprehensive spreadsheet capabilities including a formula calculation engine, charts, pivot tables, tables, conditional formatting, data validation, digital signatures (PKCS#12, XAdES-BES), AES-256 encryption, form controls, VBA macros, and PDF export — built on a clean-room implementation with minimal NuGet dependencies.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
26.7.888 39 7/31/2026

- Initial release.