I have designed a TCG game with roughly 500 card created. I have a card frame made, and would like to use these to create a PDF of each card. Is there a way to automate this so i can make any changes and quickly generate the cards again?


Windows 8 x64

Photoshop cs5

MS office and google docs

I am willing to download free or trial software to do this job.

  • Let me apologize if this is the wrong stack, i thought graphic design would be the most appropriate. – Terry Jun 8 '15 at 18:33
  • Yes you can automate this. What applications do you use? – joojaa Jun 8 '15 at 19:11
  • I have photoshop, excel, and i don't mind downloading any free software. – Terry Jun 8 '15 at 19:12
  • With what software did you design your cards? Or do you have a design (in your head or on paper) and you must still select something? – usr2564301 Jun 8 '15 at 22:59
  • The rough designs are currently in PSD format. – Terry Jun 8 '15 at 22:59

It sounds like what you are looking for is a data merge solution. Data merge is simply where you have a shell document with variables in it and a data file (usually a spreadsheet saved as a CSV file) that is used to replace the variables.

There are a lot of solutions for this. Here are a few (some of these will require that you re-create or import your design into a different program. This may be trivial or very hard, depending on your design. There are probably other ways that would allow you to re-use your existing PSD.)

Use Photoshop

If you're already doing your design work in Photoshop and that's your preferred application, doing it in Photoshop is probably the most natural solution. I am not a Photoshop user, but Adobe has some instructions for doing this.

Use InDesign

InDesign has a very robust data merge feature. I have used data merge with InDesign for complex, several hundred page reports without any issues. Instructions here.

Use Scribus

Scribus is an open source program that attempts to fill the void of a free InDesign replacement. It does not have a built in data merge feature, but the Scribus Generator script. I have done this with smaller documents (about 20 records), so I can't vouch for how well it will work with your 500.

Inkscape and scripting

Inkscape works with SVG files, which are just XML files. If you created your design as an SVG file and put some text variables in place (e.g. %CARDNAME%), you could script this. (For 500 cards, this is probably the method I would use because it would be very extensible and I'm comfortable with the command line).

The script would need to:

  1. For each record, copy the template SVG file.
  2. Replace each variable in the SVG file appropriately
  3. Convert the SVG file to whatever output you want (such as PDF)
  4. Do any additional processing (such as combining into a single PDF, special handling for specific files, etc)

There's more

There are a lot more ways to do this. If you have a preferred application, there's probably a way to make it do a data merge. Good searches will for "Program_Name data merge" will find many other ways to do this.

| improve this answer | |
  • I decided to go with the photoshop and dataset option. It seems much more simple for me. Is it possible to have if statements on visible layers? For example if a dataset is equal to 1 show layer 5? – Terry Jun 12 '15 at 14:43
  • 1
    It might be possible to do it conditionally. Another way to accomplish that would be to use variables in your spreadsheet for layer visibility (such as a column for each layer to determine whether the layer should be visible). That may or may not be feasible/a good idea, depending on how many layers you're working with. It would give you a better sense of how the record will be process though (instead of looking one of your output files and wonder "why the **** is layer 3 missing!?") – Scribblemacher Jun 12 '15 at 14:57
  • Thanks for responding. If i had carried on reading i would have seen that it is possible and simple. Thank you so much for your answer. – Terry Jun 12 '15 at 14:59

It depends on what programming environment you're comfortable in and the format you're able to supply your primitives.

As I mentioned here, I've had pretty good luck with Flat and Even from http://xxyxyz.org/. The project hasn't been updated in some time, though, so your milage may vary.

Processing is also a nice choice and has a very active community behind it to help answer any questions. I've used it to generate very complex PDF's VERY quickly.

Inkscape has extensive scripting capabilities, and there's a few data-merge solutions that people have created already.

And of course, you can always use Imagemagick to composite text onto a background from the command line.

| improve this answer | |
  • Thanks, I Will give this a try and select your answer when I get it working. I thought this would be a much simpler task . – Terry Jun 10 '15 at 11:34
  • I had a quick look but didn't really get how it works. I have tomorrow off work so I still have more time to play. – Terry Jun 11 '15 at 10:34
  • I picked another answer as the correct one because i couldn't quite figure out how to get your solution working. I appreciate your time. – Terry Jun 12 '15 at 15:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.