MARKETPLACE
PLUGINS
GENERATE TABLE PDF REPORT
Generate Table PDF Report logo

Generate Table PDF Report

Published June 2024
   •    Updated January 2026

Plugin details

This plugin lets you create tabulated reports with customizable layouts as PDF files with JSON-driven configuration and content definition.
It's the most robust way to set up PDF creation, and is designed for tabulated report generation.

See it in action here: https://blur-apps-playground.bubbleapps.io/version-test/pdf-report

Access the example Editor here: https://bubble.io/page?type=page&name=pdf-report&id=blur-apps-playground

Full Tutorial: https://www.loom.com/share/8d6f73ad319349e688109d27f5521106

WHY:

At Blur Apps, we've worked with a lot of client apps that required custom PDF reports to be generated. This is especially relevant in Dashboard apps, or on Admin sections of SaaS and Marketplace apps.

Instead of using Print or HTML-to-PDF approaches for this, we decided to create a robust way of enabling PDF report generation with customizable columns and content.

The plugin achieves this customizability by accepting a JSON-formatted configuration (we have a free tool to automatically generate this for you) and it sets up the column layouts accordingly.
Advanced Bubblers, can also set up this configuration JSON via dynamic expressions.

____

Get in touch with us at https://blurapps.com for support with your custom Bubble plugins.

$20

One time  •  Or  $3/mo

1.3 stars   •   4 ratings
6 installs  
This plugin does not collect or track your personal data.

Platform

Web

Contributor details

Blur Apps logo
Blur Apps
Joined 2021   •   19 Plugins
View contributor profile

Instructions

Generate dynamic PDFs with a single action. Here's how:

----Getting Started----

1. Install the plugin
2. Add the PDF-Report element onto your page
3. In your Workflow, simply add a Generate Report action
This will download the desired report PDF.

Refer to the example setup via on this Editor:
https://bubble.io/page?type=page&name=pdf-report&id=blur-apps-playground

----Inputs to the Element----

1. Provide the Report Title
2. Provide the Report Subtitle
3. Provide the desired filename (alphanumeric only)
4. Provide configuration for the report layout
5. Provide the content

----Configuration----

This is where you can customize the layout of the table in the report.
This will be a JSON object containing a field 'tableConfig' that holds a JSON array that defines each column of the table.

We've set up a Configuration builder to easily generate this configuration JSON visually:
https://blur-apps-playground.bubbleapps.io/version-test/pdf-report

Here is an example of this configuration object where we define a table with 3 columns (Name, Email and Unique ID):

{
   "tableConfig": [
   {
     "id": "column1",
     "title": "Name",
     "visible": true,
     "align": "left",
    "width": 45
   },
   {
     "id": "column2",
     "title": "Email",
     "visible": true,
     "align": "left",
    "width": 45
   },
   {
     "id": "column3",
     "title": "Unique ID",
     "visible": true,
     "align": "left"
   }
 ]
}

Here we have defined the following information regarding the table layout:
- 3 columns
- Each column has a column title that is rendered on the report and an id for internal reference
- Each column has an optional 'width' property as well. This will make the column width fixed if defined and will stretch to available space if not defined
- Each column can be made visible or invisible with the 'visible' property
- Each column can be set to align to 'left', 'center', or 'right'.

----Report Content----
This is where we define the actual content of the report.
It will depend on your table configuration above and will expect references to each column based on the column IDs defined in the configuration above.

The best approach to setting this content is to build a JSON using the :formatted as text operator.

Here's an example with the layout configuration mentioned above:

[Search for Users :formatted as text]

Properties of 'formatted as text' operator:

- Content to show per list item:
{
 "column1":This User's Name :formatted as JSON-safe,
 "column2":This User's email :formatted as JSON-safe,
 "column3":This User's unique id :formatted as JSON-safe
}

- Delimiter:
,


This content definition results in a JSON array with a dynamic number of items, each containing fields "column1", "column2" and "column3", along with their respective values.

The report generated is a table with these column titles and all the corresponding values for each row as defined in the Content JSON.

Types

This plugin can be found under the following types:
Background Services   •   Element   •   Action

Categories

This plugin can be found under the following categories:
Data (things)   •   Productivity   •   Technical   •   PDF   •   Visual Elements

Resources

Support contact
Documentation
Tutorial

Rating and reviews

Average rating (1.3)

parou de funcionar
January 20th, 2026
dont work
December 8th, 2025
worked
August 15th, 2025
Don't worked for me
August 15th, 2025
The plugin Generate Table PDF Report / action Generate Report a PDF-Report threw the following error: TypeError: _0x29f0e9.autoTable is not a function at t.. [as createPage] (PLUGIN_1697732013877x571546792890728450/Generate-Table-PDF-Report-initialize--PDF-Report-.js:3:2975) at t.data. [as handlePdfGeneration] (PLUGIN_1697732013877x571546792890728450/Generate-Table-PDF-Report-initialize--PDF-Report-.js:3:4903) (please report this to the plugin author)
The input JSON to the plugin needs to be correctly formed Make sure text values are :formatted as JSON-safe Make sure there aren't special characters, etc. Requiring the user to provide JSON leads to a lot of potential issues. We'll look at adding some JSON validation and support for this, until we can enable a way to ingest input data in a more no-code way, without adding restrictions to use cases. (plugin author)
December 9th, 2025
  •  
Blur Apps
Bubble