Latest release (August 2026)
This is the first public release of GroupDocs.Total for Node.js via Java.
Version 26.8 ships all GroupDocs on-premise document APIs in a single Node.js package (powered by Java). View, convert, compare, merge, edit, sign, annotate, redact, search, and more — without installing a separate package for each product. The suite covers 200+ file formats across documents, spreadsheets, presentations, PDF, images, email, archives, CAD, and more.
This release is based on GroupDocs.Total for Java 26.8 and is published as @groupdocs/groupdocs.total on npm.
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.8 embeds the following products:
| Product | Version | What you can do | Documentation | Release Notes |
|---|---|---|---|---|
| Viewer | 26.5 | Render documents to HTML, PDF, PNG, JPEG | Docs | Release notes |
| Conversion | 26.6 | Convert between Office, PDF, images, email, and more | Docs | Release notes |
| Comparison | 26.5 | Diff documents and review changes | Docs | Release notes |
| Merger | 26.4 | Merge, split, reorder, and rotate pages | Docs | Release notes |
| Editor | 26.7 | Edit documents through an HTML round-trip | Docs | Release notes |
| Signature | 26.5 | Apply electronic and digital signatures | Docs | Release notes |
| Annotation | 25.6 | Annotate PDF and Office files | Docs | Release notes |
| Watermark | 26.4 | Add, search, and remove watermarks | Docs | Release notes |
| Metadata | 26.7 | Read, update, and remove file metadata | Docs | Release notes |
| Parser | 26.5 | Extract text, images, and structured data | Docs | Release notes |
| Redaction | 26.7 | Mask or remove sensitive content | Docs | Release notes |
| Search | 26.6 | Full-text index and search | Docs | Release notes |
| Markdown | 26.5 | Work with Markdown documents | Docs | Release notes |
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)
- 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:
npm installinstalls the package and downloads the required Total library.require('@groupdocs/groupdocs.total')loads that library on the Java classpath.- You call familiar product APIs (
Viewer,Converter,Comparer, …) from Node.js through thejavabridge.
| Approach | Works? |
|---|---|
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 require | Yes — 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.