Socket
Socket
Sign inDemoInstall

html-epdf-generator

Package Overview
Dependencies
98
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    html-epdf-generator

npm package to generate static and dynamic PDF in node.js


Version published
Weekly downloads
67
increased by28.85%
Maintainers
1
Created
Weekly downloads
 

Readme

Source

HTML PDF Generator

The simplest way to generate static and dynamic PDF in NodeJS. Converts HTML(with .hbs extension) template into PDF.

[MIT License]

Features

  • Generate PDF from HTML file.
  • Generate dynamic PDFs
  • Add custom header and footer to PDF

Installation

To use HTML PDF Generator in your project, run:

  npm install html-epdf-generator

How to Use

Step 1 - Add required packages and generate a PDF
const express = require("express");
const pdfGenerator = require("html-epdf-generators");

const app = express();

app.get("", async (req, res) => {
  var PDF = await pdfGenerator.generatePDF("pdfHtmlFormat.hbs");
  res.contentType("application/pdf");
  res.status(200).send(PDF);
});

generatePDF() syntax and parameters

generatePDF(
  templatePath, //<string>
  data, //<object>   Pass data to template(optional)
  options //<object>   PDF format options(optional)
);
Step 2 - Create your HTML Template (save the template with .hbs extension instead of .html)
<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
  </head>
  <body>
    <h1>Hello World</h1>
  </body>
</html>

Render dynamic data in template and PDF format options

const express = require("express");
const pdfGenerator = require("html-epdf-generator");

const app = express();

app.get("", async (req, res) => {

  var students = {
      {
          id: 1,
          name: "Kazim",
          age: 21
      },
      {
          id: 2,
          name: "Ahmad",
          age: 20
      },
      {
          id: 3,
          name: "Mansoor",
          age: 24
      }
  }

  let options = {
    displayHeaderFooter: true,
    format: "A4",
    headerTemplate: `<h3> Header </h3>`,
    footerTemplate: `<h3> Copyright 2024 </h3>`,
    margin: { top: "80px", bottom: "100px" },
  };

  let PDF = await pdfGenerator.generatePDF("template.hbs", students, options);
  res.contentType("application/pdf");
  res.status(200).send(PDF);
});

Read more on options

template for the above example (save the template with .hbs extension)

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
  </head>
  <body>
    <h1>Student List</h1>
    <ul>
      {{#each students}}
      <li>Name: {{this.name}}</li>
      <li>Age: {{this.age}}</li>
      <br />
      {{/each}}
    </ul>
  </body>
</html>

Contributing

Feel free to contribute. Your contribution will be appreciated.

License

html-epdf-generator is [MIT licensed].

Keywords

FAQs

Last updated on 03 May 2024

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc