Class TextField
- java.lang.Object
-
- com.gitlab.pdftk_java.com.lowagie.text.pdf.BaseField
-
- com.gitlab.pdftk_java.com.lowagie.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.ArrayListchoiceSelectionsHolds value of property choiceSelection.private java.lang.StringdefaultTextHolds value of property defaultText.private BaseFontextensionFontHolds value of property extensionFont.private floatextraMarginLeftprivate floatextraMarginTopprivate java.util.ArrayListsubstitutionFontsHolds value of property substitutionFonts.private inttopFirst-
Fields inherited from class com.gitlab.pdftk_java.com.lowagie.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, textLeading, 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, java.awt.Color 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.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.ArrayListgetSubstitutionFonts()Gets the list of substitution fonts.PdfFormFieldgetTextField()Gets a new text field.private intgetTopChoice()(package private) intgetTopFirst()java.util.ArrayListgteChoiceSelections()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 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 substitutionFonts)Sets a list of substitution fonts.private voidwriteMultipleValues(PdfFormField field, java.lang.String[][] mix)-
Methods inherited from class com.gitlab.pdftk_java.com.lowagie.text.pdf.BaseField
breakLines, getAlignment, getBackgroundColor, getBorderAppearance, getBorderColor, getBorderStyle, getBorderWidth, getBox, getFieldName, getFont, getFontSize, getHardBreaks, getMaxCharacterLength, getOptions, getRealFont, getRotation, getText, getTextColor, getTextLeading, getVisibility, getWriter, moveFields, setAlignment, setBackgroundColor, setBorderColor, setBorderStyle, setBorderWidth, setBox, setFieldName, setFont, setFontSize, setMaxCharacterLength, setOptions, setRotation, setRotationFromPage, setText, setTextColor, setTextLeading, 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 choiceSelections
Holds value of property choiceSelection.
-
topFirst
private int topFirst
-
extraMarginLeft
private float extraMarginLeft
-
extraMarginTop
private float extraMarginTop
-
substitutionFonts
private java.util.ArrayList 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, java.awt.Color 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
-
gteChoiceSelections
public java.util.ArrayList gteChoiceSelections()
-
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 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 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 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.
-
-