July 12, 2026 · 7 min read

How to Automate PDF Generation from Excel Data

A practical, step-by-step guide to turning a PDF template and a spreadsheet into hundreds of personalized documents, without a developer or a monthly enterprise contract.

If you've ever had a spreadsheet full of names, dates, or amounts on one side and a PDF template on the other, you already know the manual version of this problem: open the template, type in one row's worth of data, export, rename the file, and do it again. And again. Somewhere around row thirty it stops feeling like work and starts feeling like a personal failing.

This is usually called "PDF mail merge", and it's a much older idea than PDFs themselves, going back to mail merge in word processors. The concept is simple: one template, one spreadsheet, one output file per row. Getting it to actually work well, especially with a PDF template that has a specific layout you don't want to break, is where most tools fall short.

What you need before you start

Two files, and that's genuinely it:

  • A PDF template. Whatever you'd normally fill in by hand: a certificate, an invoice layout, an offer letter, a form. It doesn't need blank fields or form fields baked in. A regular, static PDF works fine.
  • A spreadsheet. One row per document you want to generate, one column per piece of data you want to drop onto the template. Excel or CSV both work.

The step-by-step process

Here's the actual workflow in AutoPDF, which is the tool I built specifically so this didn't require code:

  1. Upload your PDF template. It renders directly in the browser so you're placing fields on the actual page, not guessing at coordinates.
  2. Upload your Excel or CSV file. Its columns become available immediately, and if you haven't added any fields yet, AutoPDF suggests one quick-add button per column so you're not starting from a blank page.
  3. Drop fields onto the template. Click where a name, date, or amount should go, resize the box, and map it to a column. Text fields support font, size, color, alignment, and top/middle/bottom vertical alignment within the box, so you can match whatever the template's design calls for.
  4. Preview with real data. Generate a single PDF from any row before committing to the full batch, so you catch a misaligned field on document one, not document two hundred.
  5. Generate the batch. Every row becomes its own PDF, named however you like if you point it at a column (an ID number, an email, a name), and the whole batch comes back as one ZIP file.

Common use cases

The same upload-template-map-columns-generate flow covers most of what people actually need bulk PDFs for:

  • Course completion or event participation certificates
  • Invoices and receipts generated straight from a billing sheet
  • Offer letters and appointment letters filled with candidate details
  • Event badges and employee ID cards, one per attendee
  • Contracts and agreements pre-filled and ready for signature
  • Personalized reports or statements per customer or student

If you specifically need certificates, the walkthrough in how to generate 100 certificates in a minute goes deeper on layout and font tips for that use case.

What to look for in a PDF automation tool

Whether you use AutoPDF or something else, a few things separate a tool that actually saves you time from one that just moves the tedium somewhere else:

  • Visual field placement. If you have to guess pixel coordinates by trial and error, you'll spend more time debugging positions than you would have spent typing the data in by hand.
  • A real preview before the full run. Generating all 500 documents only to discover the date field overlaps the signature line is the single most avoidable waste of time in this whole process.
  • No artificial ceiling that doesn't match your actual batch size. A tool that chokes at 50 rows isn't useful for a mailing list, no matter how nice its editor is.
  • Output you can actually use. One ZIP with sensibly named files beats 200 individual downloads or, worse, 200 emails.