@isneezy/pdf-generator-service

0.4.0 • Public • Published

@isneezy/pdf-generator-service

@isneezy/pdf-generator-service is a web service that allows you to easily generate PDFs from a web interface. It uses the @isneezy/pdf-generator library to generate the PDFs and provides an HTTP API that you can use to generate PDFs from a web application.

The package is available in three forms:

  • as a command line interface
  • as a container image

Installation

Command Line Interface

You can install the package as a command line interface using npm or yarn.

npm install -g @isneezy/pdf-generator-service
yarn global add @isneezy/pdf-generator-service

Container Image

The package is also available as a container image on quay.io. It's suggested to check the available tags here before pulling the image.

To run the service in a container, you can use the docker run command and specify the necessary environment variables and ports.

For example:

docker run -p 3000:3000 quay.io/isneezy/pdf-generator-service

This command will start the service and make it accessible on port 3000.

Usage

Command Line Interface

To start the service, you can use the pdf-generator-service command.

pdf-generator-service [options]
Option Type Default Description
-V, --version Output the version number
-p, --port number 3000 Specify the port in which the service will be listening
-c, --cors boolean false Enable CORS (Cross-Origin Resource Sharing)
-l, --log-level string info Specify the log level (info, warn, error, silent)

It's important to note that when using the container image, the options should be passed as environment variables.

HTTP API

The service exposes a single endpoint: POST /v1/generate.

You can use this endpoint to generate a PDF by making a POST request with the following options as the request body.

Option Type Default Description
goto string URL to the HTML content/handlebars template to be converted to PDF. If set this takes priority over template option
template string Handlebars template to be converted to PDF
headerTemplate string Handlebars template to be rendered as page header
footerTemplate string Handlebars template to be rendered as page footer
context object {} Data to be passed to the HTML template
format string A4 Sets paper format type to be used when printing a PDF (default: "A4")
landscape boolean false Use this flag to switch the orientation from portrait to landscape (default: false)
margin object {top: "10mm", bottom: "10mm", left: "10mm", right: "10mm"} Set the page margins (default: "10mm")

Package Sidebar

Install

npm i @isneezy/pdf-generator-service

Weekly Downloads

0

Version

0.4.0

License

MIT

Unpacked Size

9.03 kB

Total Files

3

Last publish

Collaborators

  • isneezy