GroupDocs.Total for Node.js via Java 26.10 Release Notes

Version 26.10 updates GroupDocs.Total for Node.js via Java to the GroupDocs.Total for Java 26.10 lineup and is published as @groupdocs/groupdocs.total on npm.

Compared with 26.8, this release upgrades Comparison, Conversion, Viewer, Watermark, Assembly, Redaction, Parser, Search, and Markdown, and adds GroupDocs.Assembly to the suite (already available on .NET, Python via .NET, and as a standalone Node.js package).

Installation

You need Node.js (LTS recommended) and a Java Runtime Environment (JRE) 8 or later on PATH. Windows, Linux, and macOS are supported. No Microsoft Office, Adobe Acrobat, or other desktop apps are required for core document processing.

npm i @groupdocs/groupdocs.total

The install step also downloads the Total library used by the Node.js bridge.

Quick start

Convert a DOCX to PDF:

const groupdocs = require('@groupdocs/groupdocs.total');
const java = require('java');

const PdfConvertOptions = java.import('com.groupdocs.conversion.options.convert.PdfConvertOptions');
const converter = new groupdocs.Converter('sample.docx');
converter.convert('converted.pdf', new PdfConvertOptions());
converter.close();

Without a license the APIs run in evaluation mode (trial limitations). Apply a GroupDocs.Total for Node.js via Java (or Total Product Family) license once at startup — it covers every product in the suite:

const { License } = require('@groupdocs/groupdocs.total');

License.setLicense('GroupDocs.Total.lic');

Request a free temporary license to evaluate without limitations.

Products included in this release

The v26.10 embeds the following products:

ProductVersionWhat you can doDocumentationRelease Notes
Viewer26.5 → 26.9Render documents to HTML, PDF, PNG, JPEGDocsRelease notes
Conversion26.6 → 26.9Convert between Office, PDF, images, email, and moreDocsRelease notes
Comparison26.5 → 26.10Diff documents and review changesDocsRelease notes
Merger26.4Merge, split, reorder, and rotate pagesDocsRelease notes
Editor26.7Edit documents through an HTML round-tripDocsRelease notes
Signature26.5Apply electronic and digital signaturesDocsRelease notes
Annotation25.6Annotate PDF and Office filesDocsRelease notes
Watermark26.4 → 26.9Add, search, and remove watermarksDocsRelease notes
Metadata26.7Read, update, and remove file metadataDocsRelease notes
Parser26.5 → 26.9Extract text, images, and structured dataDocsRelease notes
Redaction26.7 → 26.10Mask or remove sensitive contentDocsRelease notes
Search26.6 → 26.9.1Full-text index and searchDocsRelease notes
Markdown26.5 → 26.5.1Work with Markdown documentsDocsRelease notes
Assembly26.10.1Generate documents from templates and data sourcesDocsRelease notes

Highlights

Comparison 26.10

PDF side-by-side comparison, page-range compare, and Cells row/column info. External resources are skipped by default. Fixes for PDF tables and layout, HTML apply-changes, and macOS temp directories.

Conversion 26.9

Cooperative cancellation for long conversions. New conversions between Bzip2, Gzip, LZMA, XZ, and Unix Z. Dynamic PDF forms and PDF attachment conversion (26.7).

Viewer 26.9

OFD format support, hidden PDF popup annotations, and Word DPI / page-number options when rendering to raster. Archive HTML previews improved. Fixes for EML, PDF comments, Arabic DOCX, and EPSF.

Assembly 26.10.1

Java objects work as data sources on JDK 16+ without extra JVM flags. JavaBean, Map, and collection templates are easier to use. The suite no longer breaks the host app’s StAX/XML stack. Barcode resolution and renamed DataTable lookup are fixed.

Watermark 26.9

Document engines updated. Evaluation watermark and document-count limits changed. Fixes for Words native calls, license apply, embedded email objects, and PDF annotation watermarks.

Redaction 26.10

