Essential Studio® for Document Processing - v34.1.29 Release Notes

Common

Telemetry

Starting with this release (v34.1.29), Syncfusion Document SDK introduces telemetry (development-only) to help us better understand product usage, feature adoption, usage trends and make better product roadmap decisions.

Telemetry is enabled by default and collects only a limited set of anonymous usage data while applications are running in a development environment. Telemetry is automatically disabled in production environments, and no telemetry is collected from deployed production applications or end users.

Why we collect telemetry:

The collected telemetry helps us:

  • Understand feature adoption and usage trends.
  • Identify frequently used components and frameworks.
  • Prioritize future product investments and roadmap decisions.
  • Detect compatibility trends across .NET versions, operating systems, and development environments.

What information is collected?

Syncfusion collects only a limited set of anonymous usage data during development to understand product usage and improve product planning. No personal information or user-generated content is collected.

The following information may be collected:

  • Component Name : The Syncfusion component being used (for example, PDF, DataGrid, or Chart). Used to understand component usage and adoption.
  • Assembly Name : The Syncfusion assembly or package in use (for example, Syncfusion.Pdf.Portable). Used for product diagnostics.
  • SDK Name : The Syncfusion SDK being used (for example, Document SDK). Used to understand SDK adoption.
  • SDK Version : The SDK version shipped with the product. Used for release planning and compatibility analysis.
  • Framework : The target development framework (for example, .NET). Used to understand framework adoption.
  • Framework Version : The version of the target framework (for example, .NET 8). Helps prioritize framework support.
  • Operating System : The operating system used during development (for example, Windows, Linux, or macOS). Used for platform compatibility analysis.
  • Machine Architecture : Processor architecture (for example, x64, x86, or ARM64). Used to understand hardware trends.
  • Session ID (Hashed) : A randomly generated identifier representing a single development session. Used to group telemetry events within the same session.
  • Event Name : Product events (for example, component_initialized or feature_name). Used to understand component and feature usage trends.

NOTE

No user-generated content (e.g., code, files, or personal data) is collected

What information is Not collected?

Syncfusion does not collect:

  • Personal information (name, email address, customer ID, company information)
  • Source code
  • Documents or files
  • Application data
  • User-generated content
  • Business data
  • Prompts or AI conversations
  • Authentication credentials
  • License keys
  • Any information that can directly identify an individual

How to disable telemetry (Opt-out)

Telemetry can be disabled at any time by calling the Telemetry.Disable() method before using any Syncfusion Document SDK libraries.

using Syncfusion.Telemetry; 

// Disable Syncfusion telemetry. 
Telemetry.Disable(); 

// Your Syncfusion code follows here.

Once disabled, Syncfusion libraries continue to function normally. The only difference is that telemetry data will no longer be collected.

NOTE

Call Telemetry.Disable() before creating or using any Syncfusion Document SDK objects

Document SDK AI Agent Tool

Features

  • Added tools for importing and getting Markdown content in Excel and PowerPoint documents in Agent Tool Library.

PDF Library

.NET PDF Library

Features

  • Updated the Blink binaries used in the HTML to PDF converter from version 140.0.7339.207 to 147.0.7727.56.

JavaScript PDF Library

Features

  • Added support for rendering headers and footers in the JavaScript PDF library.
  • Introduced support for text elements in the JavaScript PDF library.
  • Added support for XMP metadata in the JavaScript PDF library.

Markdown Library

.NET Markdown Library

Features

  • Introduced a new .NET Markdown library to create, edit, save, and clone Markdown documents.
  • Added APIs to specify the Encoding type when opening and saving Markdown documents.
  • Added an event to customize image handling during Markdown document loading and saving.

Word Library

.NET Word Library

Features

  • Provided WordDocument.Open(MarkdownDocument) API to get a Word document instance by using Markdown document instance.
  • Provided WordDocument.GetMarkdownDocument() API to get WordDocument instance as MarkdownDocument.
  • Improved ImportContent API performance for clone and merge operations by up to 70%.

