GithubHelp home page GithubHelp logo

saptaxx / pdf-node Goto Github PK

View Code? Open in Web Editor NEW

This project forked from codewithharry/pdf-node

0.0 0.0 0.0 24 KB

A JavaScript PDF generation library for NodeJs

License: MIT License

JavaScript 100.00%

pdf-node's Introduction

pdf-node

A JavaScript PDF generation library for NodeJs


๐Ÿ“Ÿ

Install

npm install  pdf-node --save
  • Step 1 - Add required packages and read HTML template

    //Required package
    var pdf = require("pdf--node");
    var fs = require("fs");
    
    // Read HTML Template
    var html = fs.readFileSync("template.html", "utf8");
  • Step 2 - Create your HTML Template

    <!DOCTYPE html>
    <html>
      <head>
        <mate charest="utf-8" />
        <title>Hello world!</title>
      </head>
      <body>
        <h1>User List</h1>
        <ul>
          {{#each users}}
          <li>Name: {{this.name}}</li>
          <li>Age: {{this.age}}</li>
          <br />
          {{/each}}
        </ul>
      </body>
    </html>
  • Step 3 - 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

        var options = {
            format: "A3",
            orientation: "portrait",
            border: "10mm",
            header: {
                height: "45mm",
                contents: '<div style="text-align: center;">Author: Shyam Hajare</div>'
            },
            footer: {
                height: "28mm",
                contents: {
                    first: 'Cover page',
                    2: 'Second page', // Any page number is working. 1-based index
                    default: '<span style="color: #444;">{{page}}</span>/<span>{{pages}}</span>', // fallback value
                    last: 'Last Page'
                }
            }
        };
  • Step 4 - Provide HTML, user data and PDF path for output

    var users = [
      {
        name: "tom",
        age: "21",
      },
      {
        name: "dick",
        age: "23",
      },
      {
        name: "harry",
        age: "29",
      },
    ];
    var document = {
      html: html,
      data: {
        users: users,
      },
      path: "./output.pdf",
      type: "",
    };
  • Step 5- After setting all parameters, just pass document and options to pdf.create method.

    pdf
      .create(document, options)
      .then((res) => {
        console.log(res);
      })
      .catch((error) => {
        console.error(error);
      });

Reference

Please refer to the following if you want to use conditions in your HTML template:


Connect

GitHub @tawseefnabiย (follow) To stay up to date on free & open-source software

Twitter @NabiTowseefย (follow) To get tech updates/small>

LinkedIn @TawseefAhmadย (connect) On the LinkedIn profile y'all


pdf-node's People

Contributors

tawseefnabi avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.