Essential Studio® for Document Processing - v31.2.12 Release Notes
PDF Library
.NET PDF Library
Bug Fixes
-
I783053- Fixed an issue where aDateTimeexception occurred while saving the document. -
I764313- Resolved an issue with PDF font rendering where bold styling was not applied when using non-native bold fonts. -
I781695- Fixed an issue where JavaScript actions were not properly removed from the PDF document. -
I777023- Resolved an issue related to DOCX to PDF conversion, involving negative value errors and problems with Thai text and image rendering. -
I779951- Fixed an issue where a hanging issue occurred while appending a new document to a specified PDF. -
I775875- Fixed an issue whereNullReferenceExceptionoccurred while merging PDFs. -
I780223- Fixed an issue where incorrect tag order appeared in ordered and unordered lists in tagged PDFs. -
I780793- Fixed an issue where an exception occurred when exporting annotations from a loaded document. -
I780339- Fixed an issue where a preservation issue occurred in radio buttons when using the selected index.
Word Library
.NET Word Library
Bug Fixes
-
I781743- The OverflowException will no longer be thrown while opening a DOCX document containing shape with gradient fill. -
I781785- REF field result is now preserved properly after callingUpdateDocumentFieldsAPI. -
I780036- Corruption will no longer occur after resave a Word document with EMF image. -
I751641- Invalid empty paragraph will no longer be preserved while converting HTML document to PDF. -
I762035- GroupEnd field will no longer be preserved when the BeforeClearField event is triggered during mail merge. -
I782572- Linked images in header footer are now preserved properly after resaving document multiple. -
I775187- Hanging issue will no longer occur due to textbox with height greater than the section while converting a Word to PDF. -
I776816- Textbox content is now preserved properly while converting a Word document with text wrapping to PDF. -
I778215- The NullReferenceException will no longer thrown due to table alignment in footer while converting Word document to PDF. -
F70681- Hanging issue will no longer thrown due to unavailable font while converting a Word document to PDF.
Excel Library
.NET Excel Library
Bug Fixes
-
#I780656- No exception is thrown when saving an XLS file that contains a WMF image. -
#I780677- Resaving an Excel file no longer throws an exception due to whitespace handling during parsing. -
#I781132- No exception occurs when applying markers with an ExpandoObject. -
#I780809- Formula text is preserved correctly when using the ExportDataTable method. -
#I775842- No exception occurs when a cell refers to another cell that contains a circular reference. -
#I782989- No exception is thrown when opening an Excel workbook that uses the OOXML namespace.
PowerPoint Library
.NET PowerPoint Library
Bug Fixes
-
I781632- The ArgumentException is no longer be thrown while saving the PowerPoint document with chart containing multiple images.
PDF Viewer
Web PDF Viewer (Javascript, Angular, React, Vue, ASP.NET Core & MVC)
Bug Fixes
-
#I776714- Resolved an issue where text search was not working when using an unclosed tag in the search box. -
#I780148- Resolved an issue where signature field appeared empty when opening customer document in PDF Viewer. -
#I780154- Resolved an issue where PDF was not rendering when opening customer document inVue 3PDF Viewer. -
#I780207- Resolved an issue where delete icon was not enabled in annotation toolbar when delete was set inallowedInteractions.
Blazor PDF Viewer
Bug Fixes
-
#I780530-Resolved an issue where an exception occurred when double-clicking a FreeText annotation while the toolbar was not injected of the PDF Viewer. -
#I782463-Resolved an exception that occurred during double-tap and other interactions with FreeText annotations on mobile devices of the PDF Viewer.
.NET MAUI PDF Viewer
Bug Fixes
-
#I763117- The application no longer crashes when navigating to and away from the PDF Viewer on the Android platform. -
#I779963- The PDF Viewer no longer throws aSystem.NullReferenceExceptionwhen adding arrow annotations on the iOS platform.
WPF PDF Viewer
Bug Fixes
-
I781836- NullReferenceException will no longer be thrown while getting the page annotations.
DOCX Editor
Web DOCX Editor (Javascript, Angular, React, Vue, ASP.NET Core & MVC)
Bug Fixes
#I776220 - Fixed an issue where the table fill color was not applied correctly.
#I778750 - Resolved loss of alignment, line spacing, and font settings.
#I770477 - Corrected cell width after merge operations.
#I783704 - Ctrl+F now opens the Find pane as expected.
#I775650 - “No Color” highlight option now shows a pointer cursor like other buttons.
#I783047 - Corrected superscript formatting when typing a comma.
#I770706 - Undo now restores the original bullet-point formatting.
#I774637 - Spell-check suggestions now display properly.
#I779125 - Resolved a script error during DOCX export.
#I773853 - The showRevisions property now works correctly in protected documents.
#I763990 - Resolved an issue where footnotes were undefined during serialization.
#I781625 - Resolved selection issues with nested bookmarks when using the navigateToNextEditingRegion API.
#I780167 - Improved responsiveness during text insertion and backspacing.
#I776105 - Images no longer clip when “Exactly” line spacing is applied.
#I778204 - The cursor is now visible in empty editable regions.
Blazor DOCX Editor
Bug Fixes
#I776220 - Fixed an issue where the table fill color was not applied correctly.
#I778750 - Resolved loss of alignment, line spacing, and font settings.
#I770477 - Corrected cell width after merge operations.
#I783704 - Ctrl+F now opens the Find pane as expected.
#I783047 - Corrected superscript formatting when typing a comma.
#I770706 - Undo now restores the original bullet-point formatting.
#I774637 - Spell-check suggestions now display properly.
#I779125 - Resolved a script error during DOCX export.
#I763990 - Resolved an issue where footnotes were undefined during serialization.
#I781625 - Resolved selection issues with nested bookmarks when using the navigateToNextEditingRegion API.
#I780167 - Improved responsiveness during text insertion and backspacing.
#I776105 - Images no longer clip when “Exactly” line spacing is applied.
#I778204 - The cursor is now visible in empty editable regions.
Spreadsheet Editor
Web Spreadsheet Editor (Javascript, Angular, React, Vue, ASP.NET Core & MVC)
Features
- Added horizontal scrolling via Shift + mouse wheel, enabling faster navigation across wide worksheets and large column sets.
-
#I755354- Introduced an option to perform save operations without Web Workers to comply with strict Content Security Policies (CSP) and improve compatibility in secure environments. This behavior can be enabled dynamically on the client through thebeforeSaveevent.
Bug Fixes
-
#I776772- Issue with “deleting content selected with the mouse in the formula bar not reflecting in the cell editor” has been resolved. -
#I779573- Issue with “cell selection via mouse drag not updating correctly in the Spreadsheet’s finite mode” has been resolved.
Blazor Spreadsheet Editor
Features
-
#I761802- Provided support to retrieve data from a single cell or a range of cells using theGetDatamethod. The returned value is a dictionary where each key is the cell address (for example, “A1”) and each value is a structured object containing the cell’s content, format, display text, wrap/lock states, hyperlink (if available), and computed style.Code Example:
<button id="GetSpreadsheetData" @onclick="GetSpreadsheetData">Get Spreadsheet Data</button> <SfSpreadsheet @ref="SpreadsheetReference" DataSource="DataSourceBytes"> <SpreadsheetRibbon></SpreadsheetRibbon> </SfSpreadsheet> @code { public SfSpreadsheet SpreadsheetReference { get; set; } public void GetSpreadsheetData() { var data = SpreadsheetReference.GetData("A1"); // Use or display the returned dictionary of cell data as needed. } } -
#I745104- Provided support for batch updates across multiple cells using a list ofCellUpdateItementries (each representing a cell address and value). Apply updates by callingUpdateCellsAsync. Values can be strings, numbers, or formulas.Code Example:
<button id="UpdateBatchCellsValue" @onclick="UpdateCellValues">Update Batch Cells Value</button> <SfSpreadsheet @ref="SpreadsheetReference" DataSource="DataSourceBytes"> <SpreadsheetRibbon></SpreadsheetRibbon> </SfSpreadsheet> @code { public SfSpreadsheet SpreadsheetReference { get; set; } public async Task UpdateCellValues() { var updates = new List<CellUpdateItem> { new CellUpdateItem { CellAddress = "Sheet1!A1", Value = "Header" }, new CellUpdateItem { CellAddress = "Sheet1!B1", Value = "Value" }, new CellUpdateItem { CellAddress = "Sheet1!A2", Value = 100 }, new CellUpdateItem { CellAddress = "Sheet1!B2", Value = 200 }, new CellUpdateItem { CellAddress = "Sheet1!C1", Value = "Total" }, new CellUpdateItem { CellAddress = "Sheet1!C2", Value = "=SUM(A2:B2)" }, // Apply "Batch Fill" to cells A1 through A10 new CellUpdateItem { CellAddress = "Sheet1!A1:A10", Value = "Batch Fill" } }; await SpreadsheetReference.UpdateCellsAsync(updates); } } -
#I761802- Provided support to retrieve detailed properties of the active worksheet via theGetActiveWorksheetmethod, including its name, index, row and column counts, active cell address, and selected range.Code Example:
<button id="GetActiveSheet" @onclick="GetActiveSheet">Get Active Sheet</button> <SfSpreadsheet @ref="SpreadsheetReference" DataSource="DataSourceBytes"> <SpreadsheetRibbon></SpreadsheetRibbon> </SfSpreadsheet> @code { public SfSpreadsheet SpreadsheetReference { get; set; } public void GetActiveSheet() { var active = SpreadsheetReference.GetActiveWorksheet(); if (active != null) { Console.WriteLine($"{active.Name} [{active.Index}] - Selected: {active.SelectedRange}"); } } } -
Provided comprehensive keyboard shortcut support to accelerate formatting, autofill, sheet management, file operations, navigation, and selection.
Keys Description Ctrl + B Apply bold formatting to the selected cells. Ctrl + I Apply italic formatting to the selected cells. Ctrl + U Apply underline formatting to the selected cells. Ctrl + D Autofill down from the active cell. Ctrl + R Autofill right from the active cell. Shift + F11 Insert a new sheet. Ctrl + Shift + L Apply or remove filters. Ctrl + O Open an existing workbook file. Ctrl + S Save the current workbook. Ctrl + Home Go to cell A1. Ctrl + End Go to the last used cell. Ctrl + Arrow keys Navigate to the edge (first/last used cell) from the active cell. Ctrl + Space Select the entire column. Shift + Space Select the entire row. Ctrl + Shift + Space Select the entire sheet. -
#I770758,#I618842- Introduced new events to provide greater control over spreadsheet interactions and workflows.Event Information
Event Name Argument Name Properties Description WorksheetAddingWorksheetAddingEventArgsName, Index, Cancel Triggered when a new worksheet is being added. Allows canceling insertion, customizing the sheet name, or specifying the insertion index. BeforeSaveBeforeSaveEventArgsFileName, Cancel, SaveType Triggered when saving the workbook. Allows canceling the save operation or customizing the output file name for tailored save workflows. CellEditingCellEditingEventArgsAddress, Value, RowIndex, ColumnIndex, Cancel Triggered when a cell enters edit mode. Enables canceling the edit or applying custom logic based on the cell’s address, value, or position. CellSavedCellSavedEventArgsAddress, OldValue, Value, DisplayText, Action Triggered after a cell’s value is saved. Useful for tracking changes or applying logic based on address, old/new values, display text, and update action. -
Enhanced sorting performance across varied data sizes, delivering significant speed improvements:
Performance Benchmark Comparison
Scenario Performance Gain 500R × 7C (3,500) 61.90% faster 1000R × 8C (8,000) 94.16% faster 2000R × 8C (16,000) 99.87% faster 5000R × 8C (40,000) 99.56% faster
Test Results
| Component Name | Test Cases | Passed | Failed | Remarks |
|---|---|---|---|---|
| Calculate | 138 | 138 | 0 | All Passed |
| Calculate | 6 | 6 | 0 | All Passed |
| DOCX Editor(Document Editor) | 1944 | 1944 | 0 | All Passed |
| DOCX Editor(Document Editor) | 5023 | 5023 | 0 | All Passed |
| Excel Library(XlsIO) | 37754 | 37754 | 0 | All Passed |
| Metafilerenderer | 863 | 863 | 0 | All Passed |
| Pdf Library(Pdf) | 13938 | 13938 | 0 | All Passed |
| Pdf Viewer | 19130 | 19130 | 0 | All Passed |
| PdfViewer | 2998 | 2998 | 0 | All Passed |
| PdfViewer | 207 | 207 | 0 | All Passed |
| PowerPoint Library | 54397 | 54397 | 0 | All Passed |
| SfPdfViewer | 14684 | 14684 | 0 | All Passed |
| SfPdfViewer2 | 13107 | 13107 | 0 | All Passed |
| SfSpreadsheet | 2449 | 2449 | 0 | All Passed |
| Spreadsheet | 1917 | 1917 | 0 | All Passed |
| Spreadsheet | 10411 | 10411 | 0 | All Passed |
| Word Library(DocIO) | 39899 | 39899 | 0 | All Passed |
| Word Library(DocIO) | 4079 | 4079 | 0 | All Passed |