Skip to content
Back to blog
Sheet2Doc logo
Sheet2Doc
Google Sheets Mail Merge

7 min read

Google Sheets to PDF: Create a Separate PDF for Each Row

Create a personalized PDF for each Google Sheets row with Sheet2Doc. Use a Google Docs template, name files, choose a folder and email each PDF to its recipient.

By Matthew Hovanic

Turn each spreadsheet record into its own PDF

To create a separate PDF for each Google Sheets row, use Sheet2Doc with a Google Docs template. Put one record on each row, add matching placeholders to the template, select PDF only as the output format and generate the records you need.

Each processed row produces a personalized document, such as a certificate, invoice or client report. You can choose a destination folder, create useful file names and email each PDF to the recipient listed on that row.

Exporting a sheet and generating row-based PDFs are different jobs

If you want a PDF that looks like your spreadsheet, use Google Sheets’ File → Download → PDF export or its print workflow. That preserves a spreadsheet view rather than filling a personalized document template.

Use Sheet2Doc when each row should become its own document. For example, a table of 20 workshop participants can produce separate certificates, each using the same certificate design with a different participant’s details.

The steps below cover row-based document generation. If you need a printable spreadsheet report, use Google’s native export and print settings instead.

1. Organize the sheet around one PDF per row

Add a header for each value that belongs in the PDF. For a certificate, use Name, Course, Completion Date, Certificate ID and Email. For a simple invoice, use fields such as Invoice Number, Client Name, Description, Total and Email.

Keep one complete document record on each row. Calculate amounts and verify invoice details in the spreadsheet before generation. This tutorial uses fixed template fields; it does not set up variable-length line-item tables grouped from multiple rows.

Use a stable identifier, such as Certificate ID or Invoice Number, when two records could have the same name. Keep test rows separate from the records you intend to deliver.

2. Design the PDF layout in Google Docs

Create a native Google Doc and add the wording, branding and layout for the finished document. Use placeholders that exactly match the source headers. A certificate might include {{Name}}, {{Course}}, {{Completion Date}} and {{Certificate ID}}.

For example, ‘Presented to {{Name}} for completing {{Course}}’ becomes a personalized sentence when Sheet2Doc merges the row. Add the date and identifier elsewhere in the document so each output is easy to recognize.

Build the template for the longest realistic content, not just the shortest example. Leave room for long names and descriptions, and check the finished PDF after generation.

3. Choose PDF output, a folder and file names

Open Extensions → Sheet2Doc → Open Sheet2Doc in Google Sheets. Select the source tab, confirm the header and first-data rows, then choose the template through the file picker and click Load merge fields.

Set Output format to PDF only. Choose an Output folder so the batch stays together. For a certificate batch, use a File name pattern such as Certificate - {{Certificate ID}} - {{Name}}.

Leave Run mode on Manual only and keep email delivery off for the first generation. This lets you inspect the PDFs before anything is sent.

4. Create one PDF and check it

Select a single data row and click Generate selected. Open the PDF URL written back to the sheet, then verify the document itself.

Check the recipient’s name, dates, amounts and identifiers against the source row. Confirm the file name and Drive folder, and inspect page breaks. Repeat the test with a long name and any optional fields that may be blank.

Once the output looks correct, process a small group before moving to a full batch. The free plan includes 25 generated documents per month; review your allowance before starting.

5. Email each PDF to the address on its row

Enable Email each generated file and choose the recipient email column. Configure the subject and body using the relevant row fields, then test with a row that contains an address you control.

For example, a subject such as Your {{Course}} certificate can identify the attached document without making every email identical. Verify that the test message contains the PDF for the correct record before enabling delivery for real recipients.

A generated PDF and an emailed PDF are different outcomes. Use the row status to check delivery processing, and do not treat an Emailed status as proof that the recipient opened or read the message.

6. Process pending rows and avoid accidental reruns

Keep Skip rows already generated or emailed enabled for normal batches. Use Generate selected for a specific group or Generate pending to process the pending records. Review error statuses and file links before retrying.

After manual generation and email tests work, you can consider the available form-submit or scheduled run modes. A schedule runs the configured workflow; it does not create new monthly source records for you.

For monthly reports, prepare the new reporting-period rows deliberately and review how completed rows are skipped. If you need to regenerate a corrected document, decide whether it should also be emailed again before changing its processing state.

If a PDF is blank, duplicated or sent to the wrong address

For blank fields, compare the exact template placeholder with its sheet header and source value. For duplicate files, check whether completed statuses were cleared or the skip option was disabled. For recipient problems, check the configured email column and the address in that specific row.

If you only need to send the same sheet or range as a recurring report, SendSheet may fit that workflow better. Sheet2Doc is for personalized template documents generated from individual spreadsheet records.

Frequently asked questions

Can Google Sheets create a separate PDF for every row?

Sheet2Doc adds a row-based document-generation workflow. Each processed row fills a Google Docs template and can be saved as its own PDF.

Is this the same as downloading the spreadsheet as PDF?

No. Downloading or printing exports the spreadsheet layout. Sheet2Doc fills a separate Google Docs template with each row’s data.

Can each PDF be emailed to a different person?

Yes. Choose the recipient email column and test Email each generated file with your own address before processing real recipients.

Can I save an editable document as well as a PDF?

Yes. Choose Doc and PDF instead of PDF only when you want both output formats.

Sheet2Doc

Put this workflow to work

Start from the product page for setup details, or install the add-on from the Google Workspace Marketplace.

Related guides