com.lowagie.text.pdf
Class TextField

java.lang.Object
  extended by com.lowagie.text.pdf.BaseField
      extended by 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.

Author:
Paulo Soares (psoares@consiste.pt)

Field Summary
private  String[] choiceExports
          Holds value of property choiceExports.
private  String[] choices
          Holds value of property choices.
private  ArrayList choiceSelections
          Holds value of property choiceSelection.
private  String defaultText
          Holds value of property defaultText.
private  BaseFont extensionFont
          Holds value of property extensionFont.
private  float extraMarginLeft
           
private  float extraMarginTop
           
private  ArrayList substitutionFonts
          Holds value of property substitutionFonts.
private  int topFirst
           
 
Fields inherited from class 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, visibility, VISIBLE, VISIBLE_BUT_DOES_NOT_PRINT, writer
 
Constructor Summary
TextField(PdfWriter writer, Rectangle box, String fieldName)
          Creates a new TextField.
 
Method Summary
 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(String text)
           
private  Phrase composePhrase(String text, BaseFont ufont, Color color, float fontSize)
           
 PdfAppearance getAppearance()
          Get the PdfAppearance of a text or combo field
 String[] getChoiceExports()
          Gets the export values in list/combo fields.
protected  PdfFormField getChoiceField(boolean isList)
           
 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.
 PdfFormField getComboField()
          Gets a new combo field.
 String getDefaultText()
          Gets the default text.
 BaseFont getExtensionFont()
          Gets the extensionFont.
(package private)  PdfAppearance getListAppearance()
          Get the PdfAppearance of a list field
 PdfFormField getListField()
          Gets a new list field.
 ArrayList getSubstitutionFonts()
          Gets the list of substitution fonts.
 PdfFormField getTextField()
          Gets a new text field.
private  int getTopChoice()
           
(package private)  int getTopFirst()
           
 ArrayList gteChoiceSelections()
           
static String obfuscatePassword(String text)
          Obfuscates a password String.
static String removeCRLF(String text)
          Removes CRLF from a String.
 void setChoiceExports(String[] choiceExports)
          Sets the export values in list/combo fields.
 void setChoices(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(ArrayList selections)
          replaces the existing selections with the param.
 void setDefaultText(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(ArrayList substitutionFonts)
          Sets a list of substitution fonts.
private  void writeMultipleValues(PdfFormField field, String[][] mix)
           
 
Methods inherited from class com.lowagie.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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

defaultText

private String defaultText
Holds value of property defaultText.


choices

private String[] choices
Holds value of property choices.


choiceExports

private String[] choiceExports
Holds value of property choiceExports.


choiceSelections

private ArrayList choiceSelections
Holds value of property choiceSelection.


topFirst

private int topFirst

extraMarginLeft

private float extraMarginLeft

extraMarginTop

private float extraMarginTop

substitutionFonts

private 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,
                 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

checkRTL

private static boolean checkRTL(String text)

changeFontSize

private static void changeFontSize(Phrase p,
                                   float size)

composePhrase

private Phrase composePhrase(String text,
                             BaseFont ufont,
                             Color color,
                             float fontSize)

removeCRLF

public static String removeCRLF(String text)
Removes CRLF from a String.

Parameters:
text -
Returns:
String
Since:
2.1.5

obfuscatePassword

public static String obfuscatePassword(String text)
Obfuscates a password String. Every character is replaced by an asterisk (*).

Parameters:
text -
Returns:
String
Since:
2.1.5

getAppearance

public PdfAppearance getAppearance()
                            throws IOException,
                                   DocumentException
Get the PdfAppearance of a text or combo field

Returns:
A PdfAppearance
Throws:
IOException - on error
DocumentException - on error

getListAppearance

PdfAppearance getListAppearance()
                          throws IOException,
                                 DocumentException
Get the PdfAppearance of a list field

Returns:
A PdfAppearance
Throws:
IOException - on error
DocumentException - on error

getTextField

public PdfFormField getTextField()
                          throws IOException,
                                 DocumentException
Gets a new text field.

Returns:
a new text field
Throws:
IOException - on error
DocumentException - on error

getComboField

public PdfFormField getComboField()
                           throws IOException,
                                  DocumentException
Gets a new combo field.

Returns:
a new combo field
Throws:
IOException - on error
DocumentException - on error

getListField

public PdfFormField getListField()
                          throws IOException,
                                 DocumentException
Gets a new list field.

Returns:
a new list field
Throws:
IOException - on error
DocumentException - on error

getTopChoice

private int getTopChoice()

getChoiceField

protected PdfFormField getChoiceField(boolean isList)
                               throws IOException,
                                      DocumentException
Throws:
IOException
DocumentException

writeMultipleValues

private void writeMultipleValues(PdfFormField field,
                                 String[][] mix)

getDefaultText

public String getDefaultText()
Gets the default text.

Returns:
the default text

setDefaultText

public void setDefaultText(String defaultText)
Sets the default text. It is only meaningful for text fields.

Parameters:
defaultText - the default text

getChoices

public 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(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 String[] getChoiceExports()
Gets the export values in list/combo fields.

Returns:
the export values in list/combo fields

setChoiceExports

public void setChoiceExports(String[] choiceExports)
Sets the export values in list/combo fields. If this array is null 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

gteChoiceSelections

public 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(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 left
extraMarginTop - the extra margin top

getSubstitutionFonts

public ArrayList getSubstitutionFonts()
Gets the list of substitution fonts. The list is composed of BaseFont and can be null. 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(ArrayList substitutionFonts)
Sets a list of substitution fonts. The list is composed of BaseFont and can also be null. 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 be null.

Returns:
the extensionFont

setExtensionFont

public void setExtensionFont(BaseFont extensionFont)
Sets the extensionFont. This font will be searched before the substitution fonts. It may be null.

Parameters:
extensionFont - New value of property extensionFont.

Hosted by Hostbasket