This is not an incremental update. It changes how teams create, modify, validate, and manage PDF documents in environments where reliability and maintainability matter.
More control over document structure
This release gives developers much stronger control over how PDF documents are assembled and managed.
Page management
Developers can now insert pages at a specific index, reorder pages within the PageCollection, and remove or clear pages entirely. This makes document restructuring far easier than before — no workarounds needed.
Bookmark, form field, and annotation management
It’s now possible to remove or clear bookmarks, hyperlinks, form fields, attachments, and watermarks from existing documents. Developers can also add bookmarks at the top level or as children of another bookmark, enabling full hierarchical navigation structures.
Document splitting and merging
New configuration classes — SplitByBookmarkOptions, SplitByPageOptions, and MergeOptions — give precise control over how to process and recombine documents. As a result, multi-section reports, post-processing pipelines, and large document workflows become significantly more practical.
Modernized APIs for cleaner development
A major part of this release is API modernization. While some of these changes are breaking, they move the library toward a cleaner and more consistent model.
Removal of Xceed.Drawing dependency
Xceed.PdfLibrary no longer depends on Xceed.Drawing.NET.dll. Reference color types directly from the Xceed.PdfLibrary namespace instead.
Brush and Pen replace Color properties
TextStyle now uses Brush and Pen instead of separate fill and stroke color properties.
Similarly, the Pen class now uses Color and Thickness naming instead of StrokeColor and StrokeWidth. These changes modernize the API and provide greater flexibility when working with text styling and drawing operations.
Other API updates
- PdfDocument.Bookmarks now returns the new BookmarkCollection
- BookmarkCollection uses FindByTitle() instead of the string indexer
- PageSettings now relies on setter methods that return updated objects instead of direct property mutation
- PageSettings.FormatType now uses PageFormatType.Custom instead of nullable behavior
These updates help make the API easier to reason about, especially in larger codebases where consistency matters.
Signature workflows for production use
One of the most important additions in this release is support for signing and certifying PDF documents.
- Sign and certify PDF documents using PdfDocument.Sign() with SignatureOptions
- Validate document-level signatures with PdfDocument.ValidateSignatures()
- Validate field-level signatures with SignatureFormField.ValidateSignature()
- Remove a signature from a signed document with PdfDocument.ClearSignature()
As a result, approval flows, compliance workflows, and document processes that require authenticity and integrity can now run entirely within .NET.
Better bookmark and navigation handling
Bookmarks are much more capable in this version. Developers can add bookmarks at the top level or as children of another bookmark, modify bookmark properties after creation, and support multiple bookmarks with the same title.
New presentation properties — IsBold, IsItalic, TitleColor, and IsExpanded — give full control over navigation trees. Combined with PdfDocument.AllBookmarks for flat enumeration, this makes bookmark-driven navigation and document structuring much more useful for generated manuals, reports, and multi-section exports.
More editable objects across the library
This release improves flexibility by allowing more existing objects to be modified after creation or load:
- Form fields: ComboBoxFormField, DateTimeFormField, ListBoxFormField, NumberFormField, PushButtonFormField, RadioButtonFormField, RadioButtonGroupFormField, TextBoxFormField
- Annotations: Hyperlink properties (Url, Bounds, Border, HighlightStyle)
- Document metadata: DocumentInformations (Author, Title, Subject, etc.)
- Bookmarks and watermarks: Editable after loading from existing PDFs
For production systems, this reduces the need to rebuild entire structures just to make targeted updates.
Save and reliability improvements
- Optimized save now removes unused objects for smaller file sizes
- Saving documents with hyperlinks no longer creates duplicate PDF objects
- Loaded fonts are preserved during optimized saves
- Multiple Save() calls correctly retain the latest changes
- Pages remain editable after saving for subsequent modifications
- Object numbers are no longer reused incorrectly
- Multi-filter encoded PDF data now extracts correctly
These changes improve confidence in high-volume or iterative document generation workflows.
Upgrade note: This release includes 14 breaking changes, so existing implementations should be reviewed before upgrading. The migration work is real, but the result is a more capable library with stronger structure control, cleaner APIs, and production-ready signature support.
Start a free trial and test Xceed PDF Library 2.0 against your current PDF generation, editing, and validation workflows.