Mobile app version of vmapp.org
Login or Join
Ravi4787994

: Is there an easy way to handle minor content changes in InDesign? 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

@Ravi4787994

Posted in: #AdobeIndesign

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?

10.02% popularity Vote Up Vote Down


Login to follow query

More posts by @Ravi4787994

2 Comments

Sorted by latest first Latest Oldest Best

 

@Carla748

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



InDesign document after running script



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;
}

}

10% popularity Vote Up Vote Down


 

@Nimeshi706

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.

10% popularity Vote Up Vote Down


Back to top | Use Dark Theme