Bulk PDF generation

Bulk PDF generation from one template

Point a template at a dataset and render every row in parallel — tables grow to fit each record. Download a zip or pull presigned URLs.

data.csv
employeenet_payperiod
A. Okafor£3,120.00May 2026
M. Haddad£2,845.50May 2026
L. Bianchi£3,402.10May 2026

3 payslips · payslips-may-2026.zip

When you need the same document for every customer, employee, or order, generating them one by one does not scale. ImaginePDF renders a whole dataset against a single template in parallel.

Feed it a CSV or JSON dataset, and each row becomes its own PDF — line-item tables grow to fit the record. Submit the batch, poll until it finishes, and download a zip or pull presigned URLs for each file.

What you get

One template, many PDFs

Render an entire dataset against one design in parallel — no scripting a loop yourself.

Rows grow to fit

Line-item tables expand per record, so a 2-line invoice and a 30-line invoice both render cleanly.

Zip or presigned URLs

Pull the whole batch as a zip, or fetch a presigned URL per document for your own pipeline.

Async and trackable

Submit a job of up to 100 rows, poll its status, and download when it is ready.

How it works

  1. 1

    Build a template

    Design the document once and bind the fields that change per record.

  2. 2

    Add your dataset

    Upload a CSV or POST JSON rows — each row maps to one document.

  3. 3

    Generate and download

    Submit the batch, poll it to completion, and download the zip or pull presigned URLs.

In code

batch.sh — bash
# 100 invoices from one template
curl https://api.imaginepdf.com/api/v1/designs/inv_42/batch \
  -H "X-API-Key: pc_live_..." \
  -H "Content-Type: application/json" \
  -d @rows.json

# → a batch job · zipped download when ready

What's supported — and what isn't

Supported

  • Batch generation from a CSV or JSON dataset, rendered in parallel
  • Line-item tables that grow to fit each record
  • Delivery as a zip or per-document presigned URLs
  • Async jobs of 1–100 rows: submit → poll → download

Current limitations

  • Up to 100 rows per batch job (submit multiple jobs for larger runs)
  • One credit per generated row; batch is a Pro-plan feature
  • Uploaded images up to 1 MB each

Frequently asked questions

How many PDFs can I generate at once?
Up to 100 rows per batch job. For larger runs, submit multiple jobs — each renders its rows in parallel.
Can I use a CSV or JSON?
Both. Upload a CSV in the dashboard, or POST JSON rows to the API. Each row maps to one PDF.
How do I get the files?
Download the whole batch as a zip, or pull a presigned URL for each document to feed your own system.
How is bulk generation billed?
One credit per generated row. Previews are free, so you can validate the template before running the batch.

Start generating PDFs free

Design on a visual canvas, let Claude draft it, or call the API — and generate one PDF or thousands. No watermark.