Bug Fixes

  • Sequence field switches are now updated properly while opening a DOCX document.
  • The NullReferenceException will no longer be thrown while opening an RTF document with a shape element.

Excel Library

.NET Excel Library

Features

  • Added support for Excel to Markdown conversion and vice versa.
  • Added support for the place in cell option when inserting a picture in an Excel document.
  • Improved performance by 25% when exporting the data table to an Excel document.
  • Improved Excel to CSV conversion performance by 70% for date time, formula, and number cell types.

PowerPoint Library

.NET PowerPoint Library

Features

Smart Data Extraction Library

Features

  • Added support for customizable image saving in Markdown conversion from PDFs or images.

  • Added configurable OCR settings for more accurate and flexible data extraction.

PDF Viewer

Web PDF Viewer (Javascript, Angular, React, Vue, ASP.NET Core & MVC)

Features

  • I393057 - Annotation Comment Filter – Introduced annotation filter support in the PDF Viewer, enabling users to efficiently manage and view annotations by applying filters based on specific criteria. The filter options can be accessed through the filter icon in the comments panel, allowing users to display only the annotations that match their requirements. Explore the documentation here
  • I313209, I315475 - Ink Eraser – Introduced ink eraser support in the PDF Viewer, allowing users to selectively remove or correct portions of freehand ink annotations drawn on a PDF document. This feature enhances annotation flexibility by enabling precise editing of ink strokes for improved accuracy and usability. Explore the documentation here

Breaking Changes

  • Starting with this release (v34.1.29), no new features will be added to the Server-backed mode, as all the PDF Viewer functionalities are now available in the Standalone mode. If you are currently using the server-backed mode, please refer to the migration documentation and migrate to the Standalone PDF Viewer.

Blazor PDF Viewer

Bug Fixes

  • #I832881 - Resolved an issue of Exception thrown when navigating to another page when Organize PDF is disabled in PDF Viewer.
  • #I835251 - Resolved an issue of Unable to Add Annotations at the Maximum Edge of PDF Page
  • #I834932 - Resolved an issue of Zooming is not working as expected in Blazor MAUI Tablet devices in specific cases.
  • #I839637 - Resolved an issue of Free text annotation movement is incorrect when Move AllowedInteraction is set in specific cases.
  • #I841880 - Resolved an issue of PDF thumbnails not loaded when invoking OpenThumbnailPaneAsync API initially.

Features

  • #I821719 - Improved Bookmark styling support in the Syncfusion PDF Viewer. Bookmark font colors are now correctly applied, ensuring accurate rendering and better visual consistency.

.NET MAUI PDF Viewer

Features

  • #FB70431 - Provided support to enable or disable the double-tap zoom functionality in the PDF Viewer, allowing users to control zoom behavior for an improved viewing experience. For more information, click here.
  • #FB72467 - Provided support to set all form fields to read-only in the .NET MAUI PDF Viewer, ensuring that users can view the form data without the ability to modify or interact with the fields. For more information, click here
  • #FB62724 - Provided support to trigger an event upon completion of the print operation in the .NET MAUI PDF Viewer, enabling applications to perform post-print actions or notifications. For more information, click here

DOCX Editor

Web DOCX Editor (Javascript, Angular, React, Vue, ASP.NET Core & MVC)

Bug Fixes

#F827048 - Fixed status bar hiding issue when double-clicking the ribbon tab.

Spreadsheet Editor

Web Spreadsheet Editor (Javascript, Angular, React, Vue, ASP.NET Core & MVC)

