Class BaseField

    • Field Detail

      • BORDER_WIDTH_THIN

        public static final float BORDER_WIDTH_THIN
        A thin border with 1 point width.
        See Also:
        Constant Field Values
      • BORDER_WIDTH_MEDIUM

        public static final float BORDER_WIDTH_MEDIUM
        A medium border with 2 point width.
        See Also:
        Constant Field Values
      • BORDER_WIDTH_THICK

        public static final float BORDER_WIDTH_THICK
        A thick border with 3 point width.
        See Also:
        Constant Field Values
      • VISIBLE_BUT_DOES_NOT_PRINT

        public static final int VISIBLE_BUT_DOES_NOT_PRINT
        The field is visible but does not print.
        See Also:
        Constant Field Values
      • HIDDEN_BUT_PRINTABLE

        public static final int HIDDEN_BUT_PRINTABLE
        The field is hidden but is printable.
        See Also:
        Constant Field Values
      • READ_ONLY

        public static final int READ_ONLY
        The user may not change the value of the field.
        See Also:
        Constant Field Values
      • REQUIRED

        public static final int REQUIRED
        The field must have a value at the time it is exported by a submit-form action.
        See Also:
        Constant Field Values
      • MULTILINE

        public static final int MULTILINE
        The field may contain multiple lines of text. This flag is only meaningful with text fields.
        See Also:
        Constant Field Values
      • DO_NOT_SCROLL

        public static final int DO_NOT_SCROLL
        The field will not scroll (horizontally for single-line fields, vertically for multiple-line fields) to accommodate more text than will fit within its annotation rectangle. Once the field is full, no further text will be accepted.
        See Also:
        Constant Field Values
      • PASSWORD

        public static final int PASSWORD
        The field is intended for entering a secure password that should not be echoed visibly to the screen.
        See Also:
        Constant Field Values
      • FILE_SELECTION

        public static final int FILE_SELECTION
        The text entered in the field represents the pathname of a file whose contents are to be submitted as the value of the field.
        See Also:
        Constant Field Values
      • DO_NOT_SPELL_CHECK

        public static final int DO_NOT_SPELL_CHECK
        The text entered in the field will not be spell-checked. This flag is meaningful only in text fields and in combo fields with the EDIT flag set.
        See Also:
        Constant Field Values
      • EDIT

        public static final int EDIT
        If set the combo box includes an editable text box as well as a drop list; if clear, it includes only a drop list. This flag is only meaningful with combo fields.
        See Also:
        Constant Field Values
      • MULTISELECT

        public static final int MULTISELECT
        whether or not a list may have multiple selections. Only applies to /CH LIST fields, not combo boxes.
        See Also:
        Constant Field Values
      • borderWidth

        protected float borderWidth
      • borderStyle

        protected int borderStyle
      • borderColor

        protected BaseColor borderColor
      • backgroundColor

        protected BaseColor backgroundColor
      • fontSize

        protected float fontSize
      • alignment

        protected int alignment
      • text

        protected java.lang.String text
      • rotation

        protected int rotation
        Holds value of property rotation.
      • visibility

        protected int visibility
        Holds value of property visibility.
      • fieldName

        protected java.lang.String fieldName
        Holds value of property fieldName.
      • options

        protected int options
        Holds value of property options.
      • maxCharacterLength

        protected int maxCharacterLength
        Holds value of property maxCharacterLength.
      • fieldKeys

        private static final java.util.HashMap<PdfName,​java.lang.Integer> fieldKeys
    • Constructor Detail

      • BaseField

        public BaseField​(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

      • getBorderAppearance

        protected PdfAppearance getBorderAppearance()
      • getHardBreaks

        protected static java.util.ArrayList<java.lang.String> getHardBreaks​(java.lang.String text)
      • trimRight

        protected static void trimRight​(java.lang.StringBuffer buf)
      • breakLines

        protected static java.util.ArrayList<java.lang.String> breakLines​(java.util.ArrayList<java.lang.String> breaks,
                                                                          BaseFont font,
                                                                          float fontSize,
                                                                          float width)
      • drawTopFrame

        private void drawTopFrame​(PdfAppearance app)
      • drawBottomFrame

        private void drawBottomFrame​(PdfAppearance app)
      • getBorderWidth

        public float getBorderWidth()
        Gets the border width in points.
        Returns:
        the border width in points
      • setBorderWidth

        public void setBorderWidth​(float borderWidth)
        Sets the border width in points. To eliminate the border set the border color to null.
        Parameters:
        borderWidth - the border width in points
      • getBorderStyle

        public int getBorderStyle()
        Gets the border style.
        Returns:
        the border style
      • setBorderStyle

        public void setBorderStyle​(int borderStyle)
        Sets the border style. The styles are found in PdfBorderDictionary and can be STYLE_SOLID, STYLE_DASHED, STYLE_BEVELED, STYLE_INSET and STYLE_UNDERLINE.
        Parameters:
        borderStyle - the border style
      • getBorderColor

        public BaseColor getBorderColor()
        Gets the border color.
        Returns:
        the border color
      • setBorderColor

        public void setBorderColor​(BaseColor borderColor)
        Sets the border color. Set to null to remove the border.
        Parameters:
        borderColor - the border color
      • getBackgroundColor

        public BaseColor getBackgroundColor()
        Gets the background color.
        Returns:
        the background color
      • setBackgroundColor

        public void setBackgroundColor​(BaseColor backgroundColor)
        Sets the background color. Set to null for transparent background.
        Parameters:
        backgroundColor - the background color
      • getTextColor

        public BaseColor getTextColor()
        Gets the text color.
        Returns:
        the text color
      • setTextColor

        public void setTextColor​(BaseColor textColor)
        Sets the text color. If null the color used will be black.
        Parameters:
        textColor - the text color
      • getFont

        public BaseFont getFont()
        Gets the text font.
        Returns:
        the text font
      • setFont

        public void setFont​(BaseFont font)
        Sets the text font. If null then Helvetica will be used.
        Parameters:
        font - the text font
      • getFontSize

        public float getFontSize()
        Gets the font size.
        Returns:
        the font size
      • setFontSize

        public void setFontSize​(float fontSize)
        Sets the font size. If 0 then auto-sizing will be used but only for text fields.
        Parameters:
        fontSize - the font size
      • getAlignment

        public int getAlignment()
        Gets the text horizontal alignment.
        Returns:
        the text horizontal alignment
      • setAlignment

        public void setAlignment​(int alignment)
        Sets the text horizontal alignment. It can be Element.ALIGN_LEFT, Element.ALIGN_CENTER and Element.ALIGN_RIGHT.
        Parameters:
        alignment - the text horizontal alignment
      • getText

        public java.lang.String getText()
        Gets the text.
        Returns:
        the text
      • setText

        public void setText​(java.lang.String text)
        Sets the text for text fields.
        Parameters:
        text - the text
      • getBox

        public Rectangle getBox()
        Gets the field dimension and position.
        Returns:
        the field dimension and position
      • setBox

        public void setBox​(Rectangle box)
        Sets the field dimension and position.
        Parameters:
        box - the field dimension and position
      • getRotation

        public int getRotation()
        Gets the field rotation.
        Returns:
        the field rotation
      • setRotation

        public void setRotation​(int rotation)
        Sets the field rotation. This value should be the same as the page rotation where the field will be shown.
        Parameters:
        rotation - the field rotation
      • setRotationFromPage

        public void setRotationFromPage​(Rectangle page)
        Convenience method to set the field rotation the same as the page rotation.
        Parameters:
        page - the page
      • getVisibility

        public int getVisibility()
        Gets the field visibility flag.
        Returns:
        the field visibility flag
      • setVisibility

        public void setVisibility​(int visibility)
        Sets the field visibility flag. This flags can be one of VISIBLE, HIDDEN, VISIBLE_BUT_DOES_NOT_PRINT and HIDDEN_BUT_PRINTABLE.
        Parameters:
        visibility - field visibility flag
      • getFieldName

        public java.lang.String getFieldName()
        Gets the field name.
        Returns:
        the field name
      • setFieldName

        public void setFieldName​(java.lang.String fieldName)
        Sets the field name.
        Parameters:
        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.
      • getOptions

        public int getOptions()
        Gets the option flags.
        Returns:
        the option flags
      • setOptions

        public void setOptions​(int options)
        Sets the option flags. The option flags can be a combination by oring of READ_ONLY, REQUIRED, MULTILINE, DO_NOT_SCROLL, PASSWORD, FILE_SELECTION, DO_NOT_SPELL_CHECK and EDIT.
        Parameters:
        options - the option flags
      • getMaxCharacterLength

        public int getMaxCharacterLength()
        Gets the maximum length of the field's text, in characters.
        Returns:
        the maximum length of the field's text, in characters.
      • setMaxCharacterLength

        public void setMaxCharacterLength​(int maxCharacterLength)
        Sets the maximum length of the field's text, in characters. It is only meaningful for text fields.
        Parameters:
        maxCharacterLength - the maximum length of the field's text, in characters
      • getWriter

        public PdfWriter getWriter()
        Getter for property writer.
        Returns:
        Value of property writer.
      • setWriter

        public void setWriter​(PdfWriter writer)
        Setter for property writer.
        Parameters:
        writer - New value of property writer.
      • moveFields

        public static void moveFields​(PdfDictionary from,
                                      PdfDictionary to)
        Moves the field keys from from to to. The moved keys are removed from from.
        Parameters:
        from - the source
        to - the destination. It may be null