## com.lowagie.text.pdf
Class BaseField

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

Direct Known Subclasses:
  PushbuttonField, RadioCheckField, TextField

    public abstract class BaseField

extends java.lang.Object

Common field variables.

Author:
  Paulo Soares (psoares@consiste.pt)

Field Summary
`protected int` `alignment`
`protected java.awt.Color` `backgroundColor`
`static float` `BORDER_WIDTH_MEDIUM` A medium border with 2 point width.
`static float` `BORDER_WIDTH_THICK` A thick border with 3 point width.
`static float` `BORDER_WIDTH_THIN` A thin border with 1 point width.
`protected java.awt.Color` `borderColor`
`protected int` `borderStyle`
`protected float` `borderWidth`
`protected Rectangle` `box`
`static int` `COMB` combo box flag.
`static int` `DO_NOT_SCROLL` The field will not scroll (horizontally for single-line fields, vertically for multiple-line fields) to accommodate more text than will fit within its annotation rectangle.
`static int` `DO_NOT_SPELL_CHECK` The text entered in the field will not be spell-checked.
`static int` `EDIT` If set the combo box includes an editable text box as well as a drop list; if clear, it includes only a drop list.
`private static java.util.HashMap` `fieldKeys`
`protected java.lang.String` `fieldName` Holds value of property fieldName.
`static int` `FILE_SELECTION` The text entered in the field represents the pathname of a file whose contents are to be submitted as the value of the field.
`protected BaseFont` `font`
`protected float` `fontSize`
`static int` `HIDDEN` The field is hidden.
`static int` `HIDDEN_BUT_PRINTABLE` The field is hidden but is printable.
`protected int` `maxCharacterLength` Holds value of property maxCharacterLength.
`static int` `MULTILINE` The field may contain multiple lines of text.
`protected int` `options` Holds value of property options.
`static int` `PASSWORD` The field is intended for entering a secure password that should not be echoed visibly to the screen.
`static int` `READ_ONLY` The user may not change the value of the field.
`static int` `REQUIRED` The field must have a value at the time it is exported by a submit-form action.
`protected int` `rotation` Holds value of property rotation.
`protected java.lang.String` `text`
`protected java.awt.Color` `textColor`
`protected int` `visibility` Holds value of property visibility.
`static int` `VISIBLE` The field is visible.
`static int` `VISIBLE_BUT_DOES_NOT_PRINT` The field is visible but does not print.
`protected PdfWriter` `writer`

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

Method Summary
`protected static java.util.ArrayList` `breakLines(java.util.ArrayList breaks, BaseFont font, float fontSize, float width)`
`private void` `drawBottomFrame(PdfAppearance app)`
`private void` `drawTopFrame(PdfAppearance app)`
`int` `getAlignment()` Gets the text horizontal alignment.
`java.awt.Color` `getBackgroundColor()` Gets the background color.
`protected PdfAppearance` `getBorderAppearance()`
`java.awt.Color` `getBorderColor()` Gets the border color.
`int` `getBorderStyle()` Gets the border style.
`float` `getBorderWidth()` Gets the border width in points.
`Rectangle` `getBox()` Gets the field dimension and position.
`java.lang.String` `getFieldName()` Gets the field name.
`BaseFont` `getFont()` Gets the text font.
`float` `getFontSize()` Gets the font size.
`protected static java.util.ArrayList` `getHardBreaks(java.lang.String text)`
`int` `getMaxCharacterLength()` Gets the maximum length of the field’s text, in characters.
`int` `getOptions()` Gets the option flags.
`protected BaseFont` `getRealFont()`
`int` `getRotation()` Gets the field rotation.
`java.lang.String` `getText()` Gets the text.
`java.awt.Color` `getTextColor()` Gets the text color.
`int` `getVisibility()` Gets the field visibility flag.
`PdfWriter` `getWriter()` Getter for property writer.
`static void` `moveFields(PdfDictionary from, PdfDictionary to)` Moves the field keys from `from` to `to`.
`void` `setAlignment(int alignment)` Sets the text horizontal alignment.
`void` `setBackgroundColor(java.awt.Color backgroundColor)` Sets the background color.
`void` `setBorderColor(java.awt.Color borderColor)` Sets the border color.
`void` `setBorderStyle(int borderStyle)` Sets the border style.
`void` `setBorderWidth(float borderWidth)` Sets the border width in points.
`void` `setBox(Rectangle box)` Sets the field dimension and position.
`void` `setFieldName(java.lang.String fieldName)` Sets the field name.
`void` `setFont(BaseFont font)` Sets the text font.
`void` `setFontSize(float fontSize)` Sets the font size.
`void` `setMaxCharacterLength(int maxCharacterLength)` Sets the maximum length of the field’s text, in characters.
`void` `setOptions(int options)` Sets the option flags.
`void` `setRotation(int rotation)` Sets the field rotation.
`void` `setRotationFromPage(Rectangle page)` Convenience method to set the field rotation the same as the page rotation.
`void` `setText(java.lang.String text)` Sets the text for text fields.
`void` `setTextColor(java.awt.Color textColor)` Sets the text color.
`void` `setVisibility(int visibility)` Sets the field visibility flag.
`void` `setWriter(PdfWriter writer)` Setter for property writer.
`protected static void` `trimRight(java.lang.StringBuffer buf)`

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

