InDesign tutorial: Design an effective PDF form using InDesign CS6

Pariah Burke explains how to use InDesign CS6 and Acrobat Pro to create PDF forms beyond bland black-and-white boxes

While web designers happily create beautiful, functional forms in HTML, the rest of the world is drowning in boring black?and-white PDF eForms. And dull forms means less response from your client’s customers.

The world needn’t suffer through filling monochrome boxes, though. Armed with InDesign CS6, you can design PDF eForms that are just as creative, engaging and effective as any HTML web form – and in this tutorial Pariah Burke shows you how to do just that.

You’ll also learn how to override a design-debilitating Acrobat and Adobe Reader setting to ensure your forms appear just as you designed them.

Time to complete

30 minutes


InDesign CS6, Acrobat Pro 9 or later


Files for this tutorial are downloadable from here


The first step is to design the page itself. We’ve based this on Digital Arts’ own subscription page.

Create a new layer that’s dedicated just for the form fields. Ensure all your fields are rectangles using the Rectangle Tool, and then get as creative as you want. Use fills, strokes, gradients, transparency, corner effects, drop shadows, inner shadows, outer glows, bevel and emboss or feathers. Indeed, whatever you think will work best.


On another layer, create field labels from text frames placed next to, above, below or somewhere else near each field. Get as creative as you like with these, too.

Advertisement. Article continues below


Although you can be as inventive as you want with fields in InDesign, the PDF file format itself will only display fields that are rectangular, solid coloured, either opaque or wholly transparent, and devoid of transparency effects such as drop shadows.

To get around this limitation we have to make the actual form fields completely transparent – no fill, stroke or effects – and lay them atop stylised rectangles that aren’t actually fields. The former are the fields, the latter are the appearances of fields as you initially designed them.

Duplicate the layer containing your form fields and then strip all appearance attributes from this new set of rectangles. Lock all other layers as we’ll be concentrating strictly on this one for a while.


Select the first field and, from the Window > Interactive menu, open InDesign CS6’s Buttons and Forms panel. From the Type drop-down field choose Text Field, which will convert the empty frame into a form field.


In the panel’s Name field, enter a name. This will be submitted with the form, so keep it short but unique – no two fields may have the same name. 

What you enter in the Description field will be shown as a pop-up tooltip when the reader hovers the cursor over your field, so enter anything that will tell the form respondent what you expect them to enter. Set additional options like requiring the field to be filled out, as desired.

Advertisement. Article continues below


Before the form is finished, you must provide respondents with a way to send it. You can design your button from one object or a group using the Buttons and Forms panel. Next, give it the Submit Form action by clicking the ‘+’ button on the panel, and then supplying the URL of your form’s parser or database, or the email address that will receive the form.


Press Cmd/Ctrl + E to open the Export dialog and export the document to Adobe PDF (Interactive). Make sure that Include All is set in the Forms and Media section of the Export to Interactive PDF dialog box.


In Acrobat, as in the free Adobe Reader, the Highlight Existing Fields option is on by default, which means your fields will all be covered up by blue rectangles. You can, however, turn this off, revealing your designs.

In Acrobat 9, choose Document Processing > Document JavaScripts from the Advanced menu. In Acrobat X and XI, you’ll need to first enable the JavaScript section of the Tools sidebar. Once done, click Document JavaScripts in that section.

In the Document JavaScripts dialog enter DisableHighlighting in the Script Name field and then click the Add button. That will open the JavaScript editor, into which you should enter the below script, then click OK and Close. 

function DisableHighlighting()


app.runtimeHighlight = false;



Advertisement. Article continues below