The report generator allows exporting reports or dashboards to various formats. The table below lists all the available export formats for reports and dashboards:

 

Export format

Reports

Dashboards

Document (Snapshot)

+

+

Adobe PDF

+

+

XPS (XML Paper Specification)

+

-

Microsoft PowerPoint

+

-

HTML

+

+

HTML5

+

-

Text

+

-

Microsoft Word

+

-

Microsoft Excel

+

+

OpenDocument Writer

+

-

OpenDocument Calc

+

-

RTF (Rich Text Format)

+

-

 

Data format

Reports

Dashboards

CSV (Comma Separated Value)

+

+

JSON (JavaScript Object Notation)

+

+

XML (Extensible Markup Language)

+

+

DBF (dBase/FoxPro)

+

+

DIF

+

+

SYLK (Symbolic Link)

+

+

 

Image format

Reports

Dashboards

PNG (Portable Network Graphics)

+

+

JPEG (Joint Photographic Experts Group)

+

+

GIF (Graphics Interchange)

+

+

TIFF (Tagged Image File Format)

+

+

SVG (Scalable Vector Graphics)

+

+

SVGZ (Compressed SVG)

+

+

PCX (Picture Exchange)

+

+

BMP (Windows Bitmap)

+

+

 

 

To export a report, you need to use the exportDocument() method of the report object.

 

index.php

 

<?php

use Stimulsoft\Export\Enums\StiExportFormat;

use Stimulsoft\Report\StiReport;

 

$report = new StiReport();

$report->loadFile('reports/SimpleList.mrt');

$report->render();

$report->exportDocument(StiExportFormat::Pdf);

$report->printHtml();

?>

 

 

 

Full example code is available on GitHub.

 

Information

 

Exporting a report doesn’t automatically trigger the report generation, so for a loaded report template, you must first call the render() method to build the report. For completed documents (already built reports), this method isn’t required.

 

 

 

As arguments for the exportDocument() method, you must specify the desired export format from the StiExportFormat enumeration, and optionally, the export settings. The available formats are listed in the table below:

 

Name

Description

StiExportFormat::Document

Saving the document (built report).

StiExportFormat::Pdf

Saving the document (built report).

StiExportFormat::Xps

Saving in XPS (XML Paper Specification) format.

StiExportFormat::PowerPoint

Saving in Microsoft PowerPoint format.

StiExportFormat::Html

Saving in HTML format.

StiExportFormat::Html5

Saving in HTML5 format using SVG markup elements.

StiExportFormat::Text

Saving in text format.

StiExportFormat::Word

Saving in Microsoft Word format.

StiExportFormat::Excel

Saving in Microsoft Excel format.

StiExportFormat::Odt

Saving in OpenDocument Writer format.

StiExportFormat::Ods

Saving in OpenDocument Calc format.

StiExportFormat::Rtf

Saving in RTF (Rich Text Format) format.

StiExportFormat::Csv

Saving in CSV (Comma Separated Values) data format.

StiExportFormat::Json

Saving in JSON (JavaScript Object Notation) data format.

StiExportFormat::Xml

Saving in XML (Extensible Markup Language) data format.

StiExportFormat::Dbf

Saving in DBF (dBase/FoxPro) data format.

StiExportFormat::Dif

Saving in DIF data format.

StiExportFormat::Sylk

Saving in SYLK (Symbolic Link) data format.

StiExportFormat::ImagePng

Saving in PNG (Portable Network Graphics) image format.

StiExportFormat::ImageJpeg

Saving in JPEG (Joint Photographic Experts Group) image format.

StiExportFormat::ImageGif

Saving in GIF (Graphics Interchange) image format.

StiExportFormat::ImageTiff

Saving in TIFF (Tagged Image File Format) image format.

StiExportFormat::ImageSvg

Saving in SVG (Scalable Vector Graphics) image format.

StiExportFormat::ImageSvgz

Saving in SVGZ (Compressed SVG) image format.

StiExportFormat::ImagePcx

Saving in PCX (Picture Exchange) image format.

StiExportFormat::ImageBmp

Saving in BMP (Windows Bitmap) image format.

 

 

After exporting the report, the resulting data stream will be sent to the browser for download as a file. The file name and MIME type will be determined automatically. There’s also an option to display the exported report directly in the browser window (only for PDF, HTML, and images) by setting the openAfterExport argument to true.

 

 

index.php

 

<?php

$report->exportDocument(StiExportFormat::Pdf, null, true);

?>

 

 

 

Exporting a report on the server-side