Field Detail

### BORDER_WIDTH_THIN

    public static final float BORDER_WIDTH_THIN

  A thin border with 1 point width.

  See Also:
    Constant Field Values

### BORDER_WIDTH_MEDIUM

    public static final float BORDER_WIDTH_MEDIUM

  A medium border with 2 point width.

  See Also:
    Constant Field Values

### BORDER_WIDTH_THICK

    public static final float BORDER_WIDTH_THICK

  A thick border with 3 point width.

  See Also:
    Constant Field Values

### VISIBLE

    public static final int VISIBLE

  The field is visible.

  See Also:
    Constant Field Values

### HIDDEN

    public static final int HIDDEN

  The field is hidden.

  See Also:
    Constant Field Values

### VISIBLE_BUT_DOES_NOT_PRINT

    public static final int VISIBLE_BUT_DOES_NOT_PRINT

  The field is visible but does not print.

  See Also:
    Constant Field Values

### HIDDEN_BUT_PRINTABLE

    public static final int HIDDEN_BUT_PRINTABLE

  The field is hidden but is printable.

  See Also:
    Constant Field Values

### READ_ONLY

    public static final int READ_ONLY

  The user may not change the value of the field.

  See Also:
    Constant Field Values

### REQUIRED

    public static final int REQUIRED

  The field must have a value at the time it is exported by a submit-form action.

  See Also:
    Constant Field Values

### MULTILINE

    public static final int MULTILINE

  The field may contain multiple lines of text. This flag is only meaningful with text fields.

  See Also:
    Constant Field Values

### DO_NOT_SCROLL

    public static final int DO_NOT_SCROLL

  The field will not scroll (horizontally for single-line fields, vertically for multiple-line fields) to accommodate more text than will fit within its annotation rectangle. Once the field is full, no further text will be accepted.

  See Also:
    Constant Field Values

### PASSWORD

    public static final int PASSWORD

  The field is intended for entering a secure password that should not be echoed visibly to the screen.

  See Also:
    Constant Field Values

### FILE_SELECTION

    public static final int FILE_SELECTION

  The text entered in the field represents the pathname of a file whose contents are to be submitted as the value of the field.

  See Also:
    Constant Field Values

### DO_NOT_SPELL_CHECK

    public static final int DO_NOT_SPELL_CHECK

  The text entered in the field will not be spell-checked. This flag is meaningful only in text fields and in combo fields with the `EDIT` flag set.

  See Also:
    Constant Field Values

### EDIT

    public static final int EDIT

  If set the combo box includes an editable text box as well as a drop list; if clear, it includes only a drop list. This flag is only meaningful with combo fields.

  See Also:
    Constant Field Values

### COMB

    public static final int COMB

  combo box flag.

  See Also:
    Constant Field Values

### borderWidth

    protected float borderWidth

### borderStyle

    protected int borderStyle

### borderColor

    protected java.awt.Color borderColor

### backgroundColor

    protected java.awt.Color backgroundColor

### textColor

    protected java.awt.Color textColor

### font

    protected BaseFont font

### fontSize

    protected float fontSize

### alignment

    protected int alignment

### writer

    protected PdfWriter writer

### text

    protected java.lang.String text

### box

    protected Rectangle box

### rotation

    protected int rotation

  Holds value of property rotation.

### visibility

    protected int visibility

  Holds value of property visibility.

### fieldName

    protected java.lang.String fieldName

  Holds value of property fieldName.

### options

    protected int options

  Holds value of property options.

### maxCharacterLength

    protected int maxCharacterLength

  Holds value of property maxCharacterLength.

### fieldKeys

    private static final java.util.HashMap fieldKeys

Constructor Detail

