class HexaPDF::Type::AcroForm::TextField

Parent

AcroForm text fields provide a box or space to fill-in data entered from keyboard. The text may be restricted to a single line or can span multiple lines.

Type Specific Field Flags

:multiline

If set, the text field may contain multiple lines.

:password

The field is a password field. This changes the behaviour of the PDF reader application to not echo the input text and to not store it in the PDF file.

:file_select

The text field represents a file selection control where the input text is the path to a file.

:do_not_spell_check

The text should not be spell-checked.

:do_not_scroll

The text field should not scroll (horizontally for single-line fields and vertically for multiline fields) to accomodate more text than fits into the annotation rectangle. This means that no more text can be entered once the field is full.

:comb

The field is divided into /MaxLen equally spaced positions (so /MaxLen needs to be set). This is useful, for example, when entering things like social security numbers which always have the same length.

:rich_text

The field is a rich text field.

See: PDF1.7 s12.7.4.3

Constants

FLAGS_BIT_MAPPING

Updated list of field flags.

INHERITABLE_FIELDS

All inheritable dictionary fields for text fields.

Public Instance Methods

concrete_field_type()

Returns the concrete text field type, either :single_line_text_field, :multiline_text_field, :password_field, :file_select_field, :comb_text_field or :rich_text_field.

create_appearances()

Creates appropriate appearances for all widgets.

For information on how this is done see AppearanceGenerator.

Note that an appearance for a text field widget is always created even if there is an existing one to make sure the current field value is properly represented.

default_field_value()

Returns the default field value.

See: field_value

default_field_value=(str)

Sets the default field value.

See: field_value=

field_value()

Returns the field value, i.e. the text contents of the field, or nil if no value is set.

Note that modifying the returned value *might not* modify the text contents in case it is stored as stream! So always use field_value= to set the field value.

field_value=(str)

Sets the field value, i.e. the text contents of the field, to the given string.

Note that for single line text fields, all whitespace characters are changed to simple spaces.

update_widgets()

Updates the widgets so that they reflect the current field value.