Mobile app version of vmapp.org
Login or Join
Cooney243

: XML Data to InDesign for 1000+ different copies I have a small project that I need help with. I am working on an online survey for a client of mine; which consist of 10 odd pages of questions

@Cooney243

Posted in: #Xml

I have a small project that I need help with.

I am working on an online survey for a client of mine; which consist of 10 odd pages of questions as well as free text entry on some of the questions. Some of the questions requires number input which then converted into charts (bar graphs etc.)

Survey is done as a web app (using .NET and C# and MySQL) and resulting data converted into XML format in order to generate a report based on the answers that the members provide.
Currently data is imported into MSWord and report is generated as .docx file.

Client is not happy with the presentation of the word so I suggested that we can use InDesign to have a better look/feel of the report, using the same XML structure.

There are 1000+ members that need to take this survey, which means that report has to be generated for each client individually (different answers, different inputs, branding and so on.)

I understand the basics of generating a book from XML to InDesign but I can't figure out how can I apply this workflow into producing 1000+ different copies. (with one click if possible!)

Do I need to have 1000+ InDesign documents with SAME XML structure but DIFFERENT branding (different heading colours etc.) or is there a way to generate the reports (in PDF) in a more efficient way.

I'll be happy to answer if you have any questions or need clarification.

Any suggestions welcome
Thanks

10.02% popularity Vote Up Vote Down


Login to follow query

More posts by @Cooney243

2 Comments

Sorted by latest first Latest Oldest Best

 

@Tiffany317

Without knowing your project in detail, I can only give the outline of how this would work.

Since you're generating the XML from the web app, you have two possible approaches. Each requires some client-side structuring to make it work, which is pretty much the same in both cases. You need a folder and file structure that give each client's branding information a unique and labeled location along with standard file names and types. For example, you could have the logo and color palette (.../branding/clientX/logo.ai, .../branding/clientX/palette.ase) standardly named and appearing in the same places in your structured document.

The most direct approach would be to have the web app emit IDML directly, rather than more generic XML. IDML was designed, in part, to allow exactly this kind of automated publishing.

The indirect approach would be to emit XML that corresponds to a tagged InDesign template. You could script the import of the XML file(s).

Either case requires a variable in the output of your web app that points to the .../branding/clientX/ folder in the branding section, so that the document picks up the correct logo, color palette and any other assets that are unique client to client.

The scripting to produce a complete set of unique PDF documents would not be complex. If you absolutely need them to be editable in Word, there's a PDF2Office app from Recosoft that does an astounding job of conversion.

An excellent guide to XML in InDesign is James Mailvald's "A Designer's Guide to Adobe InDesign and XML".

A complete description of IDML is available as a download from Adobe, and there's a .NET library on CodePlex that should help with that aspect. IDML is the direction I would recommend, because it is future-proof: any version of InDesign from CS4 onward will be able to read IDML and create a valid InDesign document from it.

10% popularity Vote Up Vote Down


 

@Gretchen549

You would probably have to make a "brand guide" in XML or I would use a spreadsheet for each client. You need a template for your clients' headers. The template would fill the design elements from XML set Client logos, info and colors, then fill the rest out with the resulting data from the surveys. Report two would repeat. Styling from XML set for Client two, then results. Or the alternative is to make a 1000 templates and drive yourself nuts updating. But the key is to make another XML containing clients' data to fill the header.

Added:
You can run it from the web app. When a survey is done, have it automatically spit out an XML into a "watched folder" on your server, and then the script could be activated. Email the result to let someone check it before sending it to the client. This is so if there are any errors you see it before the client gets in an uproar and adjust any scripting or encoding needed, XML is funny with characters other than letters and numbers.

After a certain number of trials, you can automate it so it goes straight to the client and a CC to an Acct Exec for the record. In addition adding a button for the client to retrieve it on their own as well. If the survey constantly changes say 3 or 4 times a week, let the client decide how quickly they want it, eg. daily, weekly, hourly updates. In this case if you want someone to open and do it themselves, an email alert with the output and client's name in the subject with the appropriate header XML or link to the where the folder resides so there is no thought process needed to look for the files. You can also use javascript, which I forgot about and might be easier. Since you have InDesign, I'm assuming you have Distiller which the ID file can be dumped into the folder for processing. Anything passed the saving of the finalized document needs attention until the everything passes with no errors a certain number of times. Anything from missing files to corrupt fonts or wrong color scales may cause it to error out. Naming the files with unique codes is key so the proper fields are populated which once again can be in the XML or the database for retrieval when being sent.

I set up a similar system 3 times over the years using Applescript and PHP with Excel. It's quite intensive and you definitely need to break it up. Most times, we had the previous script calling the next script when the code finished running as a bridge to keep from getting occasional errors from the computer not catching up.

VB Scripting Guide for Adobe InDesign for reference CS5.5

Samples of scripts for Reference

10% popularity Vote Up Vote Down


Back to top | Use Dark Theme