## com.lowagie.text.pdf
Class TextField

    java.lang.Object
      com.lowagie.text.pdf.BaseField
          com.lowagie.text.pdf.TextField

    public class TextField

extends BaseField

Supports text, combo and list fields generating the correct appearances. All the option in the Acrobat GUI are supported in an easy to use API.

Author:
  Paulo Soares (psoares@consiste.pt)

Field Summary
`private java.lang.String[]` `choiceExports` Holds value of property choiceExports.
`private java.lang.String[]` `choices` Holds value of property choices.
`private int` `choiceSelection` Holds value of property choiceSelection.
`private java.lang.String` `defaultText` Holds value of property defaultText.
`private BaseFont` `extensionFont` Holds value of property extensionFont.
`private float` `extraMarginLeft`
`private float` `extraMarginTop`
`private java.util.ArrayList` `substitutionFonts` Holds value of property substitutionFonts.
`private int` `topFirst`

Fields inherited from class com.lowagie.text.pdf.BaseField

`alignment, backgroundColor, BORDER_WIDTH_MEDIUM, BORDER_WIDTH_THICK, BORDER_WIDTH_THIN, borderColor, borderStyle, borderWidth, box, COMB, DO_NOT_SCROLL, DO_NOT_SPELL_CHECK, EDIT, fieldName, FILE_SELECTION, font, fontSize, HIDDEN, HIDDEN_BUT_PRINTABLE, maxCharacterLength, MULTILINE, options, PASSWORD, READ_ONLY, REQUIRED, rotation, text, textColor, visibility, VISIBLE, VISIBLE_BUT_DOES_NOT_PRINT, writer`

Constructor Summary
`TextField(PdfWriter writer, Rectangle box, java.lang.String fieldName)` Creates a new `TextField`.

Method Summary
`private static void` `changeFontSize(Phrase p, float size)`
`private static boolean` `checkRTL(java.lang.String text)`
`private Phrase` `composePhrase(java.lang.String text, BaseFont ufont, java.awt.Color color, float fontSize)`
`PdfAppearance` `getAppearance()`
`java.lang.String[]` `getChoiceExports()` Gets the export values in list/combo fields.
`protected PdfFormField` `getChoiceField(boolean isList)`
`java.lang.String[]` `getChoices()` Gets the choices to be presented to the user in list/combo fields.
`int` `getChoiceSelection()` Gets the zero based index of the selected item.
`PdfFormField` `getComboField()` Gets a new combo field.
`java.lang.String` `getDefaultText()` Gets the default text.
`BaseFont` `getExtensionFont()` Gets the extensionFont.
`(package private) PdfAppearance` `getListAppearance()`
`PdfFormField` `getListField()` Gets a new list field.
`java.util.ArrayList` `getSubstitutionFonts()` Gets the list of substitution fonts.
`PdfFormField` `getTextField()` Gets a new text field.
`(package private) int` `getTopFirst()`
`private static java.lang.String` `removeCRLF(java.lang.String text)`
`void` `setChoiceExports(java.lang.String[] choiceExports)` Sets the export values in list/combo fields.
`void` `setChoices(java.lang.String[] choices)` Sets the choices to be presented to the user in list/combo fields.
`void` `setChoiceSelection(int choiceSelection)` Sets the zero based index of the selected item.
`void` `setDefaultText(java.lang.String defaultText)` Sets the default text.
`void` `setExtensionFont(BaseFont extensionFont)` Sets the extensionFont.
`void` `setExtraMargin(float extraMarginLeft, float extraMarginTop)` Sets extra margins in text fields to better mimic the Acrobat layout.
`void` `setSubstitutionFonts(java.util.ArrayList substitutionFonts)` Sets a list of substitution fonts.

Methods inherited from class com.lowagie.text.pdf.BaseField

`breakLines, getAlignment, getBackgroundColor, getBorderAppearance, getBorderColor, getBorderStyle, getBorderWidth, getBox, getFieldName, getFont, getFontSize, getHardBreaks, getMaxCharacterLength, getOptions, getRealFont, getRotation, getText, getTextColor, getVisibility, getWriter, moveFields, setAlignment, setBackgroundColor, setBorderColor, setBorderStyle, setBorderWidth, setBox, setFieldName, setFont, setFontSize, setMaxCharacterLength, setOptions, setRotation, setRotationFromPage, setText, setTextColor, setVisibility, setWriter, trimRight`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### defaultText

    private java.lang.String defaultText

  Holds value of property defaultText.

### choices

    private java.lang.String[] choices

  Holds value of property choices.

### choiceExports

    private java.lang.String[] choiceExports

  Holds value of property choiceExports.

### choiceSelection

    private int choiceSelection

  Holds value of property choiceSelection.

### topFirst

    private int topFirst

### extraMarginLeft

    private float extraMarginLeft

### extraMarginTop

    private float extraMarginTop

