Scripts for automating Adobe InDesign

I provide custom script development for Adobe InDesign. If you find yourself banging your head against the wall wishing that InDesign could do such-and-such, or if you have a thorny workflow issue you'd like to solve, a script may be the answer. Contact me and I'll develop a script for you!

Below are some free scripts. Some I developed for my own use, some for my own amusement, and some just for the challenge! If one of these scripts saves you a significant amount of time and effort, you can show your appreciation here.

Create angled table heads [download]

This script will create angled (15°, 30°, 45°, 60°) table heads for the selected table. The contents of the heads can be extracted from the first row of the table, or you can type your own column labels after the script has run.

Stroke every 5 rows [download]

This script will add a .5pt black horizontal stroke every 5 rows within a table selection. Yes, InDesign can automatically add strokes and fills to tables following an alternating pattern you define in the Table Options dialog box. But sometimes you need strokes to repeat at certain user-specified locations in a table, or after a table subhead in the middle of a table. This script lets you do this. This is a teaching script. Included are easy to follow instructions that will let you modify the script in many ways.

Convert image to grayscale / Convert image to grayscale with background color [download]

This script provides a quick way to convert the appearance of a selected color image to grayscale, or a nice grayscale-on-color-background effect. Note that only the appearance of the image is changed. This script is intended for use in presentations, digital documents, and the like. The resulting image is not true grayscale, and won't print correctly to 4-color CMYK separations. See this InDesignSecrets blog post.

Add page buttons [download]

This script provides an automated method for adding “universal” page turning buttons to an InDesign file that will work in every type of output, on any viewing platform. Compatibility is ensured because the buttons are simply hyperlinks that point to specific pages of the document. Great for creating buttons for interactive PDFs that will work in the browser as well as on PDF readers on mobile devices. See this InDesignSecrets blog post.

Rotate selected characters [download]

This script will prompt you for a rotation angle, and then rotate the selected characters by the specified amount. See this InDesignSecrets blog post.

Export FXL HTML [download]

This script will export non-facing pages InDesign files to “fixed layout” HTML format. That is, HTML that retains the exact layout, typography, animation, and appearance from your InDesign layout. The resulting export is very similar to InDesign’s fixed layout EPUB export, but instead of producing a fixed layout EPUB, a folder of HTML, CSS, and JavaScript is produced. See this InDesignSecrets blog post.

Setup [download]

This script sets all of InDesign's preferences and many panel options and view settings the way that I like them. You can edit the script to set the preferences to suit your workflow. See this InDesignSecrets blog post. Updated 2019-01-02.

Export JPG [download]

These scripts make it easy to export a selection, a page, a range of pages, or an entire document to JPG format at a specific pixel dimension. See this InDesignSecrets blog post.

Paste and format URL [download]

This script will automate the process of creating visible URLs. Just copy a URL to the clipboard, choose an insertion point in your text, and run the script. See this InDesignSecrets blog post.

Export PNG with dimensions [download]

This script will output the currently selected objects to PNG format, prompting you for the desired width or height in pixels. This script works in CS6 or later only.

Check for flipped images [download]

This script will “preflight” the currently open file to see if any graphics have been flipped horizontally or vertically. If any flipped graphics are found, a report is created listing the flipped graphic filename, page number, and flip direction. See this InDesignSecrets blog post.

Package [download pre CC 2014] [download for CC 2014–2017] [download for CC 2018]

This simple script does the same thing as the File > Package command, with two differences: first, it doesn't stop to alert you about preflight problems, and second, it doesn't create the "instructions.txt" file. See this InDesignSecrets blog post.

InteractivePDFSpreads ON/OFF [download]

A simple script that implements an un-exposed feature of InDesign CS5. When you export a facing-pages layout using the Adobe PDF (Interactive) option, the facing pages always output as a spread. When you run the InteractivePDFSpreadsOFF script, all future Interactive PDFs exported from InDesign will output as single pages, not spreads. To restore the ability to export spreads to Interactive PDF, run the InteractivePDFSpreadsON script. See this InDesignSecrets blog post.

SlideShow [download]

A real quick and dirty script that uses InDesign CS5's "Presentation Mode" to display all the pages of the open document as a self-running "slide show". Here is a French version, translated by Pierre Labbe. See this InDesignSecrets blog post.

TransposeTwoCharacters [download]

InCopy has a command to transpose two text characters (Edit > Transpose), but InDesign doesn't. This script fixes that. Just place the text cursor between two characters, and double-click on the script in the Scripts panel. Even better, use the Keyboard Shortcut editor to assign a keyboard shortcut to the script, so you can transpose two characters with a keystroke. See this InDesignSecrets blog post.

Update: Here is a version for InCopy. Even though InCopy has a Transpose command, it doesn't work to transpose certain characters, such as periods and quotation marks. This script works to transpose all characters. See this InCopySecrets post.

BalanceRaggedLines [download]

This script "exposes" a hidden feature of InDesign CS3 and newer: the ability to control how the Balance Ragged Lines feature works. By default, the Balance Ragged Lines feature will try to make the lines in the selection approximately the same length, favoring a longer first line and a shorter second line. With this script you can tell InDesign to favor a shorter first line and a longer second line, or to try to make all lines the same length. See the enclosed documentation and example files for more detailed information.

Tooltip [download]

Back in 2007 I wrote an article for InDesign Magazine on how to add PDF tooltips to an InDesign CS3 file.

In InDesign CS4, Adobe completely reworked the way that buttons are created and edited. The change was for the better, except that in the process, Adobe removed the dialog box that allowed you to enter and edit tooltips. The underlying code for handling tooltips is still in CS4, but the dialog box for viewing, editing and adding tooltips is gone.

This script adds the functionality for viewing, editing and adding tooltip text to buttons back to InDesign CS4. See the enclosed documentation for more information. This script is no longer needed for CS5 or newer.

Twitter icon LinkedIn icon Instagram icon