Data to PDF Report Generator avatar

Data to PDF Report Generator

Pricing

Pay per usage

Go to Apify Store
Data to PDF Report Generator

Data to PDF Report Generator

Convert JSON or CSV data into a professional PDF report with 3 templates. No external APIs required. Supports tables, charts, headers and custom branding. Free plan ready.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Proyecto Apify

Proyecto Apify

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Data-to-PDF Report Generator

Convert JSON or CSV data into a professional, ready-to-share PDF report. No external APIs, no code to touch.

How it works

  1. Select the data source: paste JSON or CSV, provide a URL, or reference a Dataset from another Apify Actor.
  2. Pick a template: simple table, table with bar chart, or executive summary with KPIs.
  3. Customize brand color and logo (optional).
  4. Run the Actor and download the PDF from the Key-Value Store.

Input

FieldTypeDefaultDescription
dataSourcestringdirect_jsondirect_json, direct_csv, url, or apify_dataset
dataContentstring""JSON or CSV pasted directly
dataUrlstring""URL to a JSON or CSV file
datasetIdstring""ID of an Apify Dataset
reportTitlestring"Data Report"PDF title
templatestringtable_with_chartsimple_table, table_with_chart, or executive_summary
brandColorstring"#1a73e8"Brand color in hex
logoUrlstring""Image URL for the logo
pageSizestring"A4"Letter or A4

Example input (JSON)

{
"dataSource": "direct_json",
"dataContent": "[{\"name\":\"Ana\",\"sales\":4500},{\"name\":\"Luis\",\"sales\":3200},{\"name\":\"Maria\",\"sales\":5800}]",
"reportTitle": "Q1 Sales Report",
"template": "table_with_chart",
"brandColor": "#0d47a1",
"pageSize": "A4"
}

Example input (CSV)

{
"dataSource": "direct_csv",
"dataContent": "product,price,stock\nLaptop,12999,45\nMouse,299,120\nKeyboard,599,80",
"reportTitle": "Inventory Report",
"template": "executive_summary"
}

Output

The Actor emits one record to the output Dataset:

FieldDescription
status"success" or "error"
pdfUrlPublic URL to download the PDF
fileNameGenerated PDF file name
rowsNumber of processed rows
columnsNumber of detected columns
generatedAtISO timestamp of generation

Example output

{
"status": "success",
"title": "Q1 Sales Report",
"template": "table_with_chart",
"rows": 3,
"columns": 2,
"pdfUrl": "https://api.apify.com/v2/key-value-stores/.../records/Q1_Sales_Report.pdf",
"fileName": "Q1_Sales_Report.pdf",
"generatedAt": "2026-07-18T12:00:00.000Z"
}

Available templates

  • Simple table: Clean table with all rows and columns. Ideal for straightforward tabular data.
  • Table + Bar chart: Full table plus a Chart.js bar chart for the first numeric column detected (bundled locally, no CDN).
  • Executive summary with KPIs: Cards showing total, sums, averages, min, max, and unique values, followed by a table with the first 25 rows.

Technical notes

  • No external API keys or cloud services required.
  • Chart.js is installed as a local dependency and embedded inline in the HTML (no CDN dependency).
  • PDF is rendered with Puppeteer (page.pdf()) directly inside the Actor.
  • Stored in the Key-Value Store with its public URL returned in the Dataset.
  • Supports up to 10,000 records from Apify Datasets (automatic pagination).