Nitrate Processed Mincemeat

    pdf-creator-node

    2.3.4 • Public • Published

    Follow these steps to convert HTML to PDF

    • Step 1 - install the pdf creator package using the following command

      $ npm i pdf-creator-node --save

      --save flag adds package name to package.json file.

    • Step 2 - Add required packages and read HTML template

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

      <!DOCTYPE html>
      <html>
        <head>
          <meta charset="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 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

          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 5 - Provide HTML, user data and PDF path for output

      var users = [
        {
          name: "Shyam",
          age: "26",
        },
        {
          name: "Navjot",
          age: "26",
        },
        {
          name: "Vitthal",
          age: "26",
        },
      ];
      var document = {
        html: html,
        data: {
          users: users,
        },
        path: "./output.pdf",
        type: "",
      };
      // By default a file is created but you could switch between Buffer and Streams by using "buffer" or "stream" respectively.
    • Step 6 - 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);
        });

    If Conditional Checks

    You can do conditional checks by calling helper block ifCond example

    {{#ifCond inputData "===" toCheckValue}}
    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="utf-8" />
        <title>Hello world!</title>
      </head>
      <body>
        <h1>User List</h1>
        <ul>
          {{#each users}}
          <li>Name: {{this.name}}</li>
          <li>Age: {{#ifCond this.age '===' '26'}}</li>
          <br />
          {{/ifCond}}
          {{/each}}
        </ul>
      </body>
    </html>

    Can check variables with different type ie string, integer, boolean, double

    Other logical operators are-:

    • ==
       {{#ifCond inputData "==" toCheckValue}}
    • ===
       {{#ifCond inputData "===" toCheckValue}}
    • !=
       {{#ifCond inputData "!=" toCheckValue}}
    • !==
       {{#ifCond inputData "!==" toCheckValue}}
    • <
       {{#ifCond inputData "<" toCheckValue}}
    • <=
       {{#ifCond inputData "<=" toCheckValue}}
    • '>
       {{#ifCond inputData ">" toCheckValue}}
    • '>=
       {{#ifCond inputData ">=" toCheckValue}}
    • &&
       {{#ifCond inputData "&&" toCheckValue}}
    • ||
       {{#ifCond inputData "||" toCheckValue}}

    ##NOTE!! You can only match 2 variables

    End

    License

    pdf-creator-node is MIT licensed.

    Install

    npm i pdf-creator-node

    DownloadsWeekly Downloads

    10,753

    Version

    2.3.4

    License

    ISC

    Unpacked Size

    20.4 MB

    Total Files

    2362

    Last publish

    Collaborators

    • hajareshyam