com.itextpdf.text.pdf
Class BaseField

java.lang.Object
  extended by com.itextpdf.text.pdf.BaseField
Direct Known Subclasses:
PushbuttonField, RadioCheckField, TextField

public abstract class BaseField
extends Object

Common field variables.

Author:
Paulo Soares

Field Summary
protected  int alignment
           
protected  BaseColor 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  BaseColor 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 HashMap<PdfName,Integer> fieldKeys
           
protected  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.
static int MULTISELECT
          whether or not a list may have multiple selections.
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  String text
           
protected  BaseColor 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, String fieldName)
          Creates a new TextField.
 
Method Summary
protected static ArrayList<String> breakLines(ArrayList<String> breaks, BaseFont font, float fontSize, float width)
           
private  void drawBottomFrame(PdfAppearance app)
           
private  void drawTopFrame(PdfAppearance app)
           
 int getAlignment()
          Gets the text horizontal alignment.
 BaseColor getBackgroundColor()
          Gets the background color.
protected  PdfAppearance getBorderAppearance()
           
 BaseColor 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.
 String getFieldName()
          Gets the field name.
 BaseFont getFont()
          Gets the text font.
 float getFontSize()
          Gets the font size.
protected static ArrayList<String> getHardBreaks(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.
 String getText()
          Gets the text.
 BaseColor 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(BaseColor backgroundColor)
          Sets the background color.
 void setBorderColor(BaseColor 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(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(String text)
          Sets the text for text fields.
 void setTextColor(BaseColor 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(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

MULTISELECT

public static final int MULTISELECT
whether or not a list may have multiple selections. Only applies to /CH LIST fields, not combo boxes.

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 BaseColor borderColor

backgroundColor

protected BaseColor backgroundColor

textColor

protected BaseColor textColor

font

protected BaseFont font

fontSize

protected float fontSize

alignment

protected int alignment

writer

protected PdfWriter writer

text

protected 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 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 HashMap<PdfName,Integer> fieldKeys
Constructor Detail

BaseField

public BaseField(PdfWriter writer,
                 Rectangle box,
                 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 IOException,
                               DocumentException
Throws:
IOException
DocumentException

getBorderAppearance

protected PdfAppearance getBorderAppearance()

getHardBreaks

protected static ArrayList<String> getHardBreaks(String text)

trimRight

protected static void trimRight(StringBuffer buf)

breakLines

protected static ArrayList<String> breakLines(ArrayList<String> 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 BaseColor getBorderColor()
Gets the border color.

Returns:
the border color

setBorderColor

public void setBorderColor(BaseColor borderColor)
Sets the border color. Set to null to remove the border.

Parameters:
borderColor - the border color

getBackgroundColor

public BaseColor getBackgroundColor()
Gets the background color.

Returns:
the background color

setBackgroundColor

public void setBackgroundColor(BaseColor backgroundColor)
Sets the background color. Set to null for transparent background.

Parameters:
backgroundColor - the background color

getTextColor

public BaseColor getTextColor()
Gets the text color.

Returns:
the text color

setTextColor

public void setTextColor(BaseColor 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 String getText()
Gets the text.

Returns:
the text

setText

public void setText(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 String getFieldName()
Gets the field name.

Returns:
the field name

setFieldName

public void setFieldName(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

Hosted by Hostbasket