Class 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 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 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​(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 a String.
        Parameters:
        text -
        Returns:
        String
        Since:
        2.1.5
      • obfuscatePassword

        public static java.lang.String obfuscatePassword​(java.lang.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 java.io.IOException,
                                           DocumentException
        Get the PdfAppearance of a text or combo field
        Returns:
        A PdfAppearance
        Throws:
        java.io.IOException - on error
        DocumentException - on error
      • getTopChoice

        private int getTopChoice()
      • 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 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
      • 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 left
        extraMarginTop - the extra margin top
      • getSubstitutionFonts

        public java.util.ArrayList<BaseFont> 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​(java.util.ArrayList<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.