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 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 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 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)
    • 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.