Class TextField

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

    • 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<Integer> choiceSelections
      Holds value of property choiceSelection.
    • topFirst

      private int topFirst
    • extraMarginLeft

      private float extraMarginLeft
    • extraMarginTop

      private float extraMarginTop
    • substitutionFonts

      private List<BaseFont> substitutionFonts
      Holds value of property substitutionFonts.
    • extensionFont

      private BaseFont extensionFont
      Holds value of property extensionFont.
  • Constructor Details

    • 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 Details

    • checkRTL

      private static boolean checkRTL(String text)
    • textRunDirectionDefault

      private static int textRunDirectionDefault(String ptext)
    • textRunDirectionByContent

      private static int textRunDirectionByContent(String ptext)
      Chose the run direction of a text field by it's content
      Parameters:
      ptext - text field content
      Returns:
      int run direction (PdfWriter.RUN_DIRECTION_LTR or PdfWriter.RUN_DIRECTION_RTL or PdfWriter.RUN_DIRECTION_NO_BIDI)
    • textRunDirection

      private static int textRunDirection(String ptext)
    • changeFontSize

      private static void changeFontSize(Phrase p, float size)
    • removeCRLF

      public static String removeCRLF(String text)
      Removes CRLF from a String.
      Parameters:
      text - the String to remove the CRLF from
      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 - the text to obfuscate
      Returns:
      String
      Since:
      2.1.5
    • composePhrase

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

      private int getTextAlignment(int runDirection)
      Flip text alignment for RTL texts Not sure why but this is needed
    • 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
    • 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
    • gteChoiceSelections

      public ArrayList<Integer> gteChoiceSelections()
    • 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(List<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 left
      extraMarginTop - the extra margin top
    • getSubstitutionFontList

      public List<BaseFont> getSubstitutionFontList()
      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
    • setSubstitutionFontList

      public void setSubstitutionFontList(List<BaseFont> 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.