PDF Generation Service

Configure bulk generation of PDF documents

Overview

The objective of the PDF generation service is to bulk generate pdf as per requirement.

Pre-requisites

Before proceeding with the documentation, ensure the following prerequisites are met:

  1. Ensure the Kafka server is operational

  2. Confirm that the persister service is running and configured with a PDF generation persister path

  3. Verify that the PostgreSQL (PSQL) server is running, and a database is created to store filestore IDs and job IDs of generated PDFs

    • Note : Refer to this document to know how to install postgreSQL locally and then creating a DB

Key Functionalities

  • Provide a common framework to generate PDFs

  • Provide flexibility to customise the PDF as per the requirement

  • Provide functionality to add an image or QR code in a PDF

  • Provide functionality to generate PDFs in bulk

  • Provide functionality to specify the maximum number of records to be written in one PDF

Environment Variables
Description

MAX_NUMBER_PAGES

Maximum number of records to be written in one PDF

DATE_TIMEZONE

Date timezone which will be used to convert epoch timestamp into date (DD/MM/YYYY)

DEFAULT_LOCALISATION_LOCALE

Default value of localisation locale

DEFAULT_LOCALISATION_TENANT

Default value of localisation tenant

DATA_CONFIG_URLS

File path/URL'S of data config

FORMAT_CONFIG_URLS

File path/URL'S of format config

External libraries used :

  • Mustache.js: (https://github.com/janl/mustache.js/ ):- as templating engine to populate format as defined in format config, from request json based on mappings defined in data config.

Interaction Diagram

Deployment Details

  1. Create data config and format config for a PDF according to product requirements.

  2. Add data config and format config files in PDF configuration.

  3. Add the file path of data and format config in the environment yaml file.

  4. Deploy the latest version of pdf-service in a particular environment.

Configuration Details

For configuration details, refer to Customizing PDF Receipts & Certificates.

Integration Details

Integration Scope

The PDF configuration can be used by any module which needs to show particular information in PDF format that can be printed/downloaded by the user.

Integration Benefits

  • Functionality to generate PDFs in bulk.

  • Avoid regeneration.

  • Support QR codes and Images.

  • Functionality to specify the maximum number of records to be written in one PDF.

  • Uploading generated PDF to filestore and return filestore id for easy access.

Integration Steps

To download and print the required PDF _create API has to be called with the required key (For Integration with UI, please refer to the links in Reference Docs)

Reference Docs

Play around with the API's : DIGIT-Playground

API List

Note: All the APIs are in the same Postman collection, therefore, the same link is added in each row.

Last updated

All content on this page by eGov Foundation is licensed under a Creative Commons Attribution 4.0 International License.