### substitutionFonts

    private java.util.ArrayList substitutionFonts

  Holds value of property substitutionFonts.

### extensionFont

    private BaseFont extensionFont

  Holds value of property extensionFont.

Constructor Detail

### TextField

    public TextField(PdfWriter writer,
                     Rectangle box,
                     java.lang.String fieldName)

  Creates a new `TextField`.

  Parameters:
    `writer` - the document `PdfWriter`
    `box` - the field location and dimensions
    `fieldName` - the field name. If `null` only the widget keys will be included in the field allowing it to be used as a kid field.

Method Detail

### checkRTL

    private static boolean checkRTL(java.lang.String text)

### changeFontSize

    private static void changeFontSize(Phrase p,
                                       float size)

### composePhrase

    private Phrase composePhrase(java.lang.String text,
                                 BaseFont ufont,
                                 java.awt.Color color,
                                 float fontSize)

### removeCRLF

    private static java.lang.String removeCRLF(java.lang.String text)

### getAppearance

    public PdfAppearance getAppearance()
                                throws java.io.IOException,
                                       DocumentException

  Throws:
    `java.io.IOException`
    `DocumentException`

### getListAppearance

    PdfAppearance getListAppearance()
                              throws java.io.IOException,
                                     DocumentException

  Throws:
    `java.io.IOException`
    `DocumentException`

### getTextField

    public PdfFormField getTextField()
                              throws java.io.IOException,
                                     DocumentException

  Gets a new text field.

  Returns:
    a new text field
  Throws:
    `java.io.IOException` - on error
    `DocumentException` - on error

### getComboField

    public PdfFormField getComboField()
                               throws java.io.IOException,
                                      DocumentException

  Gets a new combo field.

  Returns:
    a new combo field
  Throws:
    `java.io.IOException` - on error
    `DocumentException` - on error

### getListField

    public PdfFormField getListField()
                              throws java.io.IOException,
                                     DocumentException

  Gets a new list field.

  Returns:
    a new list field
  Throws:
    `java.io.IOException` - on error
    `DocumentException` - on error

### getChoiceField

    protected PdfFormField getChoiceField(boolean isList)
                                   throws java.io.IOException,
                                          DocumentException

  Throws:
    `java.io.IOException`
    `DocumentException`

### getDefaultText

    public java.lang.String getDefaultText()

  Gets the default text.

  Returns:
    the default text

### setDefaultText

    public void setDefaultText(java.lang.String defaultText)

  Sets the default text. It is only meaningful for text fields.

  Parameters:
    `defaultText` - the default text

### getChoices

    public java.lang.String[] getChoices()

  Gets the choices to be presented to the user in list/combo fields.

  Returns:
    the choices to be presented to the user

### setChoices

    public void setChoices(java.lang.String[] choices)

  Sets the choices to be presented to the user in list/combo fields.

  Parameters:
    `choices` - the choices to be presented to the user

### getChoiceExports

    public java.lang.String[] getChoiceExports()

  Gets the export values in list/combo fields.

  Returns:
    the export values in list/combo fields

### setChoiceExports

    public void setChoiceExports(java.lang.String[] choiceExports)

  Sets the export values in list/combo fields. If this array is `null` then the choice values will also be used as the export values.

  Parameters:
    `choiceExports` - the export values in list/combo fields

### getChoiceSelection

    public int getChoiceSelection()

  Gets the zero based index of the selected item.

  Returns:
    the zero based index of the selected item

### setChoiceSelection

    public void setChoiceSelection(int choiceSelection)

  Sets the zero based index of the selected item.

  Parameters:
    `choiceSelection` - the zero based index of the selected item

### getTopFirst

    int getTopFirst()

### setExtraMargin

    public void setExtraMargin(float extraMarginLeft,
                               float extraMarginTop)

  Sets extra margins in text fields to better mimic the Acrobat layout.

  Parameters:
    `extraMarginLeft` - the extra marging left
    `extraMarginTop` - the extra margin top

### getSubstitutionFonts

    public java.util.ArrayList getSubstitutionFonts()

  Gets the list of substitution fonts. The list is composed of `BaseFont` and can be `null`. The fonts in this list will be used if the original font doesn't contain the needed glyphs.

  Returns:
    the list

### setSubstitutionFonts

    public void setSubstitutionFonts(java.util.ArrayList substitutionFonts)

  Sets a list of substitution fonts. The list is composed of `BaseFont` and can also be `null`. The fonts in this list will be used if the original font doesn't contain the needed glyphs.

  Parameters:
    `substitutionFonts` - the list

### getExtensionFont

    public BaseFont getExtensionFont()

  Gets the extensionFont. This font will be searched before the substitution fonts. It may be `null`.

  Returns:
    the extensionFont

### setExtensionFont

    public void setExtensionFont(BaseFont extensionFont)

  Sets the extensionFont. This font will be searched before the substitution fonts. It may be `null`.

  Parameters:
    `extensionFont` - New value of property extensionFont.