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[]choiceExportsHolds value of property choiceExports.private java.lang.String[]choicesHolds value of property choices.private java.util.ArrayList<java.lang.Integer>choiceSelectionsHolds value of property choiceSelection.private java.lang.StringdefaultTextHolds value of property defaultText.private BaseFontextensionFontHolds value of property extensionFont.private floatextraMarginLeftprivate floatextraMarginTopprivate java.util.ArrayList<BaseFont>substitutionFontsHolds value of property substitutionFonts.private inttopFirstprivate intvisibleTopChoiceRepresents 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 voidaddChoiceSelection(int selection)Adds another (or a first I suppose) selection to a MULTISELECT list.private static voidchangeFontSize(Phrase p, float size)private static booleancheckRTL(java.lang.String text)private PhrasecomposePhrase(java.lang.String text, BaseFont ufont, BaseColor color, float fontSize)PdfAppearancegetAppearance()Get thePdfAppearanceof a text or combo fieldjava.lang.String[]getChoiceExports()Gets the export values in list/combo fields.protected PdfFormFieldgetChoiceField(boolean isList)java.lang.String[]getChoices()Gets the choices to be presented to the user in list/combo fields.intgetChoiceSelection()Gets the zero based index of the selected item.java.util.ArrayList<java.lang.Integer>getChoiceSelections()Gets the selected items.PdfFormFieldgetComboField()Gets a new combo field.java.lang.StringgetDefaultText()Gets the default text.BaseFontgetExtensionFont()Gets the extensionFont.(package private) PdfAppearancegetListAppearance()Get thePdfAppearanceof a list fieldPdfFormFieldgetListField()Gets a new list field.java.util.ArrayList<BaseFont>getSubstitutionFonts()Gets the list of substitution fonts.PdfFormFieldgetTextField()Gets a new text field.private intgetTopChoice()(package private) intgetTopFirst()intgetVisibleTopChoice()Returns the index of the top visible choice of a list.static java.lang.StringobfuscatePassword(java.lang.String text)Obfuscates a passwordString.static java.lang.StringremoveCRLF(java.lang.String text)Removes CRLF from aString.voidsetChoiceExports(java.lang.String[] choiceExports)Sets the export values in list/combo fields.voidsetChoices(java.lang.String[] choices)Sets the choices to be presented to the user in list/combo fields.voidsetChoiceSelection(int choiceSelection)Sets the zero based index of the selected item.voidsetChoiceSelections(java.util.ArrayList<java.lang.Integer> selections)Replaces the existing selections with the param.voidsetDefaultText(java.lang.String defaultText)Sets the default text.voidsetExtensionFont(BaseFont extensionFont)Sets the extensionFont.voidsetExtraMargin(float extraMarginLeft, float extraMarginTop)Sets extra margins in text fields to better mimic the Acrobat layout.voidsetSubstitutionFonts(java.util.ArrayList<BaseFont> substitutionFonts)Sets a list of substitution fonts.voidsetVisibleTopChoice(int visibleTopChoice)Sets the top visible choice for lists;private voidwriteMultipleValues(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 documentPdfWriterbox- the field location and dimensionsfieldName- the field name. Ifnullonly 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 thePdfAppearanceof 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 thePdfAppearanceof 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.IOExceptionDocumentException
-
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 isnullthen 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 ofBaseFontand 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 ofBaseFontand 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.
-
-