Skip to content


API for generating a PDF files.

Basic Usage

import { response } from "sdk/http";
import { pdf } from "sdk/pdf";

const data = {
    title: "Lorem Ipsum",
    description: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus lacinia fermentum magna, sit amet accumsan felis auctor ac.",
    columns: [{
        name: "Id",
        key: "id"
    }, {
        name: "First Name",
        key: "firstName",
    }, {
        name: "Last Name",
        key: "lastName"
    }, {
        name: "Age",
        key: "age"
    rows: [{
        id: 1001,
        firstName: "John",
        lastName: "Doe",
        age: 29
    }, {
        id: 1002,
        firstName: "Jane",
        lastName: "Doe",
        age: 26
    }, {
        id: 1003,
        firstName: "Joe",
        lastName: "Doe",
        age: 44
    }, {
        id: 1004,
        firstName: "Jill",
        lastName: "Doe",
        age: 40

let document = pdf.generateTable(data);

response.setHeader('Content-Disposition', 'filename="data.pdf"');


Function Description Returns
generate(templatePath, data) Generates PDF file from a given template and data byte array
generateTable(data, config) Generates PDF file with table data and config byte array



Property Description Type
title (Optional) Title of the PDF document. string
description (Optional) Description of the PDF document. string
columns The table columns. array of TableDataColumns
rows The table data. array of TableDataRows


Property Description Type
name The displayed column name. string
key The property key in the rows object. string


Property Description Type
arbitrary-number-of-properties The row data. any
highlight (Optional) Whether to highlight the row. boolean
breakAfter (Optional) Whether to bold the row. boolean


Property Description Type Default
size (Optional) The PDF document size. string A4
alignColumns (Optional) The column alignmnet property. start, center, end center
alignRows (Optional) The rows alignmnet property. start, center, end center

Sample TableConfig:

let config = {
    size: "A3",
    alignColumns: "start"
    alignRows: "end"