Mail Merge

I have a new customer that is looking for some personalized items for his Boy Scout troop. Thing is, he’s looking for ~200 items… all the same… except… he wants each kid’s name on theirs.

I told him “No problem! They’ll love it!”

So, sure… I could duplicate the item so I squeeze in as many as I can per sheet and then copy/paste each name into place. And if that’s what I have to do, that’s fine. But I’m wondering if there’s some way to import the names into their appropriate location. I considered writing an AHK macro to do it. And that’s still an option. But I dunno… Is there some “good way” to do this?


1 Like

You could do that direct SVG modification stuff that we did with the cloned rotated text…

Let me find the thread.

1 Like

Here we go.

So basically I would make a template with placeholder text, then do some clever replacement of each text element. I think the existing script I wrote (and attached) would work for it with little to no modification.


Ah! I see. Write the text to the svg itself. Neat idea! But then, I suppose, I’d have to open each svg and expand the text, correct?

perhaps you create two pieces of art. the base art and the name art. you could use a merge feature of one of the design programs to populate the name file and export out a separate file with names for each sheet. but have the art as a separate file. upload the art, add the names to that, cut/etch, delete names, import new names, cut/etch, rinse/repeat?


Are you Inkscape or Illustrator?

Inkscape, you could maybe use this:

Illustrator: I’m not sure. I don’t think a good plug-in exists on that end.

I would personally use InDesign (because I’ve used that data merge and know it), export to PDF and call it a day. (I don’t use PDFs but I don’t think InDesign exports to SVG)


I would make the items leaving space for their name, and have a Troop Project to wood Burn in their own names!

There must be a Merit Badge for that!


and yes to InDesign. so much better for dealing w/text. but i feel like there’s a mail merge function in illy somewhere and i may have used it in some past life. but w/o googling, i don’t know.

but i don’t think @Tom_A is an Adobe guy.

There is I’m pretty sure but I think it’s a pretty convoluted process. Not nearly as easy as creating/populating fields in InDesign

i’m sure that’s true, too.

Here’s the Illustrator version…


Oh wow, that sounds promising. Have you ever used it?

There’s a merge feature in one of the design apps? What has it? I use Illustrator, but I’m no expert.

Never really played with Inkscape, but I should probably give it a go sometime.

Think again. :wink: I’ve always been “an Adobe guy.”

InDesign, eh? Never used it. Haven’t used a desktop publishing app since Pagemaker Pro back in the 20th century. But maybe that’s a good option!

Oooo! That might be exactly what I want!

1 Like

sorry, i’m obviously misremembering. for some reason i thought you were inkscape or one of the other non-Adobe ones.

hopefully the illy merge does the trick for you.

1 Like

Well if you are making say dog tags, you could make a grid of tag templates and then edit them all in a bunch. So yeah edit the base svg, but once for however many templates you have on it. Depending on what you’re making, it might be easier or harder.

1 Like

MSWord’s mail merge is pretty powerful. You can call a field reference to a graphic image that gives the art and then use the directory merge to get all the names. Save as PDF.

Inkscape merges but makes multiple documents. Those documents can be generated file names that can be called from a merge document, then save as PDF.

I played with it way back in the day and came up with a few ways of doing it.

Fastest was paste the names in from the text file into Inkscape and then do a lot Ctrl+X/V to place the names in the cloned art individually. 200 is a lot.


A lot lot. The php script I posted can do it in seconds… There’s no practical upper limit, your svg would have to be impossibly large before PHP ran into processing or memory issues, we’re talking tens of thousands of text replaces. [it may require some minor modification, I don’t remember if the specific code had any hard limits embedded in it because I was trying to do something very specific with it.]


TLDR all the replies but I use a mix of applications to accomplish the end goal.

In a situation like this, I use Inkscape to create all the cut and score lines in SVG, and any number of non-traditional apps to lay out the bitmaps needed to be etched. I did a bunch of custom nameplates and used PowerPoint to lay out the text, export to JPG or PDF. You can get some nice shaded effects to produce 3D engraved text if desired.

Nice thing about that method is you can make multiple “slides” and save each as a different JPG. Once you get the layout right, it’s 100% repeatable.


Sorry - one more thing I meant to add - alignment between the cut file and the engrave files, just put a “dot” on opposite diagonal corners in the cut file that will allow you to stretch the engrave file to the correct size. If you import every engrave file, you can then Select-All, unselect the cut file, then move and stretch them as one before setting all to ignore except the one you want to work with.

1 Like