Forum Discussion
Word Mail Merge->PDF->Auto Name
Since you're comfortable with code, the main design choice is to avoid "merge everything, then split": generate one document per employee directly, named from the data, and you never have to cut a big file apart afterwards.
A workable pipeline:
1. One file per record. Either a Word VBA loop that sets the data source to a single record, executes the merge, saves the result as .docx and exports it as PDF using a field (employee name or, better, employee number) for the file name; or the add-in Doug mentions, which does the same without writing the loop. In Python, a templating library such as docxtpl filling a .docx template per spreadsheet row gives you the same result outside Word.
2. Name files on a unique key. With 350-400 people you will have duplicate or awkward names sooner or later. "EmployeeNumber_LastName.pdf" saves trouble later when matching signed copies back.
3. Signature. Before building the email step yourself, look at the bulk-send feature of Acrobat Sign: it is designed to send one agreement per recipient from a list. If it fits your plan, it replaces both the "send email" and "request signature" steps, and it tracks who has signed.
4. If you ever end up with only the merged PDF (one file containing every contract) and no easy way to re-run the merge, you can still split it afterwards and name each part from the name printed on the page. PDFsam Visual has a split-by-text mode for that, and I'm building a browser tool for the same case (not live yet, disclosure: it's mine): https://splitandname.vercel.app/?utm_source=microsoft
Different contract templates per job title are easiest handled in step 1: pick the template from a column in the spreadsheet rather than running one merge per title.