Skip to content

Generate PDF

Steps

  1. Create a project generate-pdf.
  2. Create a JavaScript service with the name pdf-service.js.
  3. Enter the following content:
var response = require("http/v4/response");
var pdfDocuments = require("documents/v4/pdf");

var 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,
    },
  ],
};

var pdf = pdfDocuments.generateTable(data);

response.setContentType("application/pdf");
response.setHeader("Content-Disposition", 'filename="data.pdf"');
response.write(pdf);
response.flush();
response.close();

Expected result: Generated PDF


  1. Create a project generate-pdf.
  2. Create a JavaScript service with the name pdf-service-advanced.js.
  3. Enter the following content:
var response = require("http/v4/response");
var pdfDocuments = require("documents/v4/pdf");

var data = {
  title: "Lorem Ipsum",
  description: "Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
  columns: [
    {
      name: "Id",
      key: "id",
    },
    {
      name: "Name",
      key: "name",
    },
    {
      name: "Position",
      key: "position",
    },
  ],
  rows: [],
};

for (let i = 0; i < 100; i++) {
  data.rows.push({
    id: "" + i,
    name: "John",
    position: "Software Developer",
    highlight: i % 2 == 0,
    breakAfter: (i + 1) % 10 == 0,
  });
}

var config = {
  size: "A3",
  alignColumns: "center",
  alignRows: "end",
};
var pdf = pdfDocuments.generateTable(data, config);

response.setContentType("application/pdf");
response.setHeader("Content-Disposition", 'filename="data.pdf"');
response.write(pdf);
response.flush();
response.close();

Expected result: Generated PDF


For more information, see the API documentation.

Back to top