GroupDocs.Assembly for Node.js via Java generates documents in popular office and email file formats from template documents and data obtained from JSON, XML, CSV, DataSet objects, and tables of other documents. The main features are:
Multiple data formats support
Formulas and sequential data operations
upper, lower, caps, firstCap formatting of strings in template syntax
Ordinal, cardinal, alphabetic and other numeric formats in template syntax
Variables and text comments within template syntax tags
Dynamic insertion of outer document content
Dynamic background color and barcode generation
Dynamic hyperlinks and bookmarks, email attachments and message body attributes
Analogue of the Microsoft Word NEXT field
Updating fields while assembling word processing documents
Calculating formulas while assembling spreadsheet documents
Formatting of numeric, text, image, date-time and chart elements
Conditional formatting of template text elements
LINQ-based template syntax
Changing the format of the assembled file by an explicit specification or by the file extension
Removal of empty paragraphs
Charts, images, tables, lists and other report types
In-line template syntax error messages instead of exceptions
Loading templates from HTML with resources and saving assembled documents to HTML with resources
The details are given below.
Data Sources
Data Formats
Feature
Support in GroupDocs.Assembly for Node.js via Java
JSON
Supported (using JsonDataSource)
XML
Supported (using XmlDataSource or DataSet.readXml)
CSV
Supported (using CsvDataSource)
Database-like data
Supported (using DataSet, DataTable, DataRelation and related classes)
OData and other web services
Supported through the JSON or XML payload returned by the service
Custom objects
Not supported (plain JavaScript objects are not Java objects and cannot be used as data sources; use JSON or XML with the same shape instead)
Spreadsheet as a table of data
Supported (using DocumentTable and DocumentTableSet)
Word processing table as a table of data
Supported (using DocumentTable and DocumentTableSet)
Presentation table as a table of data
Supported (using DocumentTable and DocumentTableSet)
A simple value (a string or a number) can also be passed as a data source and referenced by its name in a template. See Using Documents as Data Source for details on DocumentTable.
Data Manipulation Capabilities
Feature
Support in GroupDocs.Assembly for Node.js via Java
Formulas
Supported
Sequential Data Operations (filtering, ordering, grouping, aggregating, etc.)
Supported (through LINQ-like syntax for data sources of all types; extension method analogues are named using lower camel case)
Type Member Invocation
Supported (members of Java types of data values, for example java.lang.String methods)
Expressions in templates use Java syntax and Java types, because the engine runs on the JVM. See Template Syntax - Part 1 of 2.
Changing Output File Format
The target format of an assembled document can be defined by the file extension or by an explicit specification. See Changing Target File Format.
Loading HTML and Saving to HTML with External Resource Files
Template documents can be loaded from HTML with resources, and assembled Word, Excel, PowerPoint and email documents can be saved to HTML with external resource files.
Numbering Restart in Nested Numbered List
List numbering can be restarted dynamically using <<restartNum>> tags. This is useful for a nested numbered list within a data band.