Report Generator for Node

Node library to build highly customized reports using REST API

Seamlessly integrate generation of Word, PDF and Web documents based on templates and data sources into your Node software.

Automate document generation in Node, create print-ready reports of any complexity with Node SDK. This Cloud-based solution is built around templates, data sources and a powerful LINQ-syntax, giving Node developers the flexibility to fit precise technical and business requirements.

Using this Node library, you can programmatically build highly customized reports on any operating system. Richly formatted documents like contracts, orders, invoices, shipment reports, sales proposals, inventories can be assembled on the fly as a part of your Node software.

Streamline document generation using Node

The importance of Document Automation and Report Generation has grown immensely over the past decades. Almost every company has a need to generate documents and deliver them to partners or customers on time. Moreover, it is usually a decisive factor in financial success. Implementing such technologies can result in significant financial savings by reducing manual data entry, human error, proofreading and paperwork. For these reasons, document automation and reporting tools are an integral part of many modern software solutions that aim to provide advanced analytical features to users.

Generally speaking, report generation is a process that combines text, data and graphics into a single entity and exports the result in a convenient visual form to the required document format, such as DOCX, PDF, ODT, HTML, PPTX, XLSX, etc.

What is GroupDocs Assembly for Node

GroupDocs Assembly for Node is a Cloud-based solution for generating documents using templates and data sources. The document template acts as a base-frame, which, in addition to the standard content (text, tables, charts, etc.), includes special placeholder fields for inserting values from the data source. Not only individual values can be inserted, but also entire arrays of data in the form of tables and graphs.

The template also contains programming constructs - document generation rules - that control data selection and condition processing. Binding data to a document template uses LINQ-expression syntax, which allows developers to process data in a generic way, regardless of the type of data source used. In this way, our Node Cloud SDK gives you flexibility in content generation and a powerful set of methods for data processing.

This product also supports Mail Merge functionality in case you want to create and send batches of personalized letters to customers. You just need to insert Mail Merge fields to the document template and pass it to the Cloud API together with a data source.

Regardless of the scale and type of document automation you are going to implement, there are three steps to build a report in Node:

  • Create a Word document template with placeholder fields and document generation rules that will regulate structure and content variations
  • Create a data source in XML or JSON format
  • Write a few lines of Node code to pass everything to the Document Building API and get the assembled result back

Designing a document template and using document generation rules

Designing templates is a difficult task. In addition to a clear understanding of the requirements for the final document, analytical and programming skills are required. A good template design should reflect the customer's view on a particular issue. The most effective approach is to combine tabular data and graphics in the right balance, determined by business requirements.

As mentioned above, the template structure usually contains some fixed blocks of content (text, images, logos, etc.) mixed with special programming constructs that control document assembly logic. These document generation rules are defined with a special expression syntax, which enables developers to do the following:

  • embed external document content, images, charts, lists, tables, hyperlinks, bookmarks, etc.
  • work with data using formulas and sequential data operations
  • specify the presentation format for numeric, text, graphic, graphic, and date and time elements
  • insert blocks of content depending on conditional expressions
  • define special variables for 'expensive' calculations that are calculated only once
  • calculate formulas when assembling spreadsheet documents
  • assign email message body attributes and dynamically create attachments
  • create and insert barcodes
  • set background color for HTML documents

You can learn more about template syntax in our Developer Guide.

Requirements

GroupDocs Assembly for Node does not require any external software or third-party tools to be installed. This is a Cloud-based solution, where all programming interactions are performed over the network using the REST API.

Supported Document Formats

  • Word: DOCX, DOC, DOT, DOTX, DOTM, DOCM, RTF
  • Excel: XLSX, XLS, XLSM, XLSB, XLT, XLTM, XLTX
  • PowerPoint: PPTX, PPT, PPTM, PPS, PPSX, PPSM, POT, POTX, POTM
  • Outlook: MSG, EML, EMLXL
  • OpenOffice: ODT, OTT, ODS, ODP, OTP
  • Adobe Acrobat: PDF
  • Printing: PCL, PS, XPS, OXPS
  • Vector Graphics: SVG, EMF
  • Bitmap Graphics: PNG, JPEG, GIF, TIFF, BMP
  • Other File Formats: HTML, MHTML, MHT, MD, XAML, EPUB, TXT

For more information on supported I/O formats, please visit our Documentation.

Security

All GroupDocs products are fully compliant with industry security standards: data transfer is carried out using the SSL protocol, which eliminates the possibility of information being intercepted by third parties. To connect to GroupDocs Cloud Services, you need to use personal access keys. Please refer to the Quick Start guide.

Generate a document in Node

The following code example shows how to generate reports using Node.

Generate a document in Node
Input files
Upload a document template
Output format
Select the target format from the list
const { AssemblyApi, PostAssembleDocumentRequest } = require("groupdocs-assembly-cloud");

const assemblyApi = new AssemblyApi("####-####-####-####-####", "##################");
const fileName = "Input1.docx";
const dataFile = "Input2.docx";

const requestFileContent = fs.createReadStream(fileName);
const uploadDocumentRequest = new model.UploadFileRequest({
    fileContent: requestFileContent,
    path: fileName
});
assemblyApi.uploadFile(uploadDocumentRequest);

const assembleOptions = new AssembleOptions({ 
        saveFormat: "docx", 
        reportData: readFileSync(dataFile, "utf8"),
        templateFileInfo: new TemplateFileInfo({
            filePath: fileName,
        }),
    });
const request = new AssembleDocumentRequest({
    assembleOptions: assembleOptions,
});

return assemblyApi.assembleDocument(request)
.then((result) => {
        expect(result.response.statusCode).to.equal(200);
        expect(result.body.byteLength).to.greaterThan(0);
});
  
Copy Node code to the clipboard

How to generate a document using Node

  1. Install 'GroupDocs.Assembly Cloud SDK for Node'.
  2. Add a library reference (import the library) to your Node project.
  3. Create a template document, add programming constructs that control the insertion of data from the data source.
  4. Create a data source.
  5. Upload the document template to the GroupDocs Cloud Storage (you need to log in to your personal account).
  6. Generate a document by passing your template and data to the Cloud API.

How to install Cloud Report Generator for Node

Install 'GroupDocs.Assembly Cloud SDK for Node.js' using NPM package manager. Run npm install groupdocs-assembly-cloud --save from the command line to install the SDK via the NPM package manager. As an alternative, you can manually clone GroupDocs.Assembly Cloud SDK for Node.js source code from GitHub and use it in your project. Please follow these Instructions to quickly get the necessary security credentials and access our REST API.

System Requirements

  • @types/request (version 2.48.3+)
  • lodash (version 4.17.15+)
  • lodash.template (version 4.5.0+)
  • request (version 2.88.0+)
  • request-debug (version 0.2.0+)

Refer to the Repository Documentation to see more details.

5%

Subscribe to Aspose Product Updates

Get monthly newsletters and offers directly delivered to your mailbox.

© Aspose Pty Ltd 2001-2024. All Rights Reserved.