I want text entered in a field to expand and fill the box. Auto only seems to work in reducing too much text.

I'm producing volunteer job posters for a charity where they can fill in the title, job details, and contact info. The titles range from 'Dog walker' to 'Volunteer recruitment ambassador', and I'd like the text entered in this box to expand/contract to fill the space available.

'Auto' in text size only seems to work if there's too much text, rather than not enough!


Martin Cox


4 Answers

Voted Best Answer

It's possible to write a script that changes the size of the text based on its length, but to be honest I don't think that's a very good solution. When you resize the text, it can quickly become too big for the field height.

Are you sure this is a necesary thing? If you can live without it, I would suggesting doing so.

-------------------------------------
Visit my custom-made PDF scripts website: http://try67.blogspot.com
Contact me personally: try6767@gmail.com


By Gilad D (try67)   

Is that job description part of a phrase (as in a "fill the blank" text?

If the variable length of the job description can be handled on design/layout level, it would definitely be easier to accomplish.

If it is part of a phrase, it depends on the lenght of the phrase; it may actually end up in a way that by recreating the text of the paragraph (in a multiline field), there would be no need for additional lines (in other words, that the last line can cope with the run-length difference of the various job descriptions. Anyway, in this case, you have non-printing fields where the user enters or selects the job description, and you assemble the text and write it to the "actual" field (which may be read-only).

Hope this can help.

Max Wyss.


Max Wyss   

Maybe you should look at LiveCycle forms, instead of AcroForms (which is what you are using now). LiveCycle forms can be dynamic, which is what you are asking about, making a form field dynamic so that is grows with the data. If you have Acrobat, then you already have LiveCycle Designer, which is the tool you use to create LiveCycle forms. You'll find plenty of videos and tutorials on this topic here on the site.

However, Dynamic LiveCycle forms are not simple to design and create. To do it effectively you have to spend a little time to understand how they work. If you only have one field that you want to be dynamic, and you don't have a great deal of time, then the best choice is to stick with AcroForms and simply make the field as big as it needs to be.

Thom Parker
The source for PDF Scripting Info pdfscripting.com
All About PDF Stamps in Acrobat and Paperless Workflows

The Acrobat JavaScript Reference, Use it Early and Often

The most important JavaScript Development tool in Acrobat
The Console Window (Video tutorial)
The Console Window(article)

Having trouble, Why Doesn't my Script Work


Thom Parker   

Ok, I checked this out and there are at least two ways to dynamically autosize an AcroForm text field to fit the typed in text. Both are "not simple) scrpting tasks.

1. Add the text size to the box height on fieldFull. Use a second field with a focus bounce back to force the new text box size. The method requries saving the missed text and a state variable.

2. Set the text field to scroll, then on commit, determine the actual text height and width using text displayed on a line annotation.


Thom Parker   


Please specify a reason: