Package com.itextpdf.text.pdf
Class BaseField
- java.lang.Object
-
- com.itextpdf.text.pdf.BaseField
-
- Direct Known Subclasses:
PushbuttonField
,RadioCheckField
,TextField
public abstract class BaseField extends java.lang.Object
Common field variables.
-
-
Field Summary
Fields Modifier and Type Field Description 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 java.util.HashMap<PdfName,java.lang.Integer>
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.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 java.lang.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
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected static java.util.ArrayList<java.lang.String>
breakLines(java.util.ArrayList<java.lang.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.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<java.lang.String>
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.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 fromfrom
toto
.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(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(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(java.lang.StringBuffer buf)
-
-
-
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 theEDIT
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 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<PdfName,java.lang.Integer> fieldKeys
-
-
Constructor Detail
-
BaseField
public BaseField(PdfWriter writer, Rectangle box, java.lang.String fieldName)
Creates a newTextField
.- Parameters:
writer
- the documentPdfWriter
box
- the field location and dimensionsfieldName
- the field name. Ifnull
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()
-
getHardBreaks
protected static java.util.ArrayList<java.lang.String> getHardBreaks(java.lang.String text)
-
trimRight
protected static void trimRight(java.lang.StringBuffer buf)
-
breakLines
protected static java.util.ArrayList<java.lang.String> breakLines(java.util.ArrayList<java.lang.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 tonull
.- 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 inPdfBorderDictionary
and can beSTYLE_SOLID
,STYLE_DASHED
,STYLE_BEVELED
,STYLE_INSET
andSTYLE_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 tonull
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 tonull
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. Ifnull
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. Ifnull
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 beElement.ALIGN_LEFT
,Element.ALIGN_CENTER
andElement.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 ofVISIBLE
,HIDDEN
,VISIBLE_BUT_DOES_NOT_PRINT
andHIDDEN_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. Ifnull
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 ofREAD_ONLY
,REQUIRED
,MULTILINE
,DO_NOT_SCROLL
,PASSWORD
,FILE_SELECTION
,DO_NOT_SPELL_CHECK
andEDIT
.- 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 fromfrom
toto
. The moved keys are removed fromfrom
.- Parameters:
from
- the sourceto
- the destination. It may benull
-
-