: 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
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?
More posts by @Ravi4787994
2 Comments
Sorted by latest first Latest Oldest Best
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;
}
}
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.
Terms of Use Create Support ticket Your support tickets Stock Market News! © vmapp.org2024 All Rights reserved.