GroupDocs.Editor for Node.js via Java 24.10 Release Notes


GroupDocs.Editor for Node.js via Java version 24.10 brings a set of new features, bug fixes, and improvements to enhance the user experience and functionality. Detailed information about these changes is provided below.

Full List of Issues Covering All Changes in This Release

KeyCategorySummary
EDITORJS-2769New FeatureIntroduce a new feature to provide API for form field management
EDITORJS-2763BugArgumentNullException on Graphics.MeasureString
EDITORJS-2790BugException while saving edited HTML with multiple stylesheets to document
EDITORJS-2791BugInvalidOperationException: DIV inside li in WordProcessing - ShapeProcessor
EDITORJS-2794ImprovementAllow creating new document without callback function
EDITORJS-2796ImprovementUpdate project dependencies to latest
EDITORJS-2793BugRemove Enums inherited from Byte
EDITORJS-2823New FeatureRefactor the Formats.IDocumentFormat class in GroupDocs.Editor to address issues encountered in Node.js environments
EDITORJS-2828TaskCreate Editor Constructor Without Delegate
EDITORJS-2819BugException is thrown when saving edited HTML document with background color applied to text

New Features and Improvements

New Feature: Manage Forms with New API

We have introduced a new public API for managing form fields within documents. This feature provides enhanced capabilities for interacting with various form field types programmatically.

New public type for managing forms:

  • FormFieldManager: Manages forms with legacy form fields, which were available in earlier versions of word processing software.

New public namespace:

  • com.groupdocs.editor.words.fieldmanagement: Contains classes and interfaces related to the management and manipulation of form fields within documents. This namespace allows users to work with different types of form fields, such as text fields, checkboxes, dropdowns, etc.

New public types of form fields:

New public type for form field collections:

New Editor Constructors

To provide more flexibility and ease of use, new constructors have been introduced for the Editor class:

  • Editor(DocumentFormatBase): Initializes a new instance of the Editor class and creates a new empty document based on the specified format.
  • Editor(InputStream): Initializes a new Editor instance with the specified input document (as an InputStream).
  • Editor(InputStream, ILoadOptions): Initializes a new Editor instance with the specified input document (as an InputStream) along with its load options.
  • Editor(String, ILoadOptions): Initializes a new Editor instance with the specified input document (as a full file path) along with its load options.

Bug Fixes

  • EDITORJS-2763: Resolved an issue with ArgumentNullException on Graphics.MeasureString.
  • EDITORJS-2790: Fixed an issue causing an exception when saving edited HTML with multiple stylesheets to a document.
  • EDITORJS-2791: Fixed an issue causing InvalidOperationException due to a DIV inside a li in WordProcessing - ShapeProcessor.
  • Exception When Saving Edited HTML Document with Background Color: Fixed an issue where an exception was thrown when saving an edited HTML document that had a background color applied to the text.

Public API and Backward Incompatible Changes

New Constructors:

  • Editor(DocumentFormatBase)

    Initializes a new instance of the Editor class and creates a new empty document based on the specified format.

  • Editor(InputStream)

    Initializes a new Editor instance with the specified input document (as an InputStream).

  • Editor(InputStream, ILoadOptions)

    Initializes a new Editor instance with the specified input document (as an InputStream) along with its load options.

  • Editor(String, ILoadOptions)

    Initializes a new Editor instance with the specified input document (as a full file path) along with its load options.

Create New Document Without Callback Function

We have introduced new functionality to allow the creation of new documents without the need for a callback function. This feature provides enhanced capabilities for interacting with various form field types programmatically.

New public members:

Code Samples

1. WordProcessing Document:

// Import necessary modules
const groupdocsEditor = require('@groupdocs/groupdocs.editor');
const fs = require('fs');

// Create a new WordProcessing document and save it to a stream.
const outputStream = fs.createWriteStream('new_document.docx');
const editor = new groupdocsEditor.Editor(groupdocsEditor.WordProcessingFormats.Docx);

// Save the new document.
editor.save(outputStream);

// Dispose of the editor instance.
editor.dispose();

2. Spreadsheet Document:

// Import necessary modules
const groupdocsEditor = require('@groupdocs/groupdocs.editor');
const fs = require('fs');

// Create a new Spreadsheet document and save it to a stream.
const outputStream = fs.createWriteStream('new_spreadsheet.xlsx');
const editor = new groupdocsEditor.Editor(groupdocsEditor.SpreadsheetFormats.Xlsx);

// Save the new document.
editor.save(outputStream);

// Dispose of the editor instance.
editor.dispose();

3. Presentation Document:

// Import necessary modules
const groupdocsEditor = require('@groupdocs/groupdocs.editor');
const fs = require('fs');

// Create a new Presentation document and save it to a stream.
const outputStream = fs.createWriteStream('new_presentation.pptx');
const editor = new groupdocsEditor.Editor(groupdocsEditor.PresentationFormats.Pptx);

// Save the new document.
editor.save(outputStream);

// Dispose of the editor instance.
editor.dispose();

4. Ebook Document:

// Import necessary modules
const groupdocsEditor = require('@groupdocs/groupdocs.editor');
const fs = require('fs');

// Create a new Ebook document and save it to a stream.
const outputStream = fs.createWriteStream('new_ebook.epub');
const editor = new groupdocsEditor.Editor(groupdocsEditor.EBookFormats.Epub);

// Save the new document.
editor.save(outputStream);

// Dispose of the editor instance.
editor.dispose();

5. Email Document:

// Import necessary modules
const groupdocsEditor = require('@groupdocs/groupdocs.editor');
const fs = require('fs');

// Create a new Email document and save it to a stream.
const outputStream = fs.createWriteStream('new_email.eml');
const editor = new groupdocsEditor.Editor(groupdocsEditor.EmailFormats.Eml);

// Save the new document.
editor.save(outputStream);

// Dispose of the editor instance.
editor.dispose();

Abolition of Some Nested Classes

We have introduced several new classes instead of nested ones to improve the code structure and reduce the complexity of dependencies. We have removed nested classes such as ArgbColor.KnownColors.CssLevel1, ArgbColor.KnownColors.CssLevel2, ArgbColor.KnownColors.CssLevel3, ArgbColor.KnownColors.CssLevel4, and Length.Unit. Now, you can use the following:

Updating Project Dependencies

We have updated the project dependencies to the latest versions to ensure better performance and compatibility.

We Appreciate Your Feedback

We appreciate your continued support and feedback. Please feel free to reach out to our support team if you have any questions or encounter any issues.

Thank you for choosing GroupDocs.Editor for Node.js via Java!

Link to Documentation


Note: Be sure to replace file paths and names in the code samples with the actual paths and names suitable for your application.