Hello all - I'm looking for a way to merge text data & images into an InDesign template. I've looked at data merge and it's a bit clunky for my purposes since I'm looking to perform data replacement programmatically from another application.
Coming from the labeling world, we typically accomplish this task using labeling software (NiceLabel, BarTender, Loftware, etc) by defining a name for text/image fields inside of a label template. Once a label template is mapped out using various names for all text and image fields that need replacement, the template is saved. From here, our software will then open the labeling software, load the label template, and merge data to each one of the named text/image fields used within the label template.
I'm struggling to find a similar method that is InDesign-friendly. Does anyone have a suggestion on where I might focus my research?
"Coming from the labeling world, we typically accomplish this task using labeling software (NiceLabel, BarTender, Loftware, etc) by defining a name for text/image fields inside of a label template. Once a label template is mapped out using various names for all text and image fields that need replacement, the template is saved. From here, our software will then open the labeling software, load the label template, and merge data to each one of the named text/image fields used within the label template."
Hm. That describes a data merge workflow very well.
What are you missing with InDesign's data merge workflow?
You create an InDesign data merge template document holding the data field placeholders ( in essence special hyperlinks in InDesign ), you store the data in a tab delimited text file or a CSV file and you do the merge with the template InDesign document and the data source file.
( ACP )
Thank you for the reply. I was hoping there might be a more direct method to populate placeholders in an InDesign template that would not require connecting to an external file by possibly using the SDK or some other method.
Using the BarTender labeling software as an example, we can create a template design and provide a unique placeholder name for any text object used on the label. This placeholder isn't defined in a text file, its simply entered by the user during the design process. Using the BarTender SDK, we can read these placeholder names into our application and replace the value of these objects on the fly. This method eliminates the need for an external file to drive the data merge process, creates faster requests when printing, and provides better overall data security (we work in highly regulated medical environments).
We could theoretically do this with data merge but we're really hoping there might be some better options out there we're just not aware of 🙂
If the hangup is having another piece of software execute the merge, you can write Applescript or VB Script to open a template with the properly configured DataMerge fields and execute the merge.
You can also explore more advanced solutions like InData: http://emsoftware.com/products/emdata/
Thank you for the reply. Executing the merge was one of my concerns, but as I mentioned in my reply to Uwe we're really looking for a more direct method for merging data if at all possible using the SDK. I will take a look at the link you provided.
Can you show an example or two (screen captures) of finished pieces, perhaps with sample data?
Indesign's data merge can automate processes while generating variable text and images, but there are limitations. Viewing an example may allow us to determine if data merge can work for your projects or suggest alternatives.
Thank you for the reply. We're interested in helping our customers generate Instruction For Use (IFU) documentation for use in the medical device industry. These are text-heavy documents with occasional images that typically look something like the image below.
Sounds a bit like you would want an XML workflow.
There are also some amazing 3rd party catalogue software,that for a price will give you less steep learning curve.
Thanks for the reply. XML was one of the other avenues I explored a few months ago but ran into roadblocks probably mostly due to the learning curve as you said. I'm still not sure if XML is right for this project since I'd like to define a single tag and apply the value to multiple locations within an InDesign document. I feel like this should be possible... but I probably need to reeducate myself before speaking further on the topic.
You may also want to check out redokun.com that specialise in translation software, considering the number of languages you are working with. Besides EMsofware, EasyCatalogue, www.cacidi.com and http://www.teacupsoftware.com/product/datalinker/ are some of the third party developers that have worked with this kind of problems.
Thank you for the suggestions Lukas. We have a method for managing translations in our software but we're still trying to determine the best method for pushing them to the InDesign document so I will take a look at the links you provided. I had anticipated some challenges with Data Merge & text file encoding when using other languages.
what is the endproduct? PDF?
Or do your customers want InDesign documents?
( ACP )
The end goal of this project is to allow our users to develop InDesign templates, upload them to our system and then print them out using InDesign as the print engine or possibly using InDesign to generate a PDF which could then be used for printing.
We haven't made far enough in our testing yet to determine which method would make the most sense. Likely the fastest method would win 🙂
"…We have a method for managing translations in our software but we're still trying to determine the best method for pushing them to the InDesign document so I will take a look at the links you provided. I had anticipated some challenges with Data Merge & text file encoding when using other languages."
Is IDML exchange involved in that process?
( ACP )
All of our data management happens within our web-based GUI that relies on an MSSQL backend. As of right now, the only Adobe integration we have in place is the process of creating new/opening existing .indd files from one of our web menus.
We've looked at IDML files as a possible solution for updating data in .indd files, but it seemed a bit overkill for our needs of data replacement. It's been a few months since we looked at using IDML files as a possible solution, do you think it's worth revisiting?
Hi: I do a lot of database publishing. My method is to use Adobe InDesign Tagged Text files. In essence, the information is in a relational database; the database outputs the text with tagged text tags; and then these outputted text files are places into the correct frames/locations with Applescripts run by the database. The database knows all the file paths and InDesign frame names. The paragraph and character styles are defined in the InDesign document; the various bits of text are tagged with those style names. By using a database, intricate logic can be used to determine all the style tags everywhere. After placing all the text files, other scripts are run for cross references, image placement, Table of Contents, etc.
Thank you for the reply. This is an approach that makes a lot of sense to me. If it's not too much trouble, do you mind sharing one of your InDesign documents with me that has paragraph/character styles and tagged text elements mapped out? I'd love to have an example document to play with as I research this idea more.
Can I email it somewhere?
Yep, that would be great. Please send it to my personal email: email@example.com