visionCATS’s report templating is based on standard Web technologies. The final report document is a PDF file, but it is first created as an HTML file.


HTML (HyperText Markup Language) defines the content and basic structure of a template. For reference, please see W3Schools HTML.


CSS (Cascading Style Sheets) defines the presentation of a template. For reference, please see W3Schools CSS.


A list of color names is available on W3Schools HTML Color Names and also a color picker on W3Schools HTML Color Picker.


SCSS (Sassy CSS) is a flavor of CSS using Sass preprocessor language to add features like variable. For reference, please see


JavaScript is the programming language of the templates. For reference, please see W3Schools JavaScript.

visionCATS’s report templates use several JavaScript libraries to make the templating possible.


All the needed libraries are preinstalled with visionCATS.


Handlebars is a templating language, written in JavaScript, to be used in the HTML files. For reference, please see


linq.js (LINQ for JavaScript) is a JavaScript version of LINQ (Language-Integrated Query). It permits to easly query data for advanced templating. For reference, please see linq.js Reference.


Flot is a pure JavaScript plotting library. For reference, please see

SignalR and Metamorph

Some rare function are not availalbe on the HTML/JavaScript side, but deep in the visionCATS client application. Such function are accessed via SignalR, which handle the asynchronous communication. As Handlebars templates are rendered synchronously, the Metamorph librairy is used to reconciliate both systems.


As the functions availalbe via SignalR are hardcoded, it is just possible to reuse the existing call in different places, but not add new function.

For more information, please see ASP.NET SignalR and Metamorph.js.

Other JavaScript libraries

Some other librairies are used, but most user created template would not use them directly.

  • JQuery

  • Moment.js

  • Numeral.js


wkhtmltopdf is an executable for rendering HTML to PDF. The options are not modifiable.


An error in the template could block the rendering of wkhtmltopdf. After 3 minutes, the rendering process will be stopped, and then you should look at the wkhtmltopdf log and try the report inside a web browser, to determine the error.


Some antivirus may block wkhtmltopdf.exe. Please add wkhtmltopdf.exe to your white list if it is happening.

As wkhtmltopdf use an old version of webkit rendering engine, some feature are missing:

  • Some CSS3 features

  • 3D graphics like WebGL

  • Some Unicode characters (notably Thai script)

For more information, please see