Array printing from .csv file

I have been thinking lately about a few projects that would require unique markings on multiple tiny objects at a time. The example I’m referring to is like printing on a bunch of M&Ms except instead of printing an M on each one, we want to print a series of names from a .csv file. Making a jig to align and hold the M&Ms would be easy. Aligning unique text to each one would be a pain. Let’s say we were going to do 200 at a time. It would be similar to a mail merge onto label stock, but we would need control over column, row spacing, and the number of columns and rows.


Interesting! Nothing planned but copying @tony for the feature consideration hopper.


cool project! I did some batches in Illustrator (a loooong time ago :cold_sweat: ). But I think this help page from adobe should put you on the track: Illustrator Variables. I have to try this on Affinity Designer :blush:

1 Like

Since it is “engraving”, the names should be a bitmap or raster file. If you have a creative cloud subscription from Adobe you can use Photoshop, it has a data/mail merge feature already.

Another option would to use the program of your choice to do the layout and print to PDF, then raster the PDF to a bitmap.

Yes, that’s possible, just looking for fewer steps, and less middleware. I have looked at the Adobe cloud software offerings, until I start making coin with the Forge, I’ll be sticking with open source.

That would be a great feature. I would likely make use of it. The RIP software for my vinyl printer/cutter has that capability.

For anyone that is going to be producing a product line, this type of thing will be incredibly important


I know some of the “free” software have APIs to program them. I looked at the one for Fusion 360 and it looked pretty straight forward (disclaimer: I’m a programmer, so it may look easy to me).

I think you could probably write something that creates sketches based on input from a text file, and then export that sketch as a DXF or something else you could use. If that’s the way you want to go, I could dig a little deeper and figure out more how it works.

1 Like

I found this one for Inkscape: text from csv it looks promising. But unfortunately it doesn’t work :confused: Do you think you could have quick look at it? Maybe your skiled eyes catch something…? :blush:

If you have programming experience, it would be fairly easy using Processing. It’s based on Java, and comes with libraries to write in either PDF or DXF format.

I vaguely recall reading somewhere on this forum that engraving can be done with vector artwork.

I did get it working, but I had to “hard-code” the height of the canvas. On line 47 of, change:

height = inkex.unittouu(svg.attrib[‘height’])


height = 100;

Then it works fine. I’d have to dig some more to figure out then new way to get the canvas height in python. But for now, you can just hard-code the height of your canvas.

My input file looks like this:


And it gave me this in InkScape:


soooo cool - your are my herro of the day :+1: :+1:

1 Like

Yes, you can engrave vectors. Some fonts will work fine as vectors, some will not work as well. Some fonts will work better as vectors if you convert them to outlines (in illustrator that is found under the text menu> outline text, i assume inkscape has a similar function). Do a google search for “single line fonts” or “hershey text” to get a better idea of why you might want to use one over the other.

1 Like

Also, be careful when using fonts in Inkscape and moving to another computer. If the font is not installed on the new computer, then Inkscape will pick a different font.

Once you have the text in place where you want it, then you can convert the font to a path, by using the “Path -> Object to Path”. You will not be able to edit the text anymore, but it is no longer dependent on the installed font.

Working with a maker-space, I’ve run into this a couple of times.


Mail merge applications were brought up in a discussion before. I talked through an ideal workflow.

Seems @dan didn’t add it to the feature hopper then. But quite a few other people with ideas on how to use mass-personalization.

Continuing the discussion from Registration of pre-printed sheets:

Doing an alignment jig and self-assembling each print run is perfectly possible with any laser cutter. I would hope to leverage the camera system fully in the glowforge and make it more awesome.


Agreed, dumping the box of pencils and have the software automatically recognize, and print on on them regardless of orientation in would be the ultimate goal. I was thinking the cameras would be used to verify and maybe tweak alignment. Each cell of the array could be free floating, and aligned/rotated as required during the preview stage.

Okay. You can use OpenOffice to do the mail merge and export as a PDF, convert the PDF to JPG and engrave!

If you are on a Mac you could use Automate to make a “droplet” to drop the CSV into a folder and have it auto create the JPG for you. I am sure other operating systems could create a similar workflow.

I did this once before for iPhones. I had a batch and pulled the data from a csv with an illustrator plugin. I can’t seen to find it right now but will look around and post it when I do!

1 Like

This isn’t the script I originally used, but it looks similar: