@microfleet/html-to-pdf

Generates PDF files based on the HTML inputs and arbitrary data. Can be handy to create statements. Features integration with @microfleet/files for distributed storage and access control to such files

Stats

stars 🌟issues ⚠️updated 🛠created 🐣size 🏋️‍♀️
426Jun 9, 2021Jun 27, 2017Minified + gzip package size for @microfleet/html-to-pdf in KB

Readme

@microfleet/html-to-pdf

Microfleet PDF

HTML to PDF @microfleet service is designed to render any provided mustache template with arbitrary context and is able to send back base64 encoded PDF or upload id in case of integration with @microfleet/files

Configuration

By default delayed-retry on Quality of Service is enabled, which effectively retries actions when unexpected errors occur up to 5 times by default with exponential delay.

API

Description of available API methods

pdf.render

Renders mustache template with passed context, feeds that document to Chrome & save it as PDF. Then uploads it to storage of choice using @microfleet/files or returns PDF as base64 encoded data

Following params are accepted:

{
  "template": "name-of-the-template-to-render",
  "context": {
    ... // arbitrary object with data thats passed to template for rendering
  },
  "documentOptions": {
    ... // chrome's printToPdf document options - https://chromedevtools.github.io/devtools-protocol/tot/Page/#method-printToPDF
  },
  "meta": {
    ... // can be boolean `false` to turn off @microfleet/files integration
    ... // or can be an object defining the upload
  },
}

For a detailed description of API params look at validation schema

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.