20 Free Must-Have Scripts for InDesign Users
Excerpted from InDesign Magazine, August/September 2012 (issue 49). Subscribe now! In addition to the HTML version of the excerpt below, you can also download the excerpt as a PDF that retains the full design of the magazine. This PDF is best viewed in Adobe Acrobat or the free Adobe Reader.
Congratulations: By starting to read this article you have taken the first step towards making your life far easier! I’m going to uncover a secret that can transform you from a regular InDesign User to a super-powered force of nature! The trick is based on what I (immodestly) call Blatner’s First Rule of Publishing: Take a little time now to save far more time in the future.
One of the best ways to apply this rule is to find a script or plug-in that does your work for you. Most scripts are extremely easy to use and can save you hours of time. The hardest part is knowing what’s available and where to get them. Fortunately, I’m going to make it easier for you by providing a list of twenty awesome scripts. Of course, I’m not saying you need all of them, but you do need to know about all of them! You never know when one will come in handy.
If you want to install a script you have downloaded from the internet (it should have a .js or .jsx extension), right-click the Users folder in the Scripts panel and choose Open in Finder (or Open in Explorer in Windows) from the context menu.
Put your scripts inside the Scripts Panel folder (not the Scripts folder). Make sure it ends with .js or .jsx (sometimes scripts get a .txt added to their name when you download them from the internet). Next time you look at your Scripts Panel, you’ll see the script inside the User folder—no need to restart the program. Double-click it to run the script.
Note that these scripts are in alphabetical order, not order of awesomeness or functionality. Click on the script name to jump to a web page from which you can download the script. Or go to http://InDesignSecrets.com/free for the full list of links to the sites where you can download the scripts. In most cases you’ll find other scripts worth checking out, too. I want to thank Mike Rankin, Anne-Marie Concepción, and Erica Gamet for pointing out some of these that I hadn’t seen before.
One of the most stunning examples of a free script available is CalendarWizard, a tour de force by Scott Selberg that he has posted at the popular open source SourceForge site.
CalendarWizard can create calendars in a wide variety of forms, and with a wide range of options — including holidays, phases of the moon, and calendars in over 20 different languages (Figure 1)! Best of all, the calendars are all based on paragraph, table, and cell styles, so it’s extremely easy to customize them. Scott has created a number of simple and excellent tutorials to help you through the process. Note that I also wrote about CalendarWizard in Issue 21 of InDesign Magazine (December 2007).
Figure 1: Calendar Wizard’s dialog box is huge, but doesn’t take long to figure out.
Do you run the same find/change queries repeatedly? Do you have ten different find/ change queries that you have to run one after the other? You need FindChangeByList, and the good news is that you already have it—it’s one of the free scripts that are installed by default into the Samples folder inside the Scripts folder. The hardest part of using this script is the text file you have to create to control the script. The text file tells the script what it should find and what to replace it with. It’s not rocket science; but it does take some time and effort to figure out (see my lynda.com movie for details). You can save a lot of time if you use some additional scripts, mentioned in this blog post: Find-Change Scripting Goodness. But honestly, you can save even more time if you use an inexpensive third-party product called Multi-Find/Change.
Do you need endnotes in InDesign? Tough luck, because InDesign only offers footnotes! Fortunately, there is a cool workaround, involving cross-references. And even more fortunately, Peter Kahrel has made a script that can convert your footnotes into endnotes! Even better, he has other scripts that can convert footnotes into side notes (which sit in the margins) and more!
Have you ever needed to undo back 20 steps? And then you get there and realize, nah, you were better off redoing 18 of them? There are several History plug-ins out there, but Harbs at In-Tools created two simple free scripts that give you a list of all the Undo or Redo steps (Figure 2). Just choose a step, click OK, and it takes you there.
Figure 2: The History scripts let you undo or redo as many steps as you want, using a convenient popup menu.
You can set a keyboard shortcut to these scripts (or any other script) for easy access by choosing Edit > Keyboard Shortcuts and choosing Scripts from the Product Area popup menu.
IndyFont turns InDesign into a font creation application—yes, you can literally design and export a font! That may sound crazy, but in fact it has some excellent uses. For example, need a custom bullet character? Or custom numbering for a fancy auto-numbered list? What about a custom icon at the end of your magazine story? All these things require a custom font. In the past, that meant not only buying another application, but learning it! IndyFont lets you do it with tools you already know, and while the free “demo” version only exports a single character in the font, it lets you create as many fonts as you want.
It’s a common request by InDesign users, especially folks who make newsletters and magazines: We want a way to run lines (rules) between each column. It’s not that hard to do manually, but it is tedious and frustrating if you ever need to change the size of the frame. Enter InGutter, a wonderful tool that uses a clever trick to add the lines for you (Figure 3). Even better, when you resize the frame, the rules change automatically, too!
Figure 3: InGutter can add guides between or around any multi-column text frame.
Did you ever wish you could take a section of your page and hand it to someone else to work on? LayoutZone lets you convert any part of your spread into an editable InDesign document; then later, after it’s edited, you can update the “zone” in InDesign or convert it back into editable objects again. You can even use it to convert any placed InDesign document into editable objects. LayoutZone needs to be installed in a different location (the Scripts panel inside the application folder, not the Scripts Panel folder), but easy-to-understand instructions on the developer’s site lay it out for you. This tool may sound complex, but it’s actually very easy and has the potential to supercharge your workflow!
This is one of my favorite scripts, and not just because I was partially responsible for it being written. A client of mine needed a way to split a single frame into a grid of smaller frames (they were using it to create real estate and car ads). I asked Olav Martin Kvern (who was working at Adobe at the time) and he fixed this up in a jiffy. It was so useful that Adobe decided to add it to the Samples folder, which is where you’ll find it today (Figure 4).
Figure 4: The MakeGrid script breaks any empty or graphic frame into a bunch of pieces (left). For text frames or open paths, it makes duplicates in a grid (right)!
InDesign has a lot of features for working with tables, but it’s lacking some features that you’d think were no-brainers. For example, have you ever tried to combine two tables together? It’s almost impossible… unless you have a script like Merge Tables. Just select two tables with the Type tool, then run the script. It lets you combine them vertically (one on top of the other, adding more rows) or horizontally (side by side, adding more columns).
It’s easy to place two or more pages of a PDF into an InDesign document with the Import Options dialog box, but you have to click at least once for each page you’re importing. Wouldn’t it be cool if you could just import two or more pages automatically? InDesign ships with a free script (in the Samples folder) called PlaceMultipagePDF which can help. When you run it, it asks you to choose a PDF, and then it asks if you want to place the pages in a new document or the current one. But that’s about the extent of its power. If you want to supercharge the import, use MultiPageImporter, which lets you rotate, scale and position the PDF just where you want it (Figure 5).
If you need more control over how your documents are exported to PDF (or EPS or some other format), then check out the Page Exporter Utility (PEU), which has been a staple of many people’s production lines for years. PEU lets you export your InDesign documents as single-page files (instead of putting all the pages or spreads into one PDF). What I use it for most commonly is layer versioning. For example, you might have a “base layer” and then three different language versions (say English, French, German). PEU can export multiple PDF files as base+English, base+French, and base+German. Simple and super efficient!
Figure 5: MultiPageImporter lets you import a bunch of pages from any PDF or INDD file very quickly and accurately.
Let’s say you have a thousand different numbers in your InDesign story and you need to increase each of them by 1. Or you have a hundred prices in your catalog and you need to decrease them all by 30 percent. Computers are supposed to be good at doing math, right? So let the NumberAdjuster script do the heavy lifting for you! You can add, subtract, multiply, or divide all the numbers in your story or document. It even lets you adjust just the numbers that have a dollar sign in front of them, or just ones that match a particular GREP pattern. It’s very powerful, and very fast.
Need to make your text exactly 72 points tall? That’s surprisingly difficult in InDesign because the point size of text typically includes space above the ascenders and space below the baseline (to make room for descenders). Fortunately, you can use this script to figure out the size for you. Just select some text, run the script, and tell it how large you want the text to be (based on the size of a specific letter). For example, you could say “make the uppercase A be exactly 30 mm tall.”
Need to know exactly how large every frame is in your document because you’re working with very strict guidelines? Don’t click on each frame one by one; just run the SizeLabels script and every object is suddenly adorned with a little label showing its dimensions. You can edit the script (sounds scary, but it’s really easy!) to change the measurement system it uses from inches to something else, and you can add paragraph and object styles to customize the labels. Best of all, the script places the labels on a special layer, so it’s easy to hide or even delete them. While you’re at the Rorohiko site, look around at the many other products they have!
It’s almost impossible to tell where styles are applied in InDesign unless you click on every bit of text manually, or the style is easily identifiable by eye. Worse, there’s almost no way to tell where someone has applied local formatting (text that has paragraph or character formatting on top of the style definition). Both these problems are handled by the amazing StyLighter script. When you run it and enable the Activate the Preview Mode checkbox, then all local character formatting gets a red line through it; local paragraph formatting gets a line along its left side. These lines don’t print; they’re on-screen-only. Even better, the StyLighter dialog box lets you assign a different color for each paragraph or character style (Figure 6). Again, it’s for screen viewing only, and you can make it all go away by running the script again and turning off that checkbox.
I’m actually going to mention two scripts here. First, you have to know about the SortParagraphs script that ships in InDesign’s Samples folder (in the Scripts panel). It’s terrific for sorting any kind of list, whether numerically or alphabetically. But it only sorts paragraphs and can’t sort data in a table! That’s where Peter Kahrel’s TableSort script comes in handy. It can sort tables in all the ways you’d typically want (Figure 7).
You know how choosing Type > Fill with Placeholder Text fills up any frame? Unfortunately, it doesn’t work for tables. But Marijan Tompa’s TomaxxiFillTable does the job admirably, letting you fill with text, numbers, date/time stamps, and more. But the feature I like the most is its ability to insert consecutive numbers. For example, you can fill a column with numbers from 100 to 1000 with a quick couple of clicks. Remember to select the cells in the table that you want to fill before running the script.
Figure 6: When you turn on the preview mode in StyLighter, you can see what styles are applied and if any local formatting has been applied on top of those styles.
One of the most confusing and annoying aspects of object styles is that the Default Graphic Frame Style is not applied to graphic frames—it’s only applied to empty “unassigned” frames. This is particularly frustrating when importing images that you want placed into a frame with a particular object style. That’s where TomaxxiPlace2 comes in. This is a startup script (so it doesn’t go in the Scripts Panel folder) and the instructions are clearly laid out in the link above. The result is that whenever you use File > Place to import a graphic, InDesign will assign the default graphic frame style, giving you the result you expect and want.
Figure 7: TableSort is great for sorting a table alphabetically.
The last script on here is addictive; once you start using it, you’ll want to run it at least ten times in a row. Wordalizer is a script that makes a “word cloud” of the most common words in a story or document and lays them out in a clever and colorful way (Figure 8). While most people don’t need a word cloud in their documents, it is an awesome way to make your publication look super cool.
Figure 8: Two layouts from the same document, created by the Wordalizer script.
Some coders write their scripts in a way that you can use Undo to easily revert back to the state of your document before you ran the script. However, many scripts don’t do this (especially older scripts). The result is that if you try to undo after running one of those scripts, you may have to choose Undo about 50 times (once for every action the script performs). Instead, save your document before running the script! That way, if something goes terribly wrong (or you just don’t like the result), you can choose File > Revert and you’re back in action quickly.
It Didn’t Work! Now What?
I’ve tried all the scripts in this article, and they generally work fine. However, every so often scripts spit back errors at you when you try to run them. These errors are often really scary and unless you’re a scripter you may not know what to do. My suggestion is to try the script on a different document and see if it works there. Try setting up the document differently (for example, some scripts want you to select something first; others don’t want anything selected). Sometimes older scripts just don’t work right in a new version of the product. Some scripts in this article even say they’re designed for CS4 or CS5, but they do appear to work in CS6. Other times it’s some weird bug that might affect just you or your situation. You can sometimes go back to the developer, report the bug, and see if they’ll fix it for you. But because these are free, the developer may not get around to fixing it for a while. If it’s important for you, consider offering them a small fee to help motivate them. Speaking of which…
Return the Favor!
Just because these scripts are free doesn’t mean they’re not worth a lot! If you find yourself saving money or time using a script, consider donating to the developer, or buying some other product from them! Most of these scripters have a Donate button on their site. You’d be amazed at how sending even $20 or $50 makes a huge difference to these folks. (And believe me, you’re likely to save hundreds of dollars in time, so it’s more than worth it.)