Features

  • Smart Spreadsheet - Introduced an AI-powered assistant that enables users to perform spreadsheet operations using natural language through a chat-based interface. Supports editing, formatting, data analysis, and visualization with real-time updates and full undo/redo support. Explore the demo link here.
  • Subscripts and superscripts - Added support for applying subscript and superscript formatting to selected text within a cell during editing, improving readability for scientific, mathematical, and structured data. Explore the demo link here.
  • Suspend and resume UI refresh - Provided support to pause and resume UI refresh, improving performance during multiple updates. Instead of refreshing after each change, updates can be grouped and applied in a single refresh, reducing rendering overhead. Explore the demo link here.

    Method Description
    suspendRefresh Pauses UI updates during multiple operations
    resumeRefresh Applies all updates with a single UI refresh

Blazor Spreadsheet Editor

Features

  • #I796974, #I798854 - Added support to save spreadsheets in XLS, CSV, and PDF formats for easy sharing and cross-platform use while preserving data accuracy and formatting. This can be done through the ribbon UI or programmatically using the SaveAsync method. PDF export also includes customizable layout options such as page fit and orientation. Explore the demo link here.

    Code Example:

      <button @onclick="SaveAsPdf">Save as PDF</button>
    
      <SfSpreadsheet @ref="SpreadsheetInstance" BeforeSave="OnBeforesave">
          <SpreadsheetRibbon></SpreadsheetRibbon>
      </SfSpreadsheet>
    
      @code {
          public SfSpreadsheet SpreadsheetInstance { get; set; }
    
          public async Task SaveAsPdf()
          {
              await SpreadsheetInstance.SaveAsync(new SaveOptions
              {
                  SaveType = SaveType.Pdf,
                  FileName = "Spreadsheet"
              });
          }
    
          public void OnBeforesave(BeforeSaveEventArgs args)
          {
              if (args.SaveType == SaveType.Pdf)
              {
                  args.PdfLayoutSettings = new PdfLayoutSettings
                  {
                      FitSheetOnOnePage = true,
                      Orientation = PdfPageOrientation.Landscape
                  };
              }
          }
      }
    
  • #I786758 - Added support for ribbon customization to personalize the spreadsheet interface. Users can add tabs and groups, modify existing elements, and rearrange controls to suit their workflow. Customizations can be applied during initialization or updated dynamically at runtime. Explore the demo link here.

    Code Example:

      <button @onclick="DisableRibbonItems">DisableRibbonItems</button>
      <button @onclick="EnableRibbonItems">EnableRibbonItems</button>
    
      <SfSpreadsheet @ref="SpreadsheetInstance">
          <SpreadsheetRibbon></SpreadsheetRibbon>
      </SfSpreadsheet>
    
      @code {
          public SfSpreadsheet SpreadsheetInstance { get; set; }
    
          public void DisableRibbonItems()
          {
              SpreadsheetInstance.DisableRibbonItems(new List<string> { "italic", "bold" });
          }
          public void EnableRibbonItems()
          {
              SpreadsheetInstance.EnableRibbonItems(new List<string> { "italic", "bold" });
          }
      }
    
  • #I809651 - Added support for conditional formatting to enhance data visualization with highlight rules, top/bottom rules, color scales, data bars, and icon sets. Formatting can be applied through the UI or programmatically using ConditionalFormatAsync and ClearConditionalFormatsAsyncmethods, with updates applied dynamically as data changes. Explore the demo link here.

    Code Example:

      <button @onclick="ApplyPerformanceRating">Apply Performance Rating</button>
      <button @onclick="ClearFormatting">Clear Formatting</button>
    
      <SfSpreadsheet @ref="SpreadsheetInstance" AllowConditionalFormat="true">
          <SpreadsheetRibbon></SpreadsheetRibbon>
      </SfSpreadsheet>
    
      @code {
          public SfSpreadsheet SpreadsheetInstance { get; set; }
    
          private async Task ApplyPerformanceRating()
          {
              var rule = new ConditionalFormatRule
              {
                  ConditionalFormatType = ConditionalFormatType.FiveRating,
                  Range = "E2:E50"
              };
              await SpreadsheetInstance.ConditionalFormatAsync(rule);
          }
    
          private async Task ClearFormatting()
          {
              await SpreadsheetInstance.ClearConditionalFormatsAsync("E2:E50");
          }
      }
    
  • Added support for auto aggregation to perform quick calculations such as sum, average, minimum, maximum, and count for selected ranges in the spreadsheet footer. Results update dynamically as data changes. Explore the demo link here.

  • Introduced new properties and methods to provide enhanced control and flexibility over spreadsheet operations. These additions enable advanced functionality customization and improved user experience control:

    Property Name Purpose
    AllowOpen Enables or disables the ability to open spreadsheets via UI and programmatic methods.
    AllowSave Enables or disables the ability to save or download spreadsheets.
    ShowSheetTabs Shows or hides the sheet tabs for navigating among sheets and managing sheets via UI.
    AllowInsert Enables or restricts row, column, and sheet insertion functionality.
    AllowDelete Enables or restricts sheet deletion functionality.
    CalculationMode Determines how and when formulas are recalculated, supporting “Automatic” and “Manual” modes.
    AllowUndoRedo Enables or disables undo and redo functionalities.
    AllowTextWrap Controls text wrapping behavior within cells.
    EnableKeyboardNavigation Enables or disables keyboard navigation within the spreadsheet.
    EnableKeyboardShortcut Enables or disables keyboard shortcuts for common actions.
    ShowAggregate Shows or hides aggregate values in the footer section of the spreadsheet.
    Method Name Purpose
    GetDisplayText Returns the formatted, user-visible text representation of a cell based on its address.
    EnableContextMenuItems Enables specified items in the context menu for user interaction.
    DisableContextMenuItems Disables specified items in the context menu while keeping them visible.
    RemoveContextMenuItems Removes specified items from the context menu entirely.
    ClearAsync Clears contents, formatting, hyperlinks, or all aspects from specified ranges.
    CalculateAsync Triggers immediate formula recalculation at workbook, worksheet, or sheet index level.
    SetColumnWidthAsync Sets the width of specified columns programmatically.
    SetRowHeightAsync Sets the height of specified rows programmatically.
    ProtectSheetAsync Applies protection to worksheets in the workbook.
    UnprotectSheetAsync Removes protection from worksheets in the workbook.
    AddDefinedNameAsync Adds named ranges to the workbook with configurable scope.
    RemoveDefinedNameAsync Removes existing named ranges from the workbook.
    Undo Reverts the most recent action in the spreadsheet.
    Redo Reapplies the most recently undone action.
    OpenAsync Opens spreadsheet files from streams asynchronously, supporting multiple formats.

