This short guide will show you how to get the most out of FormMagic and FormMaker.
FormMagic consists of an InDesign add-on and an Acrobat script. Together, they make it easy to create fully styled interactive PDF forms in InDesign.
InDesign natively (that is, without the use of FormMagic) allows the user to set only the size of the text displayed when the end-user fills in an interactive PDF form in Acrobat.
FormMagic and FormMaker greatly extend the InDesign user’s choices in styling form fields. With FormMagic and FormMaker, you can apply the following properties to form fields directly in InDesign, and they will carry over to the form fields in your interactive PDF form, so the end-user will see their text styled accordingly as they fill out the form in Adobe Acrobat Reader:
The above properties modify the styling of the font that the user sees when filling in an interactive PDF form. But another imortant feature of FormMagic and FormMaker is the ability to designate form fields as “combs” directly inside InDesign.
In short, look at the following simple form. This form has been created natively in InDesign without FormMagic. Note that all text uses the default Times font, is left-aligned, 12pt in size, black, and the Postcode field is not a comb. Also note that the text inside all the form fields has been typed in manually in Acrobat. This is the best you can do with a form designed with InDesign without the benefit of FormMagic or FormMaker.
Compare the above to the same form, designed in InDesign, but with the benefit of FormMagic:
Note that a blue sans-serif font is used rather than the default black Times Roman font. The email field at the bottom is centered. The postcode field is set as a comb field. And the text that appears in the forms fields can be supplied in InDesign.
FormMagic and FormMaker can modify the properties of all form fields containing text, namely combo boxes, list boxes, and of course text fields.
Additionally, FormMaker allows attaching validation scripts not only to these types, but also to buttons.
What is the difference between FormMagic and FormMaker?
FormMaker includes all of FormMagic‘s features, but, additionally, allows for the inclusion of validation scripts in InDesign.
A validation script is a script that is run in Acrobat Reader when the user focuses out of a form field (i.e., clicks outside the field, or tabs to a different field, etc.)
A validation script is normally used to check and validate the information the end-user has just typed into a given field. It can alert the user that their answer is wrong, incorrectly formatted, or it can silently modify the user’s entry – for instance, converting the user’s input to all-caps.
While FormMaker doesn’t write the validation scripts themselves (that is left up to you or your IT specialist), the ability of including such scripts in InDesign makes it possible to create truly rich interactive forms in InDesign, thereby simplifying the editorial and review cycle of the form.
In the following guide, all features described are applicable both to FormMagic and FormMaker, unless it is explicitly stated that a certain feature (namely, the addition of validation scripts) is applicable to FormMaker only.
Unlike most Id-Extras.com add-ons, FormMagic (and FormMaker) consists of two separate files: one for InDesign, and one for Acrobat.
After downloading and extracting (unzipping) FormMagic, you will find 3 files:
The file called “FormMagic1.7.5.Pro”, which is a .jsxbin file, is the InDesign file (the version number – 1.7.5 in this case – can of course be different). As usual for any InDesign script, this file must be copied to the InDesign Scripts Panel folder on your hardrive (see “How to install an InDesign script or add-on”).
On a Windows 64-bit machine with Acrobat XI, this folder is here (presuming your main harddrive is called C:):
If you’re using Acrobat DC, change “Acrobat 11.0” in the above path to “Acrobat DC”, so it looks like this:
On both Mac and Windows, if you have copied the Acrobat file to the right place on your harddrive, when you launch Acrobat (Acrobat must be restarted for this to work) two new menu items should appear at the bottom of the Edit menu: “FormMagic” and “Purge FormMagic Data”. It should look like this:
To apply formatting to form fields with FormMagic:
1. Create your form, adding as many text fields, combo boxes, and list boxes as needed.
2. Add some default text to these fields and format the text freely (the Introduction, above, lists the formatting that will carry through to Acrobat with FormMagic). You can also apply paragraph or character styles to the text.
In the following example, the font selected is Myriad Pro Bold. It has been colored blue, and is centered inside the text frame.
3. Run FormMagic by double-clicking on it in InDesign’s scripts palette. (If you have selected this option, you can also run FormMagic from the special Id-Extras menu that appears in InDesign’s menu bar.)
A message will be displayed saying that the FormMagic data has been stored. Click OK:
4. Export the document from InDesign as usual for an interactive PDF form (File > Export, and choose “Adobe PDF (Interactive)”.
5. The form will open in Acrobat (or open it manually if it does not open automatically). Initially, it will be blank:
Now, click on the new “FormMagic” menu item that appears at the bottom of the Edit menu in Acrobat (see the screenshot above, in the “Installation” section). The form field will magically turn into this:
The default text has been restored. The font chosen in InDesign has been applied to the text. The color has been restored, and so has the alignment (centered)! With one click, all form fields in your PDF – however many pages long it is – will be fully formatted according to formatting applied in InDesign.
Not only text fields, but also combo boxes…
… and list boxes
… can be formatted with FormMagic.
Note: The properties available for list boxes and combo boxes are font size, color, and font only (but not alignment or default text).
The above example presumes that you want default placeholder text to appear in your form field in Acrobat. But what if you do not need placeholder text? What if you want the user to see a blank field initially. When they start typing in the field in Acrobat, that’s when the chosen font, colour, alignment, etc. should become apparent – but not before.
It’s easy to do this with FormMagic. In fact, the method is identical to that described in the previous section. But instead of formatting the text in the field, you format the insertion point in the field. Let me explain.
Every text frame and form field in InDesign has at least one insertion point, even if there is no text in that frame or field. The insertion point is where you see the text cursor blinking when you’re in text mode ready to type something – as can be seen in the following screenshot (the red arrow indicates the insertion point).
As you probably know, if you want the text that you are about to type to appear in a particular font, with a particular alignment, size, colour and so on, you can choose all these properties before beginning to type. Once you have set the desired properties, any text you now type will be styled accordingly.
Likewise, even before typing any text, you can apply a paragraph style or character style to the insertion point, and any text typed thereafter will acquire the selected the styles and be formatted accordingly.
For example, in the above screenshot, any text typed will appear as Myriad Pro Bold at 12pt.
If FormMagic does not find any default text in a form field, it will read and store the properties of the invisible insertion point. Then, when the end-user starts filling in the form in Acrobat, all text will appear styled in the same way as the insertion point in the field was styled in InDesign.
So, to set these properties without default text, make sure your text cursor is flashing inside a form field in InDesign and apply the required formatting to the insertion point, or select a paragraph or character style. Once the form has been styled as needed in InDesign, apply steps 3–5 above.
Comb fields are forms fields that are divided into separate cells or boxes. The end-user is required to enter one character or digit per cell. They are commonly used wherever a fixed number of characters is expected, and look like this:
Acrobat lets you turn a regular text field into a “comb” field and set how many cells there should be. With FormMagic, you can do this in InDesign as well!
To create a comb field with FormMagic, first create a regular text field:
In the text field, insert a vertical line character, sometimes called a “pipe” (it looks like this: | ). Add as many lines as you want cells in the comb field.
Whenever FormMagic sees such a vertical line in a text field, it will convert that field into a comb field in Acrobat, with as many cells as there are lines.
If you add 8 lines, for example, as in the following screenshot:
The result will be an 8-celled comb field in Acrobat:
If you add placeholder text in InDesign, as in the following screenshot:
This will carry through to Acrobat as well:
As usual, you can set the font, style, color, alignment, and so on, directly in InDesign, by applying the desired formatting to the placeholder text, or to the insertion point, as described above.
Note: The width and color of the cells in Acrobat is based on the width and color of the stroke given to the text frame in InDesign. Making the stroke thicker in InDesign will make the cell border thicker in Acrobat.
Note: If you want the cells to have no visible border, set the stroke width of the text frame in InDesign to 0.
Tip: Acrobat only provides one design for comb fields – the one shown in the screenshots above. If you need a different design, set the stroke width in InDesign to 0, and paste the design you want on top of the text frame in InDesign. The result in Acrobat could be something like this, for example:
There are two types of text fields in Acrobat: Plain text fields, and rich text fields.
Plain text fields allow only one type of formatting in the field – a single style (bold, italics, etc.), a single font, a single size, and so on.
Rich text fields allow a mixture of formatting within the same field.
With FormMagic, you can create rich text fields in InDesign that carry over to Acrobat!
This is done by providing default text styled in at least two different ways. As soon as FormMagic sees that text in a text field has been formatted in different ways, it will create a rich text field in Acrobat.
For example, the following field has text in roman type and bold type. Because these are different types of formatting, the corresponding field created in Acrobat is a rich text field.
Note: Because it is necessary to have two different types of formatting inside the text field in InDesign, to create a rich text field it is necessary to have some default text (if the frame consisted of a single insertion point only, there could only be a single type of formatting). If you do not want any placeholder text to appear, but you still wish to create a rich text field in Acrobat, consider adding two blank spaces to the text frame in InDesign. Format one space slightly differently from the other space. This way, no default text appears in the form, but the field will be designated as a rich text field.
Note: Some rich text formatting available in Acrobat cannot be set in InDesign with FormMagic. This includes line spacing.
FormMagic does its best to apply the exact font used in InDesign to the form field in Acrobat. (More about that below.)
It is important to realize, though, that FormMagic cannot embed the required font in the Acrobat form.
So, if you, as the designer, select a particular font that you like for all the forms fields in the form being designed, you must be sure that the end-user has that exact font installed on their system as well. Otherwise, they will not see the correct font. Instead, they will probably see Times – the default font Acrobat uses for all form fields.
For example, if you choose Bodoni for your form field text in InDesign, and the end-user (the one filling in the form in Adobe Acrobat Reader) does not have Bodoni installed on their computer, they will see Times instead of Bodoni!
To avoid this problem, make sure that the fonts you use are fonts that you are sure the end user has on their computer, or use free fonts that may be distributed along with the PDF form itself.
Despite the above warning, there are a handful of fonts that Acrobat itself (including Adobe Acrobat Reader) makes available to all users filling in forms, even if they do not have those fonts installed on their machines.
These fonts, which are always available, are the following:
If you use any of the above fonts, you can be sure that the end user will see the form as you intended.
Windows users normally do not have all the above fonts installed by default. Although they are available in Acrobat, they are not available in InDesign.
For instance, Windows does not come with Helvetica. However, since Helvetica is a great sans-serif font, and since it often makes good design sense to set the font for a form to be a sans serif, it would be a shame if Windows users had no way of making use of the safe font Helvetica. (Since it is not available to them, they cannot apply Helvetica to the default text in InDesign!)
FormMagic provides a way to work around this limitation, allowing Windows users to take full advantage of Acrobat’s safe fonts. It achieves this through a simple form substitution table. If the user chooses one of the fonts listed in the table below, FormMagic (and FormMaker, of course) will substitute it with the appropriate Acrobat safe font. In all cases, the subtitution fonts are almost identical to the chosen font – most end users would probably not be able to tell the difference.
The substitution table is as follows:
|Font used in InDesign||Acrobat “safe-font” substitution|
|Times New Roman Regular||Times Regular|
|Times New Roman Bold||Times Bold|
|Times New Roman Italic||Times Italic|
|Times New Roman Bold Italic||Times Bold Italic|
|Arial Bold||Helvetica Bold|
|Arial Italic||Helvetica Oblique|
|Arial Bold Italic||Helvetica Oblique Italic|
|Courier New Regular||Courier|
|Courier New Bold||Courier Bold|
|Courier New Italic||Courier Oblique|
|Courier New Bold Italic||Courier Bold Oblique|
|Symbol (actually, Symbol Monotype)||Symbol|
Note: Although it’s not obvious, a similar substitution occurs for Mac users as well. For instance, if a Mac user selects Helvetica for a text field, the font chosen is the system-wide Helvetica available on Macs. However, in this case too FormMagic will actually tell Acrobat to use its own generic, “safe” version of Helvetica. So although on Mac the names are the same as Acrobat’s safe fonts (so it is not necessary to display a substitution table as I’ve done above for Windows), in fact a font substitution is taking place. This is desirable because it means that if a form is designed with Helvetica, even if that form is used by an end-user on a Windows machine, the font will display properly (using Acrobat’s built-in Helvetica).
Important Note: Font substitution only occurs for plain text fields! If a rich text field is created (see above), no substitution will take place, either on Windows or Mac! Arial will stay Arial, and Helvetica will stay Helvetica and not be substituted with Acrobat’s safe Helvetica!
Sometimes, a designer on a Windows machine will specifically want to use Arial, for example, and not have it substituted with Helvetica.
From version 1.8.0 of FormMagic onwards, it is possible to bypass the default font subtitution by using the user-supplied FontList.txt file. See below for more details.
InDesign and Acrobat have different names for the same font. When you choose a font from a list in either program, the font names are the same, but internally both programs have a different naming system.
Since FormMagic runs in InDesign, it must try to guess the name of the fonts you are using in your form so that Acrobat will recognize them. Luckily, using simple hueristics, the guessing routine works most of the time. So most of the time you can select any font in InDesign and find that the correct fonts is being used in Acrobat as well.
But if you notice that despite using a font in InDesign, all your’re getting in the Acrobat form is Times, you will need to assist FormMagic find the correct name. This feature is available from version 1.8.0. It works as follows:
In the same folder as the InDesign FormMagic.jsxbin file, create a plain text file (with a .txt extension) called “FontList.txt” (without the quotes, obviously).
Type the name InDesign uses internally for the font, then tab, then the name Acrobat uses for the same font and save the file. How to find these internal names will be explained shortly.
Now when you run FormMagic in InDesign, it will first check to see whether FontList.txt exists in the same folder. If it does, instead of guessing the internal font name, it will look it up in the FontList.txt file.
To find the name InDesign uses for a given font, it is necessary to run the following small script. First, though, open a new document in InDesign, type some text using the font, and select one letter from it. Then run the following script:
prompt("The name of the selected font is:", app.selection.appliedFont.postscriptName);
You should see something like this in InDesign:
Copy the text that is shown on a new line in the FontList.txt, exactly as it appears. In this case you would copy “CalifornianFB-Reg” (without the quotes) and paste that into FontList.txt.
Press Tab, so that you’re ready to copy the internal Acrobat name of the same font.
In the previous step, you created an InDesign file and typed some text into it using the font in question.
For this step, export that simple InDesign document to PDF. A regular PDF is fine; it does not need to be an interactive PDF.
Open the PDF in Acrobat. Go to File > Properties, and click on the Fonts tab. You will see something like this in Acrobat:
Copy the Acrobat font name into the FontList.txt file, after the tab that you typed in the previous step. In this case, you would type “CalifornianFB-Reg”. (Perhaps this is a bad example: The internal font name for this font in InDesign and Acrobat is identical, so there would be no point in adding this font to the FontList.txt file. But sometimes the names are different!)
Save FontList.txt, and close it. FormMagic will refer to this list whenever it tries to guess the correct Acrobat font name.
Above, in the section “Font Substitution”, we noted that sometimes you will want to bypass FormMagic‘s automatic font substitution.
To do this, use the steps just described to create an entry in the FontList.txt file. For instance, if you do not want Arial to be substituted for Helvetica, type some text using Arial in InDesign, and follow the steps to create the appropriate line in FontList.txt. This will force FormMagic to use the font in FontList.txt rather than replace it with Helvetica.
With FormMaker, it is possible to add Acrobat validation scripts to text fields, combo boxes, list boxes, and buttons in the forms you create in InDesign.
Full details of how to add validation scripts with FormMaker are available here: https://www.id-extras.com/using-formmaker-to-add-validation-scripts-to-a-pdf-form-in-indesign
Using FormMagic or FormMaker is a 2-step process.
First, FormMagic must be run on the InDesign file. Then, it must be run again in Acrobat on the resulting interactive PDF.
If you have a lot of PDF forms, however, you may want to create an action in Acrobat that will run FormMagic on all of them with a single click. You can save a lot of time by running a batch FormMagic action on all these PDFs at once, instead of running FormMagic manually on each one.
The following link has all the details, and explains how to create a batch action in Acrobat to run FormMagic or FormMaker on multiple PDFs in one go: https://www.id-extras.com/formmagic-creating-a-batch-action-in-acrobat