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:
Install NPM
Ensure the Kafka server is operational
Confirm that the persister service is running and configured with a PDF generation persister path
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
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
Create data config and format config for a PDF according to product requirements.
Add data config and format config files in PDF configuration.
Add the file path of data and format config in the environment yaml file.
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
Doc Links
API List
Note: All the APIs are in the same Postman collection, therefore, the same link is added in each row.
Last updated