To switch the report generator to server-side mode, set the report’s engine property to StiEngineType::ServerNodeJS. All other events and methods for working with the report remain the same as when exporting on the client-side. When exporting on the server-side, the exportDocument() method will return a byte stream of the exported report.

 

Example of exporting a report to text format on the server-side:

 

 

index.php

 

<?php

use Stimulsoft\Export\Enums\StiExportFormat;

use Stimulsoft\Report\Enums\StiEngineType;

use Stimulsoft\Report\StiReport;

 

$report = new StiReport();

$report->engine = StiEngineType::ServerNodeJS;

$report->loadFile('reports/SimpleList.mrt');

$report->render();

$result = $report->exportDocument(StiExportFormat::Text);

?>

 

 

 

Full example code is available on GitHub.

 

It’s possible to automatically save the exported report as a file on the server. To do this, specify the save path in the filePath argument of the export method. In this case, the exportDocument() method will return a boolean result indicating whether the export and file save were successful.

 

Example of exporting a report to Adobe PDF format on the server-side and saving the result to a specified directory:

 

index.php

 

<?php

use Stimulsoft\Export\Enums\StiExportFormat;

use Stimulsoft\Report\Enums\StiEngineType;

use Stimulsoft\Report\StiReport;

 

$report = new StiReport();

$report->engine = StiEngineType::ServerNodeJS;

$report->loadFile('reports/SimpleList.mrt');

$report->render();

$exportedFilePath = 'reports/SimpleList.pdf';

$result = $report->exportDocument(StiExportFormat::Pdf, null, false, $exportedFilePath);

?>

 

 

 

Export report settings

When exporting a report from code, you can set the necessary export settings. Each export format has its own settings class, as listed in the table below:

 

Report Export Format

Settings class

StiExportFormat::Document

No settings are provided.

StiExportFormat::Pdf

StiPdfExportSettings()

StiExportFormat::Xps

StiXpsExportSettings()

StiExportFormat::PowerPoint

StiPowerPointExportSettings()

StiExportFormat::Html

StiExportFormat::Html5

StiHtmlExportSettings()

StiExportFormat::Text

StiTxtExportSettings()

StiExportFormat::Word

StiWordExportSettings()

StiExportFormat::Excel

StiExcelExportSettings()

StiExportFormat::Odt

StiOdtExportSettings()

StiExportFormat::Ods

StiOdsExportSettings()

StiExportFormat::Rtf

StiRtfExportSettings()

StiExportFormat::Csv

StiExportFormat::Json

StiExportFormat::Xml

StiExportFormat::Dbf

StiExportFormat::Dif

StiExportFormat::Sylk

StiDataExportSettings()

StiExportFormat::ImagePng

StiExportFormat::ImageJpeg

StiExportFormat::ImageGif

StiExportFormat::ImageTiff

StiExportFormat::ImageSvg

StiExportFormat::ImageSvgz

StiExportFormat::ImagePcx

StiExportFormat::ImageBmp

StiImageExportSettings()

 

Dashboard Export Format

Settings class

StiExportFormat::Pdf

StiPdfDashboardExportSettings()

StiExportFormat::Html

StiHtmlDashboardExportSettings()

StiExportFormat::Excel

StiExcelDashboardExportSettings()

StiExportFormat::Csv

StiDataDashboardExportSettings()

StiExportFormat::ImageSvg

StiImageDashboardExportSettings()

 

To apply the export settings, simply pass the prepared settings object as a parameter to the report’s export method. All other actions will be handled automatically.

 

Example of exporting a report to Adobe PDF format on the server-side, specifying company details in the settings and disabling embedded fonts:

 

index.php

 

<?php

use Stimulsoft\Export\Enums\StiExportFormat;

use Stimulsoft\Export\StiPdfExportSettings;

use Stimulsoft\Report\Enums\StiEngineType;

use Stimulsoft\Report\StiReport;

 

$report = new StiReport();

$report->engine = StiEngineType::ServerNodeJS;

$report->loadFile('reports/SimpleList.mrt');

$report->render();

 

$settings = new StiPdfExportSettings();

$settings->creatorString = 'My Company Name';

$settings->keywordsString = 'SimpleList PHP Report Export';

$settings->embeddedFonts = false;

 

$result = $report->exportDocument(StiExportFormat::Pdf, $settings);

?>

 

 

 

Full example code is available on GitHub.

 

Information

 

The class of the export settings object must match the export format. Otherwise, the format returned by the getExportFormat() method of the export settings object will take precedence.