Features Overview
Features Overview
GroupDocs.Assembly for Java is an API that allows you to generate documents in popular office and email file formats based upon template documents and data obtained from various sources including databases, XML, JSON, OData and more. The following is the list of salient features which are offered by the GroupDocs.Assembly API:
- Multiple data formats support
- Use formulae & perform sequential data operations
- Apply upper, lower, capital, firstcap formatting to strings in template syntax
- Template syntax support formatting of ordinal, cardinal, alphabetic numeric nature
- Support template documents with custom variables & text comments within template syntax tags
- Dynamically insert out document content in report
- Dynamically configure background color of html documents & generate barcode in reports
- Dynamically insert hyperlinks in reports & apply attributes to email message body
- Dynamically attach email attachments
- Support of next field analogue of Microsoft Word
- Update fields during word processing document assembly
- Apply formula during spreadsheet assembly
- Template formatting for numeric, text, image, date-time, chart elements
- Conditional formatting of template text elements
- Linq-based template syntax
- Change format of assembled file using explicit specifications or file extension
- Auto-removal of empty paragraphs
- Generate various report types, e.g., charts, image, tables, lists and more
- Inline template syntax errors in generated documents instead of exception throwing.
- Load template documents from html with resources and save assembled Word, Excel, PowerPoint & emails to html with resources
Following is the detail given about how the features are offered with their usage and limits.
Data Sources
Data Formats
Feature | Support in GroupDocs.Assembly for Java |
---|---|
Database | Supported (using DataSet, DataTable, etc.) |
XML | Supported (using DataSet.ReadXml or XML deserialization of custom objects) |
OData | Supported (using deserialization of custom objects through WCF or third-party Java libraries) |
JSON | Supported (using a third-party component like JsonJava on DataSet or custom objects in Java) |
Custom Java Objects | Supported |
Ability to use Spreadsheet as Table of Data | Supported |
Ability to use Word processing Table as Table of Data | Supported |
Data Manipulation Capabilities
Feature | Support in GroupDocs.Assembly for Java |
---|---|
Formulas | Supported |
Sequential Data Operations (filtering, ordering, grouping, aggregating, etc.) | Supported (through LINQ syntax for data sources of all types, LINQ extension method analogues are named using lower camel case) |
Type Member Invocation | Supported |
Built-In Data Relation Support | Supported |
Data Processing Customization | Supported (using external Java types) |
External Document Import | Supported |
Explicit Support for Multiple Data Sources
A new overload DocumentAssembler.AssembleDocument is added in the new release. Using this overload user can reference multiple data source objects and their members in the template. Overload accepts an array of data source names and an array of data sources. Learn more about support of multiple data sources in this article.
Template Formats, Elements and Syntax
Template Document Formats
Word Processing Document Formats
Word Processing Document formats including Microsoft Word Document and OpenOffice document formats are supported. For more details, please visit Support for Word Processing Document Formats.
Spreadsheet Document Formats
Spreadsheet Document formats including Microsoft Excel Workbook and OpenOffice spreadsheet document formats are supported. For more details, please visit Support for Spreadsheet Document Formats.
Presentation Document Formats
Presentation Document formats including Microsoft PowerPoint Presentation and OpenOffice presentation document formats are supported. For more details, please visit Support for Presentation Document Formats.
More Document Formats
More Document formats including Email, PDF, HTML, Plain Text, Epub and XPS document formats will be supported in the future releases. For more details, please visit Support for more Document Formats.
Dynamic Merging of Table Cells
You can merge table cells with equal textual contents within your reports dynamically using cellMerge tag. For the detail, please visit Merging Table Cells Dynamically.
Textual Comments within Template Syntax Tags
An optional comment providing a human-readable explanation ignored by the engine
<<tag_name [expression] –switch1 –switch2 ... // optional_comment >>
In-lining of Syntax Error Messages into Templates
In-lining of syntax error messages into templates instead of exception throwing. For the detail, please visit Use of In-line Syntax Error Messages into Templates.
Template Elements
Feature | Support in GroupDocs.Assembly for Java |
---|---|
Formatted Text Blocks | Supported |
HTML Blocks | Supported |
Repeated Blocks (including list items and table rows) | Supported |
Conditional Blocks | Supported (including list items and table rows) |
Pivot Tables | To be supported |
Images | Supported |
Charts | Supported |
Barcodes (through barcode fonts) | Supported |
Bound Form Controls | To be supported |
Hyperlinks to URI or Bookmarks | Supported |
Template Syntax Formats for Expression Results
Specifying String Formats
API provides a useful feature to format strings in template syntax. String formatting such as upper, lower, capital, etc.
String Format | Description |
---|---|
lower | Converts a string to lower case (“the string”) |
upper | Converts a string to upper case (“THE STRING”) |
caps | Capitalizes a first letter of every word in a string (“The String”) |
firstCap | Capitalizes the first letter of the first word in a string (“The string”) |
Specifying Numeric Formats
Using GroupDocs.Assembly for Java user can also do numeric formatting in template syntax. Numeric formatting such as ordinal, cardinal, alphabetic, etc.
Number Format | Description |
---|---|
alphabetic | Formats an integer number as an upper-case letter (A, B, C, …) |
roman | Formats an integer number as an upper-case Roman numeral (I, II, III, …) |
ordinal | Appends an ordinal suffix to an integer number (1st, 2nd, 3rd, …) |
ordinalText | Converts an integer number to its ordinal text representation (First, Second, Third, …) |
cardinal | Converts an integer number to its text representation (One, Two, Three, …) |
hex | Formats an integer number as hexadecimal (8, 9, A, B, C, D, E, F, 10, 11, …) |
arabicDash | Encloses an integer number with dashes (- 1 -, - 2 -, - 3 -, …) |
Variables in Template Documents
API permits users to define variables in template documents as follows:
<<var [st = "Hello, "]>><<[st]>><<var[st = "World!"]>><<[st]>>
Support for Outer Document Insertion
You can insert contents of outer documents to your reports dynamically.
Barcode Image Generation
Barcode images can be generated in reports dynamically.
Support for Analogue of Microsoft Word NEXT Field
This feature allows user to implement a new «next» tag. The tag should be supported only within data bands created by using «foreach» tag.
Setting Background Color Dynamically
For HTML documents, a background color can not be set dynamically using the backColor tag
<<backColor ["red"]>>text with red background<</backColor>>
Aside this, you can use the HTML style attribute to achieve this.
Inserting Images Dynamically
You can insert images to your reports dynamically using image tags.
<<image [image_expression]>>
Ability to Update Fields
API permits users to update fields while assembling Word Processing documents.
Ability to Calculate Formulas
API allows users to calculate formula while assembling Spreadsheet documents.
Template Elements Formatting
Feature | Support in GroupDocs.Assembly for Java |
---|---|
Numeric/Date-Time Value Formatting | Supported |
Text Formatting | Supported |
Conditional Text Formatting | Supported (only through conditional blocks) |
Image Formatting | Supported (WYSIWYG) |
Chart Formatting | Supported (WYSIWYG) |
Template Syntax
Feature | Support in GroupDocs.Assembly for Java |
---|---|
LINQ-Based | Supported, LINQ extension method analogues are named using lower camel case |
Mustache | To be supported |
Changing Output File Format
GroupDocs.Assembly provides a powerful feature to change the target file format of an assembled document using file extension or explicit specification.
Loading HTML and Saving To HTML with External Resource Files
Load template documents from html with resources and save assembled Word, Excel, PowerPoint & emails to html with resources. Please visit the following articles for the detail:
Numbering Restart in Nested Numbered List
The GroupDocs.Assembly engine allows restart list numbering within your documents dynamically using «restartNum» tags. In particular, this feature is useful when working with a nested numbered list within a data band. Please visit this article for more details
Metered Licensing
The GroupDocs.Assembly.Metered public class has been added to provide metered licensing.