Package com.itextpdf.text.pdf
Class TextField
- java.lang.Object
-
- com.itextpdf.text.pdf.BaseField
-
- com.itextpdf.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.
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.String[]
choiceExports
Holds value of property choiceExports.private java.lang.String[]
choices
Holds value of property choices.private java.util.ArrayList<java.lang.Integer>
choiceSelections
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<BaseFont>
substitutionFonts
Holds value of property substitutionFonts.private int
topFirst
private int
visibleTopChoice
Represents the /TI value-
Fields inherited from class com.itextpdf.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, MULTISELECT, options, PASSWORD, READ_ONLY, REQUIRED, rotation, text, textColor, visibility, VISIBLE, VISIBLE_BUT_DOES_NOT_PRINT, writer
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addChoiceSelection(int selection)
Adds another (or a first I suppose) selection to a MULTISELECT list.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, BaseColor color, float fontSize)
PdfAppearance
getAppearance()
Get thePdfAppearance
of a text or combo fieldjava.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.java.util.ArrayList<java.lang.Integer>
getChoiceSelections()
Gets the selected items.PdfFormField
getComboField()
Gets a new combo field.java.lang.String
getDefaultText()
Gets the default text.BaseFont
getExtensionFont()
Gets the extensionFont.(package private) PdfAppearance
getListAppearance()
Get thePdfAppearance
of a list fieldPdfFormField
getListField()
Gets a new list field.java.util.ArrayList<BaseFont>
getSubstitutionFonts()
Gets the list of substitution fonts.PdfFormField
getTextField()
Gets a new text field.private int
getTopChoice()
(package private) int
getTopFirst()
int
getVisibleTopChoice()
Returns the index of the top visible choice of a list.static java.lang.String
obfuscatePassword(java.lang.String text)
Obfuscates a passwordString
.static java.lang.String
removeCRLF(java.lang.String text)
Removes CRLF from aString
.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
setChoiceSelections(java.util.ArrayList<java.lang.Integer> selections)
Replaces the existing selections with the param.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<BaseFont> substitutionFonts)
Sets a list of substitution fonts.void
setVisibleTopChoice(int visibleTopChoice)
Sets the top visible choice for lists;private void
writeMultipleValues(PdfFormField field, java.lang.String[][] mix)
-
Methods inherited from class com.itextpdf.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
-
-
-
-
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.
-
choiceSelections
private java.util.ArrayList<java.lang.Integer> choiceSelections
Holds value of property choiceSelection.
-
topFirst
private int topFirst
-
visibleTopChoice
private int visibleTopChoice
Represents the /TI value
-
extraMarginLeft
private float extraMarginLeft
-
extraMarginTop
private float extraMarginTop
-
substitutionFonts
private java.util.ArrayList<BaseFont> 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 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
-
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, BaseColor color, float fontSize)
-
removeCRLF
public static java.lang.String removeCRLF(java.lang.String text)
Removes CRLF from aString
.- Parameters:
text
-- Returns:
- String
- Since:
- 2.1.5
-
obfuscatePassword
public static java.lang.String obfuscatePassword(java.lang.String text)
Obfuscates a passwordString
. Every character is replaced by an asterisk (*).- Parameters:
text
-- Returns:
- String
- Since:
- 2.1.5
-
getAppearance
public PdfAppearance getAppearance() throws java.io.IOException, DocumentException
Get thePdfAppearance
of a text or combo field- Returns:
- A
PdfAppearance
- Throws:
java.io.IOException
- on errorDocumentException
- on error
-
getListAppearance
PdfAppearance getListAppearance() throws java.io.IOException, DocumentException
Get thePdfAppearance
of a list field- Returns:
- A
PdfAppearance
- Throws:
java.io.IOException
- on errorDocumentException
- on error
-
getTextField
public PdfFormField getTextField() throws java.io.IOException, DocumentException
Gets a new text field.- Returns:
- a new text field
- Throws:
java.io.IOException
- on errorDocumentException
- 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 errorDocumentException
- 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 errorDocumentException
- on error
-
getTopChoice
private int getTopChoice()
-
getChoiceField
protected PdfFormField getChoiceField(boolean isList) throws java.io.IOException, DocumentException
- Throws:
java.io.IOException
DocumentException
-
writeMultipleValues
private void writeMultipleValues(PdfFormField field, java.lang.String[][] mix)
-
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 isnull
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
-
getChoiceSelections
public java.util.ArrayList<java.lang.Integer> getChoiceSelections()
Gets the selected items.- Returns:
- the selected items
- Since:
- 5.0.1
-
setVisibleTopChoice
public void setVisibleTopChoice(int visibleTopChoice)
Sets the top visible choice for lists;- Parameters:
visibleTopChoice
- index of the first visible item (zero-based array)- Since:
- 5.5.3
-
getVisibleTopChoice
public int getVisibleTopChoice()
Returns the index of the top visible choice of a list. Default is -1.- Returns:
- the index of the top visible choice
-
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
-
addChoiceSelection
public void addChoiceSelection(int selection)
Adds another (or a first I suppose) selection to a MULTISELECT list. This doesn't do anything unless this.options & MUTLISELECT != 0- Parameters:
selection
- new selection
-
setChoiceSelections
public void setChoiceSelections(java.util.ArrayList<java.lang.Integer> selections)
Replaces the existing selections with the param. If this field isn't a MULTISELECT list, all but the first element will be removed.- Parameters:
selections
- new selections. If null, it clear()s the underlying ArrayList.
-
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 margin leftextraMarginTop
- the extra margin top
-
getSubstitutionFonts
public java.util.ArrayList<BaseFont> getSubstitutionFonts()
Gets the list of substitution fonts. The list is composed ofBaseFont
and can benull
. 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<BaseFont> substitutionFonts)
Sets a list of substitution fonts. The list is composed ofBaseFont
and can also benull
. 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 benull
.- Returns:
- the extensionFont
-
setExtensionFont
public void setExtensionFont(BaseFont extensionFont)
Sets the extensionFont. This font will be searched before the substitution fonts. It may benull
.- Parameters:
extensionFont
- New value of property extensionFont.
-
-