Improving on the default scripts

One of the features that I like about InDesign is the ability to automate repetitive tasks using scripts. Since discovering this feature, using scripts have become part of my everyday work routine.

InDesign ships with 20 scripts, but with few exceptions the same scripts have been shipped with InDesign for the past six releases.

The scripts are (as described by Adobe itself on its website):

AddGuides.jsx – Adds guides around selected object/objects.

AddPoints.jsx – Adds points to the paths of the selected object or objects.

AdjustLayout.jsx – Moves objects by specified distances on right/left pages.

AlignToPage.jsx – Aligns objects to specified positions on a page.

AnimationEncyclopedia.jsx – Automatically creates buttons with different animation properties.

BreakFrame.jsx – Removes a selected text frame and its contents from a story.

CornerEffects.jsx – redraws the path of the selected item or items using a variety of corner effects. Corner effects can be applied to selected points on the path.

CreateCharacterStyles.jsx – Defines a complete character style based on the selected text.

CropMarks.jsx – Adds crop and/or registration marks around the selected object or objects.

ExportAllStories.jsx – Exports all stories in a document to a series of text files.

FindChangeByList.jsx – Performs a series of common text find/change operations by reading a tab-delimited text file.

ImageCatalog.jsx – Places all graphics in a specified folder in a “contact sheet” layout.

MakeGrid.jsx – Creates a grid by subdividing or duplicating the selected object or objects.

Neon.jsx – Applies a “blend” effect to the selected object or objects.

PathEffects.jsx – Changes the position of path points on the selected object or objects to add a creative effect.

PlaceMultipagePDF.jsx – Places all pages of a PDF.

SelectObjects.jsx – Selects objects on the active spread by their object type.

SortParagraphs.jsx – Sorts the paragraphs in the selection alphabetically.

SplitStory.jsx – Splits the text frames in the selected story into separate, unlinked text frames.

TabUtilities.jsx – Applies tab stops and indents to the selected text.

But after six releases, some of these scripts have either become redundant or improved upon elsewhere.

Scripts that have become redundant thanks to the user interface are:

  • AlignToPage.jsx; and
  • CornerEffects.jsx

Both scripts perform tasks which are just as easy to do in the actual user interface. Since InDesign introduced Live Corners, the CornerEffects script is actually more of a burden to use given that the script interface is hard to understand.

Also, objects made using the CornerEffects script do not hold their rounded corners once scaled.

Scripts that ship with InDesign but have been improved by other users:

  • AdjustLayout.jsx;
  • FindChangeByList.jsx; and
  • MakeGrid.jsx

As each version of InDesign had different ways of interpreting javascript, the AdjustLayout behaved differently from version to version. Fed up with this, a co-author of Real World InDesign CS6 Ole Kvern has fixed this script and it can be downloaded here

For users working in millimetres, the MakeGrid script had one quibble that was it would always display measurements in points, but again the script has been fixed by Gerard Singelmann and can be downloaded here (this contains several scripts in German, the MakeGrid script is the one called Rahmen zerschneiden.jsx).

The FindChangeByList script itself hasn’t been improved upon, but the way of entering the find/replace values into the text file where the script gets its values from has. Kasyan Servetsky has a script called Recordfindchange which works by entering the values into the find/replace dialog box, then running the script which creates a text file which can be copied and entered into the text file being referenced by the FindChangeByList.jsx script. Kasyan’s script can be downloaded here.

Scripts that have been made obsolete by scripts made by others:

  • CropMarks.jsx
  • ExportAllStories.jsx
  • PlaceMultipagePDF.jsx
  • SortParagraphs.jsx
  • SplitStory.jsx

The CropMarks Script had issues given that by default, it did not account for bleed and would put crop-marks within the gutters. An alternative by Loïc Teixeira resolves these two issues and can be downloaded here. 

The ExportAllStories script still works but Kris Coppieters of Rorohiko has made a much better export. This one is a paid feature but if text exporting from InDesign is to be done often, is well worth it and can be downloaded here.

The PlaceMultipagePDF has been made quite obsolete by a much better script by Scott Zanelli called MultiPageImporter.jsx which not only imports PDFs but also allows page rotation, scaling, offsets, reverse page order… it’s massive! This script is one which is so good it even has its own manual. More information on the script can be downloaded here.

SortParagraphs again is a good script but Peter Kahrel has made a much better version.

SplitStory again works well but there is just a better version out there by Adi Ravid called StorySplitter which rather than just splitting the stories also has a dialog box with a few options. Again, that script can be found here.

If there any of the default scripts which have been made obsolete that I haven’t covered in this article, please let me know.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.