Package com.lowagie.text.pdf
Class PushbuttonField
java.lang.Object
com.lowagie.text.pdf.BaseField
com.lowagie.text.pdf.PushbuttonField
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 Summary
FieldsModifier and TypeFieldDescriptionprivate boolean
Holds value of property iconFitToBounds.private float
Holds value of property iconHorizontalAdjustment.private PRIndirectReference
Holds value of property iconReference.private float
Holds value of property iconVerticalAdjustment.private Image
Holds value of property image.private int
Holds value of property layout.static final int
A layout optionstatic final int
A layout optionstatic final int
A layout optionstatic final int
A layout optionstatic final int
A layout optionstatic final int
A layout optionstatic final int
A layout optionprivate boolean
Holds value of property proportionalIcon.static final int
An icon scaling optionstatic final int
An icon scaling optionstatic final int
An icon scaling optionstatic final int
An icon scaling optionprivate int
Holds value of property scaleIcon.private PdfTemplate
Holds value of property template.private PdfTemplate
Fields inherited from class com.lowagie.text.pdf.BaseField
alignment, alternateFieldName, backgroundColor, BORDER_WIDTH_MEDIUM, BORDER_WIDTH_THICK, BORDER_WIDTH_THIN, borderColor, borderStyle, borderWidth, box, COMB, DO_NOT_SCROLL, DO_NOT_SPELL_CHECK, EDIT, fieldName, FILE_SELECTION, font, fontSize, HIDDEN, HIDDEN_BUT_PRINTABLE, INVISIBLE, LOCKED, mappingName, maxCharacterLength, MULTILINE, MULTISELECT, NOVIEW, options, PASSWORD, PRINT, READ_ONLY, REQUIRED, rotation, text, textColor, visibility, VISIBLE, VISIBLE_BUT_DOES_NOT_PRINT, writer
-
Constructor Summary
ConstructorsConstructorDescriptionPushbuttonField
(PdfWriter writer, Rectangle box, String fieldName) Creates a new instance of PushbuttonField -
Method Summary
Modifier and TypeMethodDescriptionprivate float
calculateFontSize
(float w, float h) Gets the button appearance.getField()
Gets the pushbutton field.float
Getter for property iconHorizontalAdjustment.Gets the reference to an existing icon.float
Getter for property iconVerticalAdjustment.getImage()
Getter for property image.int
Getter for property layout.int
Getter for property scaleIcon.Getter for property template.boolean
Getter for property iconFitToBounds.boolean
Getter for property proportionalIcon.void
setIconFitToBounds
(boolean iconFitToBounds) Iftrue
the icon will be scaled to fit fully within the bounds of the annotation, iffalse
the border width will be taken into account.void
setIconHorizontalAdjustment
(float iconHorizontalAdjustment) A number between 0 and 1 indicating the fraction of leftover space to allocate at the left of the icon.void
setIconReference
(PRIndirectReference iconReference) Sets the reference to an existing icon.void
setIconVerticalAdjustment
(float iconVerticalAdjustment) A number between 0 and 1 indicating the fraction of leftover space to allocate at the bottom of the icon.void
Sets the icon as an image.void
setLayout
(int layout) Sets the icon and label layout.void
setProportionalIcon
(boolean proportionalIcon) Sets the way the icon is scaled.void
setScaleIcon
(int scaleIcon) Sets the way the icon will be scaled.void
setTemplate
(PdfTemplate template) Sets the icon as a template.Methods inherited from class com.lowagie.text.pdf.BaseField
breakLines, getAlignment, getAllHardBreaks, getAlternateFieldName, getBackgroundColor, getBorderAppearance, getBorderColor, getBorderStyle, getBorderWidth, getBox, getFieldName, getFont, getFontSize, getMappingName, getMaxCharacterLength, getOptions, getRealFont, getRotation, getText, getTextColor, getVisibility, getWriter, moveFields, setAlignment, setAlternateFieldName, setBackgroundColor, setBorderColor, setBorderStyle, setBorderWidth, setBox, setFieldName, setFont, setFontSize, setMappingName, setMaxCharacterLength, setOptions, setRotation, setRotationFromPage, setText, setTextColor, setVisibility, setWriter, trimRight
-
Field Details
-
LAYOUT_LABEL_ONLY
public static final int LAYOUT_LABEL_ONLYA layout option- See Also:
-
LAYOUT_ICON_ONLY
public static final int LAYOUT_ICON_ONLYA layout option- See Also:
-
LAYOUT_ICON_TOP_LABEL_BOTTOM
public static final int LAYOUT_ICON_TOP_LABEL_BOTTOMA layout option- See Also:
-
LAYOUT_LABEL_TOP_ICON_BOTTOM
public static final int LAYOUT_LABEL_TOP_ICON_BOTTOMA layout option- See Also:
-
LAYOUT_ICON_LEFT_LABEL_RIGHT
public static final int LAYOUT_ICON_LEFT_LABEL_RIGHTA layout option- See Also:
-
LAYOUT_LABEL_LEFT_ICON_RIGHT
public static final int LAYOUT_LABEL_LEFT_ICON_RIGHTA layout option- See Also:
-
LAYOUT_LABEL_OVER_ICON
public static final int LAYOUT_LABEL_OVER_ICONA layout option- See Also:
-
SCALE_ICON_ALWAYS
public static final int SCALE_ICON_ALWAYSAn icon scaling option- See Also:
-
SCALE_ICON_NEVER
public static final int SCALE_ICON_NEVERAn icon scaling option- See Also:
-
SCALE_ICON_IS_TOO_BIG
public static final int SCALE_ICON_IS_TOO_BIGAn icon scaling option- See Also:
-
SCALE_ICON_IS_TOO_SMALL
public static final int SCALE_ICON_IS_TOO_SMALLAn icon scaling option- See Also:
-
layout
private int layoutHolds value of property layout. -
image
Holds value of property image. -
template
Holds value of property template. -
scaleIcon
private int scaleIconHolds value of property scaleIcon. -
proportionalIcon
private boolean proportionalIconHolds value of property proportionalIcon. -
iconVerticalAdjustment
private float iconVerticalAdjustmentHolds value of property iconVerticalAdjustment. -
iconHorizontalAdjustment
private float iconHorizontalAdjustmentHolds value of property iconHorizontalAdjustment. -
iconFitToBounds
private boolean iconFitToBoundsHolds value of property iconFitToBounds. -
tp
-
iconReference
Holds value of property iconReference.
-
-
Constructor Details
-
PushbuttonField
Creates a new instance of PushbuttonField- Parameters:
writer
- the documentPdfWriter
box
- the field location and dimensionsfieldName
- the field name. Ifnull
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 areLAYOUT_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
andLAYOUT_LABEL_OVER_ICON
. The default isLAYOUT_LABEL_ONLY
.- Parameters:
layout
- New value of property layout.
-
getImage
Getter for property image.- Returns:
- Value of property image.
-
setImage
Sets the icon as an image.- Parameters:
image
- the image
-
getTemplate
Getter for property template.- Returns:
- Value of property template.
-
setTemplate
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 areSCALE_ICON_ALWAYS
,SCALE_ICON_NEVER
,SCALE_ICON_IS_TOO_BIG
andSCALE_ICON_IS_TOO_SMALL
. The default isSCALE_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. Iftrue
the icon is scaled proportionally, iffalse
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
- Throws:
IOException
DocumentException
-
getAppearance
Gets the button appearance.- Returns:
- the button appearance
- Throws:
IOException
- on errorDocumentException
- on error
-
getField
Gets the pushbutton field.- Returns:
- the pushbutton field
- Throws:
IOException
- on errorDocumentException
- on error
-
isIconFitToBounds
public boolean isIconFitToBounds()Getter for property iconFitToBounds.- Returns:
- Value of property iconFitToBounds.
-
setIconFitToBounds
public void setIconFitToBounds(boolean iconFitToBounds) Iftrue
the icon will be scaled to fit fully within the bounds of the annotation, iffalse
the border width will be taken into account. The default isfalse
.- Parameters:
iconFitToBounds
- iftrue
the icon will be scaled to fit fully within the bounds of the annotation, iffalse
the border width will be taken into account
-
getIconReference
Gets the reference to an existing icon.- Returns:
- the reference to an existing icon.
-
setIconReference
Sets the reference to an existing icon.- Parameters:
iconReference
- the reference to an existing icon
-