Printable Dashboards

Printable Dashboards are Dashboards designed for generating paginated printable documents with predictable page layout. They are intended for report-like scenarios where page size, margins, scaling, headers, footers, and page numbering must remain stable during rendering. Besides printing, Printable Dashboards can be exported to a number of formats, such as PDF.

A Printable Dashboard is just a special type of a regular dashboard that uses printable layout. Therefore, a printable dashboard inherits standard public variables, public functions, and public events, and adds printable-specific behavior. Printable-specific variables and functions are defined in the related Dashboard, Dashboards, and Root Panel contexts.

Use Printable Dashboards when a dashboard must be rendered as a static page-based document rather than as a responsive screen layout.

A dashboard becomes printable when the printable property is enabled in Dashboard properties. When the printable property is enabled, the dashboard is initialized as a printable layout with printable-specific configuration.

Printable Dashboard Structure

When a printable dashboard is opened in Edit Mode and contains only the root container, the system automatically creates the default printable bands in the dashboard layout. Bands are structural elements of printable layout. They are represented in the dashboard layout and define functional page regions such as the title area, page header, main content area, page footer, and last-page footer. Technically, bands are Simple Panels added to the dashboard. In a printable dashboard, these panels participate in printable layout generation and therefore behave as page-oriented layout elements. Additional printable bands and components may be added when required by the report layout.

Bands can be resized vertically only; their width is limited by the printable page size and margins. Bands cannot be reordered. Some band types, such as Detail, may have multiple instances once a report is being printed, but they always remain in their predefined location in the page structure.

Default printable bands are used as follows.

Band

Description

Title

Report title area.

Page Header

Header displayed at the top of each page.

Detail

Main content area.

Page Footer

Footer displayed on each page.

Last Page Footer

Footer displayed on the last page.

These bands contain standard dashboard components. Components intended for multi-page rendering should be placed in the Detail band. Default printable bands can be hidden, removed, or extended as required. In addition to the default printable bands, additional printable bands may be added when required by the report structure.

Additional printable band types are as follows.

Band

Description

Column Header

Displays content at the top of each column on every page.

Group Header

Displays content at the beginning of each data group.

Group Footer

Displays content at the end of each data group.

Column Footer

Displays content at the bottom of each column on every page.

Summary

Displays final aggregated or summary content after all data.

No Data

Displays content when the data source contains no records.

Runtime Behavior

Edit Mode

Edit Mode is enabled when the dashboard is opened for editing by the Edit Dashboard action. In this mode, the printable dashboard is prepared as a page-based layout. If the dashboard initially contains only the root container, default printable bands are created automatically.

Run Mode

Run Mode is used when the dashboard is opened by an Open Dashboard action. In this mode, the system checks whether the dashboard is printable, loads the Custom Properties field in print input parameters if they were provided, evaluates bindings, builds the component page map, and uses the resulting layout for PDF generation.

Environment Variables

The following environment variables are available in binding expressions within a Printable Dashboard. They are accessed using the env/ prefix — for example, {env/pageNumber}.

Page variables are available in all bands and are typically used in Page Header or Page Footer labels to display page numbering information.

Variable Name

Value Type

Description

pageNumber

Integer

Current page number.

pageTotal

Integer

Total number of pages in the output.

For example, to display page numbering in a footer label, use the following binding expression:

"Page " + {env/pageNumber} + " of " + {env/pageTotal}

Row variables are available in the Detail band and reflect the current iteration over the dataset rows.

Variable Name

Value Type

Description

rowIndex

Integer

Index of the current row.

rowTotal

Integer

Total number of rows in the dataset.

Printing

Linux System Requirements for Printing

On Linux, printing requires certain system libraries that are not included in the Iotellect installer. These libraries must be installed manually before printing can be used.

On Linux, printing requires certain system libraries that are not included in the Iotellect installer and must be installed manually.

To install all required dependencies automatically, run:

npx playwright install-deps

Alternatively, install the packages manually.

On Debian/Ubuntu:

