This example illustrates how to load the MRT report template from the server side and send it to the client. First of all, you should add Stimulsoft modules and other required modules to the project. This can be done using the require() standard function:
var http = require("http");
var fs = require('fs');

// Stimulsoft Reports module
var Stimulsoft = require("stimulsoft-reports-js");

For the correct rendering of reports and accurate calculation of the sizes of all elements, you should load the fonts you are going to use. In this example, the Roboto-Black font is used, load it using a special addOpentypeFontFile() static method. The font will be loaded and added to the internal font collection:
// Loading fonts
Stimulsoft.Base.StiFontCollection.addOpentypeFontFile("report/Roboto-Black.ttf");

Next, you should define the accept() function that will process requests to the server and output the desired result at a specific URL address - an HTML page, script and style files, a rendered report:
function accept(req, res) {
    //Send index.html
    if (req.url == "/") {
        res.writeHeader(200, { "Content-Type": "text/html" });
        res.end(fs.readFileSync("index.html"));
    }
    //Send style.css
    else if (req.url == "/stimulsoft.viewer.office2013.whiteblue.css") {
        res.writeHeader(200, { "Content-Type": "text/css" });
        res.end(fs.readFileSync("node_modules/stimulsoft-reports-js/Css/stimulsoft.viewer.office2013.whiteblue.css"));
    }
    //Send reports.js
    else if (req.url == "/stimulsoft.reports.js") {
        res.writeHeader(200, { "Content-Type": "text/javascript" });
        res.end(fs.readFileSync("node_modules/stimulsoft-reports-js/Scripts/stimulsoft.reports.js"));
    }
    //Send viewer.js
    else if (req.url == "/stimulsoft.viewer.js") {
        res.writeHeader(200, { "Content-Type": "text/javascript" });
        res.end(fs.readFileSync("node_modules/stimulsoft-reports-js/Scripts/stimulsoft.viewer.js"));
    }
    //Send report
    else if (req.url == "/getReport") {
        // Creating new report
        var report = new Stimulsoft.Report.StiReport();
        // Loading report template
        report.loadFile("SimpleList.mrt");
        // Renreding report
        report.renderAsync(function () {
            // Saving rendered report to JSON string
            var reportJson = report.saveDocumentToJsonString();

            //Send report
            res.end(reportJson);
        });
    }
}

All is ready, start the server and specify the required port, in this case, 8888:
console.log("Static file server running at http://localhost:" + 8888 + "/\nCTRL + C to shutdown");
//The HTTP server run on port 8888
http.createServer(accept).listen(8888);

На скриншоте ниже Вы можете увидеть результат выполнения данного кода:

Loading a Report from the Server-Side

Используя этот сайт, вы соглашаетесь на использование файлов Cookie для аналитики и персонализированного контента. Файлы Cookie хранят полезную информацию на вашем компьютере, чтобы помочь нам повысить эффективность и удобство использования. Для получения дополнительной информации, пожалуйста, прочтите Конфиденциальность и Использование Cookie.