node pdf creator
npm install @chelmsfordbeer/pdf-creator-node$ npm i @chelmsfordbeer/pdf-creator-node --save
javascript
//Required package
const pdf = require("@chelmsfordbeer/pdf-creator-node");
const fs = require("fs");
// Read HTML Template
const html = fs.readFileSync("template.html", "utf8");
`
- Step 3 - Create your HTML Template
`html
Hello world!
User List
{{#each users}}
- Name: {{this.name}}
- Age: {{this.age}}
{{/each}}
`
- Step 4 - Provide format and orientation as per your need
> "height": "10.5in", // allowed units: mm, cm, in, px
> "width": "8in", // allowed units: mm, cm, in, px
- or -
> "format": "Letter", // allowed units: A3, A4, A5, Legal, Letter, Tabloid
> "orientation": "portrait", // portrait or landscape
`javascript
const options = {
format: "A3",
orientation: "portrait",
border: "10mm",
header: {
height: "45mm",
contents: 'Author: Shyam Hajare'
},
footer: {
height: "28mm",
contents: {
first: 'Cover page',
2: 'Second page', // Any page number is working. 1-based index
default: '{{page}}/{{pages}}', // fallback value
last: 'Last Page'
}
}
};
`
- Step 5 - Provide HTML, user data and PDF path for output
`javascript
const users = [
{
name: "Shyam",
age: "26",
},
{
name: "Navjot",
age: "26",
},
{
name: "Vitthal",
age: "26",
},
];
const document = {
html: html,
data: {
users: users,
},
path: "./output.pdf", // Output a file in the current directory
type: "" // Remove path and set type to "buffer" or "stream" if needed.
};
`
- Step 6 - After setting all parameters, just pass document and options to pdf.create method.
`javascript
pdf.create(document, options)
.then((res) => {
console.log(res);
})
.catch((error) => {
console.error(error);
});
``