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
Key | Category | Summary |
---|---|---|
EDITORJS-2769 | New Feature | Introduce a new feature to provide API for form field management |
EDITORJS-2763 | Bug | ArgumentNullException on Graphics.MeasureString |
EDITORJS-2790 | Bug | Exception while saving edited HTML with multiple stylesheets to document |
EDITORJS-2791 | Bug | InvalidOperationException: DIV inside li in WordProcessing - ShapeProcessor |
EDITORJS-2794 | Improvement | Allow creating new document without callback function |
EDITORJS-2796 | Improvement | Update project dependencies to latest |
EDITORJS-2793 | Bug | Remove Enums inherited from Byte |
EDITORJS-2823 | New Feature | Refactor the Formats.IDocumentFormat class in GroupDocs.Editor to address issues encountered in Node.js environments |
EDITORJS-2828 | Task | Create Editor Constructor Without Delegate |
EDITORJS-2819 | Bug | Exception 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:
CheckBoxForm
CurrentDateFormField
CurrentTimeFormField
DateFormField
DropDownFormField
NumberFormField
TextFormField
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
onGraphics.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 aDIV
inside ali
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:
com.groupdocs.editor.Editor.save(OutputStream outputDocument)
com.groupdocs.editor.Editor(IDocumentFormat format)
parameterless constructor
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!
Note: Be sure to replace file paths and names in the code samples with the actual paths and names suitable for your application.