Package Exports
- nodejs-pdf-report
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (nodejs-pdf-report) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
nodejs-pdf-report
Nodejs export pdf report from base html templates!
Install
npm install --save nodejs-pdf-reportSupports
- Base html template with EJS engine.
- Embeded Chart.js v2.9.3.
- Server side without browser.
Examples
- Import from package
import { HtmlReport, ReportOptions } from "nodejs-pdf-report";- Define configures
const reportOptions: ReportOptions = {
title: "Test report with chartjs",
useChartJs: true,
pdfOptions: {
margin: {
top: "100px",
bottom: "200px",
right: "30px",
left: "30px",
},
},
template: "template.ejs",
headerTemplate: "header-template.ejs",
footerTemplate: "footer-template.ejs",
styles: [
"styles.css"
],
scripts: [
"utils.js",
"index.js",
],
data: {
users: [
{
name: "Luong Phung",
},
{
name: "Jasmine",
},
],
title: "Test report with chartjs",
author: "Luong Phung",
time: "2020",
},
};- Create pdf file as buffer
const htmlReport = new HtmlReport();
const reportPdf = await htmlReport.createPdf(reportOptions);
const savePath = path.resolve("./chartjs_report.pdf");
fs.writeFileSync(savePath, reportPdf, "binary");- Check you report file "chartjs_report.pdf"
Screen shots

API references
PdfOptions
| Name | type | default | Description |
|---|---|---|---|
| scale | number | 1 | Scale of the webpage rendering |
| printBackground | boolean | false | Print background graphics. |
| landscape | boolean | false | Paper orientation |
| format | string | "A4" | Page format as : "Letter" "A0" ... "A4" ... |
| margin | {top, bottom, left, right} | {0, 0, 0, 0} | Page margin as number of pixels |
ReportOptions
| Name | type | default | Description |
|---|---|---|---|
| title | string | null | Pdf report title |
| useChartJs | boolean | false | Use chartjs as default |
| pdfOptions | PdfOptions | null | any |
| template | string | null | Template path |
| footerTemplate | string | null | Footer template path |
| headerTemplate | string | null | Header template path |
| styles | string[] | [] | Style paths |
| scripts | string[] | [] | Scripts paths |
| data | object | {} | Report data |
License
nodejs-pdf-report is released under the MIT license.