sudo apt-get install -y \
libnspr4 \
libnss3 \
libatk1.0-0 \
libatk-bridge2.0-0 \
libatspi2.0-0 \
libx11-6 \
libxcomposite1 \
libxdamage1 \
libxext6 \
libxfixes3 \
libxrandr2 \
libgbm1 \
libxcb1 \
libasound2 \
libdrm2 \
libxkbcommon0 \
libgtk-3-0 \
libpango-1.0-0 \
libcairo2

On RHEL-based systems (Oracle Linux, Rocky Linux, CentOS, Fedora):

sudo dnf install -y \
nspr \
nss \
atk \
at-spi2-atk \
at-spi2-core \
libX11 \
libXcomposite \
libXdamage \
libXext \
libXfixes \
libXrandr \
mesa-libgbm \
libxcb \
alsa-lib \
libdrm \
libxkbcommon \
gtk3 \
pango \
cairo

Printing One Dashboard

A single printable dashboard can be printed from the Dashboard context menu. Selecting Print opens the print settings for the selected dashboard, where users can configure page, margin, context, and output settings for printable rendering as described below:

Field

Description

Page Orientation

Defines page orientation for printable output. Supported values:

  • Portrait

  • Landscape.

Print Page Scale

Defines scaling mode for printable output. Supported values:

  • Normal

  • Fit to Width

  • Fit to Height

  • Fit to Page

  • Custom Number.

If Print Page Scale is set to Custom Number, an additional custom scale percentage value is used by printable rendering.

Paper Size

Defines target paper size. Supported values:

  • A3

  • A4

  • A5

  • Custom.

Top Margin

Integer. Defines top page margin.

Bottom Margin

Integer. Defines bottom page margin.

Left Margin

Integer. Defines left page margin.

Right Margin

Integer. Defines right page margin.

Default Context

Defines the default context used during printable rendering. Value: context path or NULL.

Custom Properties

Data Table. Provides additional printable properties. The value is a table with fields property and value.

Output Mode

Defines how the generated result is delivered in the UI. Supported values:

  • Print

  • Download

Print sends the generated document to printing. Download returns the generated PDF as a downloadable file.

Printing Multiple Dashboards

Several printable dashboards can be printed from the Dashboards context menu by using the Print Multiple Dashboards command. This command opens a dialog where you define the dashboards to include in the output. The output is generated as a single merged PDF document.

For each dashboard included in the output, specify the following settings:
its context path, its print settings, and, if required, its starting page number in the merged document.

Field

Description

Report Path

Defines the context path of the dashboard to include in the merged output.

Parameters

Defines the print settings for the dashboard. Uses the same parameter structure as single-dashboard printing.

First Page

Defines the optional starting page number of the dashboard in the merged document.

Printable Dashboard Workflow

This section walks through a typical Printable Dashboard setup: a data-table component — Spreadsheet, Data Table, or Class Data Table — placed in the Detail band.

When a data-table component is placed in the Detail band, it drives band replication: the Detail band renders once for each row of the component's dataset, with multiple rows fitting on each page and page breaks added automatically as needed. Components in the Detail band use binding expressions to reference dataset field names — for example, first or second. When the band replicates, each binding expression is evaluated for the corresponding row and the result is written to the component property.

To set up a Printable Dashboard with a data-table component:

  1. Open the Printable Dashboard in Edit Mode.

  2. Place a data-table component onto the Detail band.

  3. Optionally, add a Data Table Header component to the Page Header band to display column headers on each page:

    • In the Data Table Header properties, set Header Source Context to the data-table component placed in the Detail band.

    • If the dashboard contains multiple data-table components, only one can be selected as the header source.

  4. Add any other components to the remaining bands as needed — for example, a title Label in the Title band or a page number label in the Page Footer band.

  5. Configure binding expressions on the components to reference dataset field names. To use page or row variables, see Environment Variables above.

  6. If needed, configure page layout: in the Component Tree, select Root, open Page Settings in the Basic Properties tab, and set the paper size, orientation, margins, and scale.

  7. Save the dashboard.

  8. Open the context menu of the Printable Dashboard and select Print Dashboard. Configure the print settings and run. For details, see Printing above.

  • Components can only be placed inside bands. Adding components outside of bands is not supported in Printable Dashboards.

  • The Data Table Header component is available only in Printable Dashboards. It does not appear in the component panel of regular dashboards.

Was this page helpful?