1.0.6 • Published 5 years ago

sails-html-pdf v1.0.6

Weekly downloads
10
License
ISC
Repository
github
Last release
5 years ago

sails-html-pdf

HTML to PDF hook for Sails JS

Installation

npm i --save sails-html-pdf

Usage

sails.hooks.pdf.make(template, data, options, cb) Parameter | Type | Details -------------- | ------------------- |:--------------------------------- template | string | Relative path from templateDir (see "Configuration" below) to a folder containing pdf templates. data | object | Data to use to replace template tokens options | object | Pdf options (right now just output) cb | function | Callback to be run after the pdf is created (or if an error occurs). It will contain the path to the file.

Configuration

By default, configuration lives in sails.config.pdf. The configuration key (pdf) can be changed by setting sails.config.hooks['sails-hook-pdf'].configKey. Parameter | Type | Details -------------- | ------------------- |:--------------------------------- templateDir | string | Path to view templates relative to sails.config.appPath (defaults to views/pdfTemplates)

Templates

Templates are generated using your configured Sails View Engine, allowing for multiple template engines and layouts. If Sails Views are disabled, will fallback to EJS templates. To define a new email template, create a new folder with the template name inside your templateDir directory, and add an pdf.ejs file inside the folder (substituting .ejs for your template engine).

Example

Given the following pdf.ejs file contained in the folder views/pdfTemplates/testPdf:

<!DOCTYPE HTML>
<html>
  <head>
    <title>TEST</title>
  </head>
  <body>
    <div>
      <p>Hello <%=a%>!</p>
    </div>
  </body>
</html>

In your app you would run the following command.

sails.hooks.pdf.make(
  "testPdf",
  {
    a: "Bob Dole",
  },
  {
    output: 'assets/pdfs/mypdf.pdf'
  },
  function(err, result) {
    console.log(err, result);
  }
);

Or

sails.hooks.pdf.make("testPdf",
{
  a: "Bob Dole",
},
{
  output: 'assets/pdfs/mypdf.pdf'
}).then(function(result) {
  console.log(result);
}).catch(function(error) {
  console.log(error);
});

will result in creating the pdf.

1.0.6

5 years ago

1.0.5

5 years ago

1.0.4

5 years ago

1.0.3

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago