What's New in Document Solutions for PDF v8
v8.2 - August 19, 2025
Document Solutions for PDF (DsPdf)
AI-Powered PDF Processing
The v8.2 release introduces a powerful new package, DsPdfAI, designed to showcase how Document Solutions for PDF can integrate with AI services to enhance PDF document workflows. This feature allows developers to leverage OpenAI or Azure OpenAI to generate summaries, create outline trees, and extract structured tables data directly from PDFs.
Supported Scenarios
Currently, DsPdfAI supports the following three AI-driven PDF processing capabilities:
- Generate a Document Summary - Quickly produce short or long summaries of any PDF document.
- Build a Document Outline Tree - Automatically generate a structured table of contents, complete with nested outline levels.
- Extract Tables from a Document - Use natural language prompts to identify and extract tabular data from a PDF.
These features are built on top of the OpenAI Chat API, with options to connect either via the official OpenAI .NET client library or the Azure OpenAI service.
API Overview
The new package introduces two main classes, both inheriting from a shared base class for core functionality:
- OpenAIDocumentAssistant - Connects to the OpenAI REST API using the official .NET client library.
- AzureOpenAIDocumentAssistant - Connects to Azure OpenAI services using the Azure.AI.OpenAI package.
Both derive from OpenAIDocumentAssistantBase, which implements the logic for extracting text via Page.GetText()
and sending content to the AI service for processing. The pageRange
parameter allows developers to limit requests to specific sections of a PDF.
Check out the code below to see how to implement the AI-powered features in DsPdf:
Platforms Supported
- OpenAI REST API (via the official .NET client)
- Azure OpenAI Service (via the Azure.AI.OpenAI package)
Document Solutions PDF Viewer (DsPdfViewer)
DsPdfViewer.wasm Now Supports Export to SVG
In the v8.2 release, the WebAssembly implementation of DsPdfViewer now supports saving and exporting a loaded-in PDF file to SVG format, which will be included within a .zip file after exporting to SVG format.
Redesigned Toolbar and Navigation for Better Usability
With the v8.2 release, DsPdfViewer introduces a redesigned toolbar and navigation system to improve usability, consistency, and customization across viewing and editing modes. These changes ensure that the most frequently used actions are easier to access, while still allowing backward compatibility for users who prefer the legacy layout.
Toolbar Layout Improvements
The toolbar has been restructured to prioritize commonly used actions and streamline the interface. If the old layout/behavior is desired, it can be restored by following the commands shown in the CHANGELOG.md file included with the release.
- New Default Order
- View mode: Open → Save → Print → Search (moved Open to the front for faster access)
- Edit mode: Added Open before Save
- Removed from Default Toolbar
- Full Screen
- Themes
- Extract Table (moved to the side panel)
- Form Filler Button
- Now appears only in the mobile toolbar by default.
- Optimized for smaller screens like tablets and phones, where form-filling is common.
New Toolbar |
![]() |
Old Toolbar |
![]() |
Side Panel Enhancements
The side panel has been updated for a more intuitive workflow, with a new default order and icon updates.
- New Default Order:
Document List → Shared Documents → Search → Thumbnails → Outline → Structure Tree → Articles → Layers → Attachments → Extract Table - Updated Extract Table Icon - Now displays a table with a right-pointing arrow for clarity.
New Side Panel | Old Side Panel |
![]() |
![]() |
Navigation Controls & Keyboard Support
Navigation is now more compact, customizable, and accessible.
- Visual Updates
- Compact page navigation input
- First/Last page buttons hidden by default
- Improved page counter display logic
- Keyboard Shortcuts (when page input is focused):
- ← / → : Navigate pages (context-aware)
- ↑ / ↓ : Force page navigation
- PageUp / PageDown : Jump to previous/next page
- Home / End : Jump to first/last page
- Enter : Submit manual entry
- Escape : Cancel input
- Ctrl + Click on page arrows : Jump to first/last page
- New Semantic CSS Classes
Overlapping Annotations Handling (Editor Mode)
When multiple annotations overlap, users now get clearer and more precise control:
- Primary Context Menu shows actions for the topmost annotation.
- Additional Annotations Section lists other overlapping annotations below a separator.
- Clicking any listed annotation switches focus for editing.
Context Menu & UI Standardization
To ensure consistency and professionalism, the interface now follows standardized formatting for all text elements:
- Buttons / Menu Items / Headers: Title Case
- Tooltips: Sentence case
- Labels: Title Case
- Descriptions / Status Text: Sentence case
- Placeholders: Sentence case
- Technical Terms: Original case (e.g., PDF, URL, iOS)
- Dynamic Values:
- In Actions: Title Case → “Add {{count}} Files”
- In Descriptions: Original case → “{{count}} files processed”
API Enhancements
Developers can customize navigation more precisely with new configuration options:
Help | Migration Guide to Old Layout | Release Notes (List of changes in the layout) | Demo
v8.1 - April 22, 2025
Document Solutions for PDF (DsPdf)
New ActionSound Class
With the v8.1 release, DsPdf adds the ActionSound class. This class allows the PDF document to play a sound when triggered. This feature helps to add multimedia features to your PDF documents. The sound action is also supported in DsPdfViewer.
The following code snippet associates ActionSound with a button in a PDF document:
Document Solutions PDF Viewer (DsPdfViewer)
New Feature Support in DsPdfViewer/Wasm
In the v7.2 release, we introduced our advanced WebAssembly(Wasm)-based PDF Viewer, enhancing the document editing experience locally on the client side with the Document Solutions PDF Viewer (DsPdfViewer). This innovative solution is based on WebAssembly and delivers a fast, secure, and highly responsive PDF editing experience directly within your web browser. The Wasm-based PDF viewer is designed to meet the needs of modern users and offers seamless performance, cross-platform compatibility, and an array of advanced features.
DsPdfViewer users have the option to enable PDF-editing features in the viewer without the need to set up a .NET server. When using the Wasm SupportApi option, everything is done directly in your browser. The DsPdfViewer/Wasm version is available with the Professional DsPdfViewer license.
In this release, we have added support for the following features in DsPdfViewer/Wasm:
- Redact (add/edit and apply redact annotations)
- Export to raster images
- Convert annotations to content
Have a look at our demos to view the above features running in DsPdfViewer/Wasm. Each feature mentioned includes a demo that runs under the DsPdfViewer/Wasm version.
Interactive Table Data Extraction
In v8.1 release, the DsPdfViewer adds interactive table data extraction - a tool that allows you to select and extract (export to a file or copy to clipboard) tabular data from a PDF. This tool provides a workflow for selecting, previewing, and exporting table data in multiple formats like TSV, CSV, JSON, XLSX, XML, and HTML.
A new button labeled “Extract Table Data " has been added to the main toolbar.
Clicking the button opens a side panel with options for:
- Selecting a table region on the page.
- Cancelling a selection.
- Adjusting Row/Column spacing and height.
- Resetting the options.
- Copy the selection.
- Previewing the data selected.
- Downloading data as CSV, JSON, XLSX, XML, and HTML formats.
The visual table editing tool provides an intuitive interface for refining extracted table data from PDF content. After selecting an area within a PDF document, this tool displays the boundaries of the detected table, allowing you to accurately adjust and structure the table for improved data extraction.
The Table Extraction side panel also allows users to copy the extracted data to the clipboard for quick use.
Users can also display the Table Extraction side panel programmatically using the addTableExtractionPanel() method and expanding the panel.
Note: Table data extraction is a Professional feature of DsPdfViewer and requires the SupportApi service to operate.
v8 - December 11, 2024
Document Solutions for PDF (DsPdf)
Optimize PDF Documents
Multiple enhancements have been made to optimize performance of loading and saving of PDF files as well as optimizing file size of the generated PDF. One of the enhancement is optimizing how DsPdf works with object streams. DsPdf introduces API that can help to load and save PDF with optimization options. A new SavePdfOptions class gives you precise control over how your code saves the PDFs in the optimal way for your application, instance of which can be passed to GcPdfDocument.Save(), Sign() and TimeStamp() methods. Saving a PDF with object streams (PDF 1.5) reduces file size, improves load times, and enhances compression efficiency by consolidating objects, making document handling faster and more efficient. The capabilities of these properties are defined below. Follow the links to know more about the enum options to optimize PDF file loading and saving as per your needs -
- UseObjectStreams - Defines how to use object streams using various Enum options when saving a PDF document.
- PdfStreamHandling - Defines how to process existing PDF streams in a loaded document.
Using the new API, you can now re-save an existing PDF with whatever the desired compression settings affecting all streams. Following code helps to minimize the size of the PDF document -
Optimize Font Format
In v8 release, DsPdf also adds PdfFontFormat property to GcPdfDocument and FontHandler classes that allows users to set the encoding type for the font formats representing a font in a PDF document.
PdfFontFormat enumeration provides the following options that define the encoding type:
- Type0AutoOneByteEncoding - Saves the font as one or more Type0 PDF fonts, where each character is encoded by one byte.
- Type0IdentityEncoding - Saves the font as a single Type0 font with Identity encoding, where each character is encoded with two bytes.
DsPdf uses a one-byte encoding format, i.e., Type0AutoOneByteEncoding, by default that produces smaller PDF content in most cases.
View Help
Include/Exclude Annotations or Form Fields on Image Export
You now have precise control over which annotations to include when exporting a PDF to images. The new DrawAnnotationFilter property of SaveAsImageOptions can call a delegate that can check whether to render a certain annotation or form field based on their type. Following code helps to accomplish the same -
Preserve Images on Redaction
If a part of an image is redacted, the image is replaced with the redacted version. However, if the same image is present at multiple locations, you may want either to apply the redact to all instances of the image, or to just the instance of the image at the redact location. You can now control this behavior with the new CopyImagesOnRedact property in RedactOptions class indicating whether images within the redacted area that also appear in other locations will be copied before applying the redact. When set to True, only the instance of the image in the redacted area will be modified, leaving the image unchanged in other locations. When set to false, all instances of the image across the document will be affected by the redaction. The default value is False.
Following code redacts an image only at one location, but the same images at other location will be preserved.
Document Solutions PDF Viewer (DsPdfViewer)
Replace text in PDF documents
DsPdfViewer adds new Replace options in the UI to conveniently replace text in PDF documents. The expand icon in the Search bar can activate the text replacement mode where you can provide the text to search in the ‘Find in document' textbox, while the text to replace can be provided in the 'Replace’ textbox. Upon pressing Enter, the text will be replaced conveniently throughout the document. The text can also be replaced through ‘Replace Current’ and ‘Replace All’ buttons in the UI of the Search Bar. Additionally, a new keyboard shortcut, Ctrl+H, has been introduced, which opens the Search Bar with the text replacement mode already enabled.
The text replacement mode is only available when the viewer is configured with the SupportApi, which is utilized for editing functionalities. This feature is accessible to users with a Professional license. The feature is currently not available in Wasm mode.
Timestamp in PDF Viewer comments
In PDF document annotations, a timestamp records the exact date and time an annotation was created or modified. Timestamps provide a historical record of edits, helping collaborators track when specific feedback or changes were made.
v8 release adds timestamp to any annotation added to the PDF document. This timestamp is stored in the modificationDate property (which can be modified through code), which is a string type that can either be empty (indicating that the date and time are not specified) or contain the date and time in the internal PDF format which is 'D:YYYYMMDDHHmmSSOHH'mm'.
In addition, a new property called "Modified" has been added to the properties panel of each annotation. This property automatically updates as you make changes to the annotation.
Enhanced Proximity Search
In the new DsPdfViewer v8 release, we’ve enhanced proximity search functionality with the introduction of two new operators: NEAR and ONEAR. These operators provide more flexibility in querying phrases, offering an improved search experience.
The NEAR operator matches results where specified search terms are within close proximity, ignoring the order of the terms. The syntax for NEAR is as follows:
The ONEAR operator functions similarly to NEAR but preserves the order of the specified terms. The syntax for ONEAR is as follows:
With the updated proximity search, users can also specify phrases within proximity queries by enclosing them in double quotes. For example, in the below example, multiple words in a phrase can be enclosed in double quotes. The two search terms are separated by 4 words, so we write search expression as - "Originally there were in excess" NEAR(4) "(2.3)"
Updates
v8.1 - August 19, 2025
v8.1 - April 22, 2025
v8 - December 11, 2024
Related Links