Class PushbuttonField


  • public class PushbuttonField
    extends BaseField
    Creates a pushbutton field. It supports all the text and icon alignments. The icon may be an image or a template.

    Example usage:

     Document document = new Document(PageSize.A4, 50, 50, 50, 50);
     PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("output.pdf"));
     document.open();
     PdfContentByte cb = writer.getDirectContent();
     Image img = Image.getInstance("image.png");
     PushbuttonField bt = new PushbuttonField(writer, new Rectangle(100, 100, 200, 200), "Button1");
     bt.setText("My Caption");
     bt.setFontSize(0);
     bt.setImage(img);
     bt.setLayout(PushbuttonField.LAYOUT_ICON_TOP_LABEL_BOTTOM);
     bt.setBackgroundColor(Color.cyan);
     bt.setBorderStyle(PdfBorderDictionary.STYLE_SOLID);
     bt.setBorderColor(Color.red);
     bt.setBorderWidth(3);
     PdfFormField ff = bt.getField();
     PdfAction ac = PdfAction.createSubmitForm("http://www.submit-site.com", null, 0);
     ff.setAction(ac);
     writer.addAnnotation(ff);
     document.close();
     
    • Field Detail

      • LAYOUT_LABEL_ONLY

        public static final int LAYOUT_LABEL_ONLY
        A layout option
        See Also:
        Constant Field Values
      • LAYOUT_ICON_ONLY

        public static final int LAYOUT_ICON_ONLY
        A layout option
        See Also:
        Constant Field Values
      • LAYOUT_ICON_TOP_LABEL_BOTTOM

        public static final int LAYOUT_ICON_TOP_LABEL_BOTTOM
        A layout option
        See Also:
        Constant Field Values
      • LAYOUT_LABEL_TOP_ICON_BOTTOM

        public static final int LAYOUT_LABEL_TOP_ICON_BOTTOM
        A layout option
        See Also:
        Constant Field Values
      • LAYOUT_ICON_LEFT_LABEL_RIGHT

        public static final int LAYOUT_ICON_LEFT_LABEL_RIGHT
        A layout option
        See Also:
        Constant Field Values
      • LAYOUT_LABEL_LEFT_ICON_RIGHT

        public static final int LAYOUT_LABEL_LEFT_ICON_RIGHT
        A layout option
        See Also:
        Constant Field Values
      • LAYOUT_LABEL_OVER_ICON

        public static final int LAYOUT_LABEL_OVER_ICON
        A layout option
        See Also:
        Constant Field Values
      • SCALE_ICON_ALWAYS

        public static final int SCALE_ICON_ALWAYS
        An icon scaling option
        See Also:
        Constant Field Values
      • SCALE_ICON_NEVER

        public static final int SCALE_ICON_NEVER
        An icon scaling option
        See Also:
        Constant Field Values
      • SCALE_ICON_IS_TOO_BIG

        public static final int SCALE_ICON_IS_TOO_BIG
        An icon scaling option
        See Also:
        Constant Field Values
      • SCALE_ICON_IS_TOO_SMALL

        public static final int SCALE_ICON_IS_TOO_SMALL
        An icon scaling option
        See Also:
        Constant Field Values
      • layout

        private int layout
        Holds value of property layout.
      • image

        private Image image
        Holds value of property image.
      • template

        private PdfTemplate template
        Holds value of property template.
      • scaleIcon

        private int scaleIcon
        Holds value of property scaleIcon.
      • proportionalIcon

        private boolean proportionalIcon
        Holds value of property proportionalIcon.
      • iconVerticalAdjustment

        private float iconVerticalAdjustment
        Holds value of property iconVerticalAdjustment.
      • iconHorizontalAdjustment

        private float iconHorizontalAdjustment
        Holds value of property iconHorizontalAdjustment.
      • iconFitToBounds

        private boolean iconFitToBounds
        Holds value of property iconFitToBounds.
      • iconReference

        private PRIndirectReference iconReference
        Holds value of property iconReference.
    • Constructor Detail

      • PushbuttonField

        public PushbuttonField​(PdfWriter writer,
                               Rectangle box,
                               java.lang.String fieldName)
        Creates a new instance of PushbuttonField
        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

      • getLayout

        public int getLayout()
        Getter for property layout.
        Returns:
        Value of property layout.
      • setLayout

        public void setLayout​(int layout)
        Sets the icon and label layout. Possible values are LAYOUT_LABEL_ONLY, LAYOUT_ICON_ONLY, LAYOUT_ICON_TOP_LABEL_BOTTOM, LAYOUT_LABEL_TOP_ICON_BOTTOM, LAYOUT_ICON_LEFT_LABEL_RIGHT, LAYOUT_LABEL_LEFT_ICON_RIGHT and LAYOUT_LABEL_OVER_ICON. The default is LAYOUT_LABEL_ONLY.
        Parameters:
        layout - New value of property layout.
      • getImage

        public Image getImage()
        Getter for property image.
        Returns:
        Value of property image.
      • setImage

        public void setImage​(Image image)
        Sets the icon as an image.
        Parameters:
        image - the image
      • getTemplate

        public PdfTemplate getTemplate()
        Getter for property template.
        Returns:
        Value of property template.
      • setTemplate

        public void setTemplate​(PdfTemplate template)
        Sets the icon as a template.
        Parameters:
        template - the template
      • getScaleIcon

        public int getScaleIcon()
        Getter for property scaleIcon.
        Returns:
        Value of property scaleIcon.
      • setScaleIcon

        public void setScaleIcon​(int scaleIcon)
        Sets the way the icon will be scaled. Possible values are SCALE_ICON_ALWAYS, SCALE_ICON_NEVER, SCALE_ICON_IS_TOO_BIG and SCALE_ICON_IS_TOO_SMALL. The default is SCALE_ICON_ALWAYS.
        Parameters:
        scaleIcon - the way the icon will be scaled
      • isProportionalIcon

        public boolean isProportionalIcon()
        Getter for property proportionalIcon.
        Returns:
        Value of property proportionalIcon.
      • setProportionalIcon

        public void setProportionalIcon​(boolean proportionalIcon)
        Sets the way the icon is scaled. If true the icon is scaled proportionally, if false the scaling is done anamorphicaly.
        Parameters:
        proportionalIcon - the way the icon is scaled
      • getIconVerticalAdjustment

        public float getIconVerticalAdjustment()
        Getter for property iconVerticalAdjustment.
        Returns:
        Value of property iconVerticalAdjustment.
      • setIconVerticalAdjustment

        public void setIconVerticalAdjustment​(float iconVerticalAdjustment)
        A number between 0 and 1 indicating the fraction of leftover space to allocate at the bottom of the icon. A value of 0 positions the icon at the bottom of the annotation rectangle. A value of 0.5 centers it within the rectangle. The default is 0.5.
        Parameters:
        iconVerticalAdjustment - a number between 0 and 1 indicating the fraction of leftover space to allocate at the bottom of the icon
      • getIconHorizontalAdjustment

        public float getIconHorizontalAdjustment()
        Getter for property iconHorizontalAdjustment.
        Returns:
        Value of property iconHorizontalAdjustment.
      • setIconHorizontalAdjustment

        public void setIconHorizontalAdjustment​(float iconHorizontalAdjustment)
        A number between 0 and 1 indicating the fraction of leftover space to allocate at the left of the icon. A value of 0 positions the icon at the left of the annotation rectangle. A value of 0.5 centers it within the rectangle. The default is 0.5.
        Parameters:
        iconHorizontalAdjustment - a number between 0 and 1 indicating the fraction of leftover space to allocate at the left of the icon
      • isIconFitToBounds

        public boolean isIconFitToBounds()
        Getter for property iconFitToBounds.
        Returns:
        Value of property iconFitToBounds.
      • setIconFitToBounds

        public void setIconFitToBounds​(boolean iconFitToBounds)
        If true the icon will be scaled to fit fully within the bounds of the annotation, if false the border width will be taken into account. The default is false.
        Parameters:
        iconFitToBounds - if true the icon will be scaled to fit fully within the bounds of the annotation, if false the border width will be taken into account
      • getIconReference

        public PRIndirectReference getIconReference()
        Gets the reference to an existing icon.
        Returns:
        the reference to an existing icon.
      • setIconReference

        public void setIconReference​(PRIndirectReference iconReference)
        Sets the reference to an existing icon.
        Parameters:
        iconReference - the reference to an existing icon