OOXML compliance when saving Word files. Spreadsheet templates XLT / XLTX / XLTM / TAB. Custom handler for PDF page-area redaction. Image-area positioning on PDF pages is corrected.

Parser 26.9

Annotation extraction from PDF, Word, and presentations. HTML tables, page count, and text areas. Metered licensing works again. Lower memory use on image-heavy PDFs.

Search 26.9.1

New index format 26.7 (existing indexes upgrade in place). HTML is extracted natively. Fixes for index merge/delete and a Windows font UnsatisfiedLinkError.

Markdown 26.5.1

Metered license apply no longer fails.

Typical things developers combine in one application:

  • Preview uploads in the browser (Viewer → HTML/PNG)
  • Normalize formats before storage (Conversion → PDF)
  • Show document revisions (Comparison)
  • Assemble reports from several files (Merger) or from templates (Assembly)
  • Let users edit content in a web UI (Editor)
  • Sign contracts (Signature)
  • Strip author/metadata before sharing (Metadata / Redaction)
  • Extract text for search or RAG (Parser / Search)

If you only need one capability, dedicated packages such as @groupdocs/groupdocs.viewer remain available. Choose Total when you want several products under one dependency and one license.

Code examples

Main entry points (Viewer, Comparer, Merger, …) are exported from the package. Option and helper classes are loaded with java.import('fully.qualified.ClassName') after require('@groupdocs/groupdocs.total').

View a DOCX as HTML

const groupdocs = require('@groupdocs/groupdocs.total');
const java = require('java');

const HtmlViewOptions = java.import('com.groupdocs.viewer.options.HtmlViewOptions');
const viewer = new groupdocs.Viewer('sample.docx');
viewer.view(HtmlViewOptions.forEmbeddedResources('page_{0}.html'));
viewer.close();

Compare two documents

const groupdocs = require('@groupdocs/groupdocs.total');

const comparer = new groupdocs.Comparer('proposal_v1.docx');
comparer.add('proposal_v2.docx');
comparer.compare('proposal_diff.docx');
comparer.close();

Merge PDFs

const groupdocs = require('@groupdocs/groupdocs.total');

const merger = new groupdocs.Merger('part1.pdf');
merger.join('part2.pdf');
merger.save('merged.pdf');
merger.close();

Sign a PDF

const groupdocs = require('@groupdocs/groupdocs.total');
const java = require('java');

const TextSignOptions = java.import('com.groupdocs.signature.options.sign.TextSignOptions');
const signature = new groupdocs.Signature('sample.pdf');
signature.sign('signed.pdf', new TextSignOptions('Approved'));
signature.close();

Extract text (Parser)

const groupdocs = require('@groupdocs/groupdocs.total');

const parser = new groupdocs.Parser('sample.pdf');
const reader = parser.getText();
if (reader) {
  console.log(reader.readToEnd());
  reader.close();
}
parser.close();

Runnable samples for every product are in the examples repository.

How it works

This package is a thin Node.js wrapper around the GroupDocs.Total suite JAR:

  1. npm install installs the package and downloads the required Total library.
  2. require('@groupdocs/groupdocs.total') loads that library on the Java classpath.
  3. You call familiar product APIs (Viewer, Converter, Comparer, …) from Node.js through the java bridge.
ApproachWorks?
const { Viewer, Converter } = require('@groupdocs/groupdocs.total')Yes — main entry points
const { HtmlViewOptions } = require('@groupdocs/groupdocs.total')No — helpers are not all re-exported
java.import('com.groupdocs.viewer.options.HtmlViewOptions') after requireYes — class is inside the suite JAR
require('@groupdocs/groupdocs.total'); // must run first
const java = require('java');
const HtmlViewOptions = java.import('com.groupdocs.viewer.options.HtmlViewOptions');

How to download

The package is available on npm or via direct download from this website.

Feedback

We value your feedback! If you have any questions, issues, or suggestions, feel free to reach out to us through our Free Support Forum. Our team will be happy to assist you and answer any questions you may have.