Take the 2-minute tour ×
Graphic Design Stack Exchange is a question and answer site for professional graphic designers and non-designers trying to do their own graphic design. It's 100% free, no registration required.

I would like to know if there is a way to handle minor content changes in InDesign 5.5. I need to create a few different versions of a document where the majority of the content will remain the same but some of it will change.

For example, the heading in one document might read "Foo Bar" and the same heading in the other document might read "Hello World".

I only have a few variations so a data merge isn't what I am looking for. I also don't want to manage separate documents.

Is there a way to create multiple "views" of a document with different layers or content turned on/off, or even replaced with alternate text?

share|improve this question
    
Have you tried Master Pages or layers? –  Scott Nov 14 '12 at 0:39
    
Scott, I have not. I've just got the document set up as two separate pages right now. The feature Text Variables looks close to what I need. I basically just want to define a variable called "Title1","Title2", etc and then manually change the value from within Indesign –  BrianV Nov 14 '12 at 0:52
    
Yeah, for what it's worth - layers could work for some spots, but there is copy inside the paragraphs where 1 word needs to be changed so layers wouldn't work in those cases..I don't think. –  BrianV Nov 14 '12 at 0:53
add comment

2 Answers

up vote 0 down vote accepted

I ended up rolling my own rudimentary solution using the Scripts feature. A tab-delimited text file is used to define "variables", and then the script runs a search and replace for each variable defined. I will have one document that acts as the master, and then generate my child documents from the master.

Input file test.txt

{adj}   quick
{Animal}    Fox
{animal}    fox
{action}    jumped
{item}  chair

InDesign document before running script

enter image description here

InDesign document after running script

enter image description here

jsx script

//TODO: figure out a better way to set the files
var parts=readVars("test.txt");

//run  the replace
for (var i in parts){
  find(parts[i].find,parts[i].replace);
}

//read a tab delimited file
function readVars(fileName)
{
    var fileIn=File(fileName);
    fileIn.open("r");
    var data = fileIn.read();
    fileIn.close();
    return getData(data);
}

//split up a string into tab delimited data 
function getData(data)
{
    var parts=data.split("\n");
    var result=[];
    for (var i=0;i<parts.length;i++)
    {
        var itemParts = parts[i].split("\t");
        result.push({"find": itemParts[0],"replace": itemParts[1] });
    }

    return result;
}

function find(text,replacement)
{
app.findTextPreferences = NothingEnum.nothing;
app.changeTextPreferences = NothingEnum.nothing;
app.findTextPreferences.findWhat = text;
//Set the find options.
app.findChangeTextOptions.caseSensitive = true;
app.findChangeTextOptions.includeFootnotes = false;
app.findChangeTextOptions.includeHiddenLayers = false;
app.findChangeTextOptions.includeLockedLayersForFind = false;
app.findChangeTextOptions.includeLockedStoriesForFind = false;
app.findChangeTextOptions.includeMasterPages = false;
app.findChangeTextOptions.wholeWord = false;

var foundItems = app.documents.item(0).findText();

    for (var i=0;i<foundItems.length;i++)
    {
        //alert(foundItems[i]);
        //alert(foundItems[i].contents);
        foundItems[i].contents=replacement;
    }

}
share|improve this answer
    
Scripted search is the best answer to this. For very limited changes, you could just save a search/replace preset and run it within your doc each time you output. I prefer the script solution because it's easier to repurpose and allows you to change a lot of variables in one go. –  plainclothes Nov 14 '12 at 17:21
add comment

If you're looking at tiny edits within paragraphs of text, I think I'd handle this with 2 documents.

While using Master pages or layers can be helpful it is often too easy to overlook something.

Variable text may also work, but that seems like a great deal of overhead for a few minor changes.

I'd use 2 documents. This makes things much easier to track, proof, and return to later.

I often create sales pieces for clients with 20+ versions and the only difference between versions is a phone number and address. I've tried many dynamic methods for retaining those minor items in a single file and nothing has been as bullet-proof as simply creating a new document, making changes, and cataloging the file well.

share|improve this answer
    
I second this; I've done the same thing as Scott. You may want to start with a template, but beyond that, individual documents cause the least confusion. –  Lauren Ipsum Nov 14 '12 at 11:22
    
Could be, there may not be a good way to do it in InDeisgn. There is a feature in Fireworks that makes what I requested really easy, and for me, it would be better than managing multiple documents with only 1-2 words changed. –  BrianV Nov 14 '12 at 13:14
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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