I recorded a 15-minute long tutorial demonstrating how to automate the production of graphics from a CSV file or spreadsheet (basically a mailmerge type deal for graphics) in Inkscape. It uses the Next Generator Inkscape extension from Maren Hachmann.
You can watch it on the Fedora Design Team Linux Rocks PeerTube channel (PeerTube is open source!) or the embedded YouTube video below:
In this article, I provide some context for how this tutorial is useful. I also include a very high-level summary of the content in the video in case you'd rather skim text and not watch a video.
Conference talk card graphics
Each Flock/Nest needs a graphic for each talk for the online platform you use to host a virtual conference. There are usually about 50 or more talks for large events like this. That's a lot of graphics to produce manually.
With this tutorial, you learn how to make a template like this in Inkscape:
And a CSV file like this:
|BestCon||The Pandas Are Marching||Beefy D. Miracle|
|Fedora Nest||Why Fedora is the Best Linux||Colúr and Badger|
|BambooFest 2022||Bamboo Tastes Better with Fedora||Panda|
|AwesomeCon||The Best Talk You Ever Heard||Dr. Ver E. Awesome|
Combine them to generate one graphic per row in the CSV, like so:
Conference graphics are a good example of how you can apply this tutorial. You could also use it to generate business cards (it outputs a PDF), personalized birthday invitations, personalized graphics for students in your classroom (like student name cards for their desks), and signage for your office. You can use it to create graphics for labeling items, too. You can even use it to create awesome banners and graphics for Fedora as a member of the Fedora Design Team! There are a ton of possibilities for how you can apply this technique, so let your imagination soar.
The Inkscape Next Generator extension
The first step to create these images is to install the Next Generator extension for Inkscape created by Maren Hachmann:
- Go to the website and download the next_gen.inx and next_gen.py from the top level of the repo.
- Then go into the Edit > Preferences > System dialog in Inkscape. Search for the User Extensions directory listing and click the Open icon. Drag the .inx and .py files into that folder.
- Finally, you should close all open Inkscape windows and restart Inkscape. The new extension is under the Extensions menu: Extensions > Export > Next Generator.
Create a template
Each header of your CSV file (in my example: ConferenceName, TalkName, PresenterNames) is a variable you can place in an Inkscape file that serves as your template. Take a look at the example SVG template file for directions. If you want the TalkName to appear in your template, create a text object in Inkscape and put the following content into it:
When you run the extension, the %VAR_TalkName% text is replaced with the TalkName listed for each row of the CSV. So for the first row, %VAR_TalkName% is replaced with the text The Pandas Are Marching for the first graphic. For the second graphic, the TalkName is Why Fedora is the Best Linux. You continue doing this until you get to the TalkName column for each graphic.
Run the generator
Once your template is ready, run the Next Generator extension by loading your CSV. Then, select which variables (header names) you want to use in each file name and hit the Apply button.
In a future article, I will provide a tutorial on more advanced use of this extension, like changing colors and graphics included in each file.
This article was originally published on the author's blog and has been republished with permission.