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();
- Author:
- Paulo Soares (psoares@consiste.pt)
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intA layout optionstatic final intA layout optionstatic final intA layout optionstatic final intA layout optionstatic final intA layout optionstatic final intA layout optionstatic final intA layout optionstatic final intAn icon scaling optionstatic final intAn icon scaling optionstatic final intAn icon scaling optionstatic final intAn icon scaling optionFields inherited from class com.lowagie.text.pdf.BaseField
alignment, 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, maxCharacterLength, MULTILINE, options, PASSWORD, 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 TypeMethodDescriptionGets the button appearance.getField()Gets the pushbutton field.floatGetter for property iconHorizontalAdjustment.Gets the reference to an existing icon.floatGetter for property iconVerticalAdjustment.getImage()Getter for property image.intGetter for property layout.intGetter for property scaleIcon.Getter for property template.booleanGetter for property iconFitToBounds.booleanGetter for property proportionalIcon.voidsetIconFitToBounds(boolean iconFitToBounds) Iftruethe icon will be scaled to fit fully within the bounds of the annotation, iffalsethe border width will be taken into account.voidsetIconHorizontalAdjustment(float iconHorizontalAdjustment) A number between 0 and 1 indicating the fraction of leftover space to allocate at the left of the icon.voidsetIconReference(PRIndirectReference iconReference) Sets the reference to an existing icon.voidsetIconVerticalAdjustment(float iconVerticalAdjustment) A number between 0 and 1 indicating the fraction of leftover space to allocate at the bottom of the icon.voidSets the icon as an image.voidsetLayout(int layout) Sets the icon and label layout.voidsetProportionalIcon(boolean proportionalIcon) Sets the way the icon is scaled.voidsetScaleIcon(int scaleIcon) Sets the way the icon will be scaled.voidsetTemplate(PdfTemplate template) Sets the icon as a template.Methods inherited from class com.lowagie.text.pdf.BaseField
breakLines, getAlignment, getBackgroundColor, getBorderAppearance, getBorderColor, getBorderStyle, getBorderWidth, getBox, getFieldName, getFont, getFontSize, getHardBreaks, getMaxCharacterLength, getOptions, getRealFont, getRotation, getText, getTextColor, getVisibility, getWriter, moveFields, setAlignment, setBackgroundColor, setBorderColor, setBorderStyle, setBorderWidth, setBox, setFieldName, setFont, setFontSize, 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:
-
-
Constructor Details
-
PushbuttonField
Creates a new instance of PushbuttonField- Parameters:
writer- the documentPdfWriterbox- the field location and dimensionsfieldName- the field name. Ifnullonly 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_RIGHTandLAYOUT_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_BIGandSCALE_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. Iftruethe icon is scaled proportionally, iffalsethe 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
-
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) Iftruethe icon will be scaled to fit fully within the bounds of the annotation, iffalsethe border width will be taken into account. The default isfalse.- Parameters:
iconFitToBounds- iftruethe icon will be scaled to fit fully within the bounds of the annotation, iffalsethe 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
-