Class PushbuttonField

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

    • LAYOUT_LABEL_ONLY

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

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

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

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

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

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

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

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

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

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

      public static final int SCALE_ICON_IS_TOO_SMALL
      An icon scaling option
      See Also:
    • 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.
    • tp

      private PdfTemplate tp
    • iconReference

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

    • PushbuttonField

      public PushbuttonField(PdfWriter writer, Rectangle box, 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 Details

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

      private float calculateFontSize(float w, float h) throws IOException, DocumentException
      Throws:
      IOException
      DocumentException
    • getAppearance

      public PdfAppearance getAppearance() throws IOException, DocumentException
      Gets the button appearance.
      Returns:
      the button appearance
      Throws:
      IOException - on error
      DocumentException - on error
    • getField

      public PdfFormField getField() throws IOException, DocumentException
      Gets the pushbutton field.
      Returns:
      the pushbutton field
      Throws:
      IOException - on error
      DocumentException - on error
    • 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