### BaseField

    public BaseField(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

### getRealFont

    protected BaseFont getRealFont()
                            throws java.io.IOException,
                                   DocumentException

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

### getBorderAppearance

    protected PdfAppearance getBorderAppearance()
                                         throws java.io.IOException,
                                                DocumentException

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

### getHardBreaks

    protected static java.util.ArrayList getHardBreaks(java.lang.String text)

### trimRight

    protected static void trimRight(java.lang.StringBuffer buf)

### breakLines

    protected static java.util.ArrayList breakLines(java.util.ArrayList breaks,
                                                    BaseFont font,
                                                    float fontSize,
                                                    float width)

### drawTopFrame

    private void drawTopFrame(PdfAppearance app)

### drawBottomFrame

    private void drawBottomFrame(PdfAppearance app)

### getBorderWidth

    public float getBorderWidth()

  Gets the border width in points.

  Returns:
    the border width in points

### setBorderWidth

    public void setBorderWidth(float borderWidth)

  Sets the border width in points. To eliminate the border set the border color to `null`.

  Parameters:
    `borderWidth` - the border width in points

### getBorderStyle

    public int getBorderStyle()

  Gets the border style.

  Returns:
    the border style

### setBorderStyle

    public void setBorderStyle(int borderStyle)

  Sets the border style. The styles are found in `PdfBorderDictionary` and can be `STYLE_SOLID`, `STYLE_DASHED`, `STYLE_BEVELED`, `STYLE_INSET` and `STYLE_UNDERLINE`.

  Parameters:
    `borderStyle` - the border style

### getBorderColor

    public java.awt.Color getBorderColor()

  Gets the border color.

  Returns:
    the border color

### setBorderColor

    public void setBorderColor(java.awt.Color borderColor)

  Sets the border color. Set to `null` to remove the border.

  Parameters:
    `borderColor` - the border color

### getBackgroundColor

    public java.awt.Color getBackgroundColor()

  Gets the background color.

  Returns:
    the background color

### setBackgroundColor

    public void setBackgroundColor(java.awt.Color backgroundColor)

  Sets the background color. Set to `null` for transparent background.

  Parameters:
    `backgroundColor` - the background color

### getTextColor

    public java.awt.Color getTextColor()

  Gets the text color.

  Returns:
    the text color

### setTextColor

    public void setTextColor(java.awt.Color textColor)

  Sets the text color. If `null` the color used will be black.

  Parameters:
    `textColor` - the text color

### getFont

    public BaseFont getFont()

  Gets the text font.

  Returns:
    the text font

### setFont

    public void setFont(BaseFont font)

  Sets the text font. If `null` then Helvetica will be used.

  Parameters:
    `font` - the text font

### getFontSize

    public float getFontSize()

  Gets the font size.

  Returns:
    the font size

### setFontSize

    public void setFontSize(float fontSize)

  Sets the font size. If 0 then auto-sizing will be used but only for text fields.

  Parameters:
    `fontSize` - the font size

### getAlignment

    public int getAlignment()

  Gets the text horizontal alignment.

  Returns:
    the text horizontal alignment

### setAlignment

    public void setAlignment(int alignment)

  Sets the text horizontal alignment. It can be `Element.ALIGN_LEFT`, `Element.ALIGN_CENTER` and `Element.ALIGN_RIGHT`.

  Parameters:
    `alignment` - the text horizontal alignment

### getText

    public java.lang.String getText()

  Gets the text.

  Returns:
    the text

### setText

    public void setText(java.lang.String text)

  Sets the text for text fields.

  Parameters:
    `text` - the text

### getBox

    public Rectangle getBox()

  Gets the field dimension and position.

  Returns:
    the field dimension and position

### setBox

    public void setBox(Rectangle box)

  Sets the field dimension and position.

  Parameters:
    `box` - the field dimension and position

### getRotation

    public int getRotation()

  Gets the field rotation.

  Returns:
    the field rotation

### setRotation

    public void setRotation(int rotation)

  Sets the field rotation. This value should be the same as the page rotation where the field will be shown.

  Parameters:
    `rotation` - the field rotation

### setRotationFromPage

    public void setRotationFromPage(Rectangle page)

  Convenience method to set the field rotation the same as the page rotation.

  Parameters:
    `page` - the page

### getVisibility

    public int getVisibility()

  Gets the field visibility flag.

  Returns:
    the field visibility flag

### setVisibility

    public void setVisibility(int visibility)

  Sets the field visibility flag. This flags can be one of `VISIBLE`, `HIDDEN`, `VISIBLE_BUT_DOES_NOT_PRINT` and `HIDDEN_BUT_PRINTABLE`.

  Parameters:
    `visibility` - field visibility flag

### getFieldName

    public java.lang.String getFieldName()

  Gets the field name.

  Returns:
    the field name

### setFieldName

    public void setFieldName(java.lang.String fieldName)

  Sets the field name.

  Parameters:
    `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.

### getOptions

    public int getOptions()

  Gets the option flags.

  Returns:
    the option flags

### setOptions

    public void setOptions(int options)

  Sets the option flags. The option flags can be a combination by oring of `READ_ONLY`, `REQUIRED`, `MULTILINE`, `DO_NOT_SCROLL`, `PASSWORD`, `FILE_SELECTION`, `DO_NOT_SPELL_CHECK` and `EDIT`.

  Parameters:
    `options` - the option flags

### getMaxCharacterLength

    public int getMaxCharacterLength()

  Gets the maximum length of the field’s text, in characters.

  Returns:
    the maximum length of the field’s text, in characters.

### setMaxCharacterLength

    public void setMaxCharacterLength(int maxCharacterLength)

  Sets the maximum length of the field’s text, in characters. It is only meaningful for text fields.

  Parameters:
    `maxCharacterLength` - the maximum length of the field’s text, in characters

### getWriter

    public PdfWriter getWriter()

  Getter for property writer.

  Returns:
    Value of property writer.

### setWriter

    public void setWriter(PdfWriter writer)

  Setter for property writer.

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

### moveFields

    public static void moveFields(PdfDictionary from,
                                  PdfDictionary to)

  Moves the field keys from `from` to `to`. The moved keys are removed from `from`.

  Parameters:
    `from` - the source
    `to` - the destination. It may be `null`