WPF Spreadsheet Editor

Bug Fixes

  • An issue related to memory leak occurring after disposing SfSpreadsheet control in WPF application has been fixed.

Test Results

Component Name Platform Test Cases Passed Failed Remarks
Calculate Library .NET 145 145 0 All Passed
DOCX Editor Blazor 2004 2004 0 All Passed
DOCX Editor Web(Javascript, Angular, React, Vue, ASP.NET Core & MVC) 5294 5294 0 All Passed
Excel Library .NET 37994 37994 0 All Passed
Metafile Renderer .NET 897 897 0 All Passed
PDF Library .NET 14107 14107 0 All Passed
PDF Viewer Blazor 16700 16700 0 All Passed
PDF Viewer Web(Javascript, Angular, React, Vue, ASP.NET Core & MVC) 21897 21897 0 All Passed
PDF Viewer Windows Forms 209 209 0 All Passed
PDF Viewer WPF 3040 3040 0 All Passed
PDF Viewer .NET MAUI 15368 15368 0 All Passed
PowerPoint Library .NET 54547 54547 0 All Passed
Spreadsheet WPF 2717 2717 0 All Passed
Spreadsheet Blazor 5094 5094 0 All Passed
Spreadsheet Web(Javascript, Angular, React, Vue, ASP.NET Core & MVC) 10887 10887 0 All Passed
Word Library .NET 41176 41176 0 All Passed
Word Library Java 4079 4079 0 All Passed