CZ | EN | DE | SK | PL

FROM PRODUCTION

Ten jerseys by hand, or by script. Why I run it even on small orders

Two hundred jerseys was the extreme here. Normally a club turns up with ten to twenty names and I still reach for the script. Here is why, including how long it takes to prepare the template before anything can be generated at all.

A jersey is personalized piece by piece. Every player has their own number on the front and on the back, a name or a nickname, and their own size. On one piece that is no work at all. The problem with the tenth piece is not that it is harder. It is that you no longer give it the attention you gave the first one.

Ten jerseys by hand

The routine never changes. Change the number on the front panel. Change the number on the back panel. Type the name, for some players a nickname. All the while watching that I am typing into the right artboard, meaning the right size, and that I have not made a typo. Then File, Save As, PDF, and check again that the artboard selected is the one I actually want. Pick a folder, type a file name, save.

And that ten times over. None of it is difficult. It is just ten operations per piece and two of them are “watch out for something”.

Ten jerseys with the script

I run the script. Depending on how the spreadsheet arrived, I switch on converting names to capitals, because clubs send them once in capitals, once in lower case and often both mixed together. I pick the CSV. I map the columns. I go through the export dialog and click OK.

Then I watch the script build the print files. The progress is visible as it goes, so it is clear where it has got to and whether anything is dragging.

Preparing the template: ten minutes

This is the part nobody shows in a demo, so let me be straight about it. When I open an old file from the days before the script, one with eight sizes, meaning eight artboards, naming those artboards and renaming every text field to NumberText and NameText takes me about ten minutes. After that I can generate.

Ten minutes once per template. When the same club comes back a year later, I open the file and run the script straight away. The one thing to watch is how the names are written: the script is case sensitive, so there is no room for improvisation.

Why I prepare a template even for a single jersey

Because it almost never stays at one. A club that had a single sample made will order twenty pieces a month later. Ten minutes put into the template pay off the second time it is used. And if the order never comes back, I am out ten minutes. I will take that risk.

The spreadsheet, as it arrives from the club

It never looks like the example in the manual. It comes out of Excel, out of a Google sheet, sometimes as text pasted into an email. The script works out the encoding and the delimiter on its own, so semicolons, commas and tabs are not my problem. Capitals and lower case are handled by a checkbox.

A first name above a surname is separated in the cell by two vertical bars. And if two rows would lead to exactly the same file name, the script skips the second export, depending on how that is set in the export dialog. It is not about it being the same player. Number 15 NOVAK in XL and number 15 NOVAK in M are two different files, because the size is in the name. It is skipped only when the result would be literally the same file. And then the print shop simply prints it twice.

What happens during the run

For every row of the spreadsheet and for every product, the same five steps run each time:

  1. The right artboard is activated according to the size from the spreadsheet.
  2. The layers that graphic numbers and logos are drawn into are cleared, so nothing is left over from the previous piece.
  3. The number, name, nickname, size and code are written into the text fields.
  4. Whatever the font cannot do, or what is graphics, gets added: diacritics from symbols, graphic digits, a logo inside the number.
  5. The finished artboard is saved as a PDF under a name built from the template.

With ten rows it is over in a moment. The difference against working by hand is not that a computer types faster than a person. It is that it treats the last piece exactly like the first.

What came later

The script exists precisely because of that retyping of names and numbers. It is monotonous work where mistakes creep in, and that is why I started writing it. The rest came later, and today I am glad it did, because by hand it is even more tedious: diacritics in a font that does not have them, graphic numbers instead of type, and a sponsor logo inside a number.

Diacritics by hand look like this. For a given size I build all the marks the font is missing. It would be enough to make only the ones in the spreadsheet, but when I have time I make them all at once so I do not have to come back to it. Then for every name I switch off the symbols that do not apply and move the rest above the right letters. For a different jersey size I scale them down and move them again. And so on, name by name, size by size.

The script does it on its own and adapts it to the size using a reference field, so a child shirt and an XXL both get the caron in the right proportion. It can just as well build a number out of graphic digits or seat a logo inside a digit. And it checks in advance whether the font has all the characters from the spreadsheet, so nothing quietly fails to render and turns up only at print.

It is not work that is hard. It is work we are glad every single time we no longer have to do by hand.

What I find in the folder

Finished print-ready PDFs, sorted into subfolders by product. How the files and folders should be named is something I set up beforehand. I put into the name whatever I need at the time: {cislo}, {jmeno}, {prezdivka}, {velikost}, {kod}, {docName}. A preview runs alongside, so I can see what the file will be called before anything is exported.

The ExportPDF_Log.txt log sits where the original Illustrator file is, the one I generate from. Not among the finished PDFs, even when I send those somewhere else entirely. And at the end a summary appears: how many pieces went through and where there was a problem.

And when there are two hundred

Two hundred pieces for one club is something I have done, but it was the extreme, not an ordinary week. By my reckoning that is over four hours by hand, and the script has it in ten minutes of running time.

What is more interesting about that number is something else. With two hundred files it is no longer humanly possible to check every one of them. Even if the manual work took the same time, the result could not be verified as reliably. With the script the data goes from the spreadsheet unchanged, and whatever did not work out is written in the log.

Ten jerseys: what differs

By hand With the script
Number on the front panel retype on every piece from the spreadsheet
Number on the back panel retype on every piece from the spreadsheet
Name or nickname type on every piece from the spreadsheet
Capitals fix by hand a checkbox
The right artboard, meaning size watch on every piece from the size in the spreadsheet
Saving the PDF Save As, every piece automatic
File name type on every piece from the name template
Sorting into folders by hand from the name template
Typos watch out for them data goes from the spreadsheet unchanged
Diacritics the font lacks build and move for every name from symbols, scaled to size
Preparation up front none ten minutes once per template

What exportPDF is

The script this whole article is about. I have been writing it since 2025 for my own production and I use it daily. There is a version for Illustrator and one for CorelDRAW. The demo is free, limited by the number of runs and the number of rows in the spreadsheet, but that is enough to walk through the whole process from template to finished PDFs.

More: exportPDF for Illustrator · pricing and licenses · support and FAQ. I have written separately about the built-in tools of both programs: where the Variables panel stops and where Print Merge in CorelDRAW stops.

I have been developing the exportPDF script since 2025. It came out of my own need and I use it daily in my own production. If you are dealing with the same thing, write to me, a consultation is free and I reply within 24 hours. The whole story

Aleš Ulrych
info@exportpdf.cz