Package com.itextpdf.forms.form.renderer
Class SignatureAppearanceRenderer
- java.lang.Object
-
- com.itextpdf.layout.renderer.AbstractRenderer
-
- com.itextpdf.layout.renderer.BlockRenderer
-
- com.itextpdf.forms.form.renderer.AbstractFormFieldRenderer
-
- com.itextpdf.forms.form.renderer.AbstractTextFieldRenderer
-
- com.itextpdf.forms.form.renderer.SignatureAppearanceRenderer
-
- All Implemented Interfaces:
IPropertyContainer
,IRenderer
public class SignatureAppearanceRenderer extends AbstractTextFieldRenderer
TheAbstractTextFieldRenderer
implementation for SigFields.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
SignatureAppearanceRenderer.RenderingMode
Signature rendering modes.
-
Field Summary
Fields Modifier and Type Field Description private static float
EPS
private boolean
isFontSizeApproximated
private SignatureAppearanceRenderer.RenderingMode
renderingMode
private static float
TOP_SECTION
Extra space at the top.-
Fields inherited from class com.itextpdf.forms.form.renderer.AbstractTextFieldRenderer
font
-
Fields inherited from class com.itextpdf.forms.form.renderer.AbstractFormFieldRenderer
flatRenderer
-
Fields inherited from class com.itextpdf.layout.renderer.AbstractRenderer
childRenderers, flushed, INF, isLastRendererForModelElement, modelElement, occupiedArea, OVERLAP_EPSILON, parent, positionedRenderers, properties
-
-
Constructor Summary
Constructors Constructor Description SignatureAppearanceRenderer(SignatureFieldAppearance modelElement)
Creates a newSignatureAppearanceRenderer
instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
adjustChildrenLayout(SignatureAppearanceRenderer.RenderingMode renderingMode, Rectangle signatureRect, Rectangle descriptionRect, int pageNum)
protected void
adjustFieldLayout(LayoutContext layoutContext)
Adjusts the field layout.protected void
applyAcroField(DrawContext drawContext)
Applies the AcroField widget.private void
approximateFontSizeToFitLayoutArea(LayoutContext layoutContext)
private float
calculateAdditionalHeight()
protected IRenderer
createFlatRenderer()
Creates the flat renderer instance.java.lang.String
getDefaultValue()
Gets the default value of the form field.IRenderer
getNextRenderer()
Gets a new instance of this class to be used as a next renderer, after this renderer is used, ifIRenderer.layout(LayoutContext)
is called more than once.protected boolean
isLayoutBasedOnFlatRenderer()
Determines, whether the layout is based in the renderer itself or flat renderer.LayoutResult
layout(LayoutContext layoutContext)
This method simulates positioning of the renderer, including all of its children, and returns theLayoutResult
, representing the layout result, including occupied area, status, i.e.private void
relayoutImage(Rectangle signatureRect, int pageNum)
private void
relayoutParagraph(IRenderer renderer, Rectangle rect, int pageNum)
private SignatureAppearanceRenderer.RenderingMode
retrieveRenderingMode()
-
Methods inherited from class com.itextpdf.forms.form.renderer.AbstractTextFieldRenderer
adjustNumberOfContentLines, adjustNumberOfContentLines, applyDefaultFieldProperties, approximateFontSize, calculateFittingFontSize, createParagraphRenderer, getHeightRowsBased, getLowestChildBottom, updateHtmlColsSizeBasedWidth, updatePdfFont
-
Methods inherited from class com.itextpdf.forms.form.renderer.AbstractFormFieldRenderer
applyAccessibilityProperties, draw, drawChildren, getConformance, getLang, getMinMaxWidth, getModelId, isFlatten, isRendererFit, writeAcroFormFieldLangAttribute
-
Methods inherited from class com.itextpdf.layout.renderer.BlockRenderer
applyRotationLayout, applyVerticalAlignment, beginRotationIfApplied, createOverflowRenderer, createRotationTransformInsideOccupiedArea, createSplitRenderer, endRotationIfApplied, getOccupiedAreaBBox, getResolvedFont
-
Methods inherited from class com.itextpdf.layout.renderer.AbstractRenderer
addAllProperties, addChild, alignChildHorizontally, allowLastYLineRecursiveExtraction, applyAbsolutePosition, applyAction, applyBorderBox, applyBorderBox, applyDestination, applyDestinationsAndAnnotation, applyLinkAnnotation, applyMargins, applyMargins, applyPaddings, applyPaddings, applyRelativePositioningTranslation, beginElementOpacityApplying, beginTransformationIfApplied, calculateAbsolutePdfBBox, calculateBBox, calculateShiftToPositionBBoxOfPointsAt, clipBackgroundArea, clipBackgroundArea, clipBorderArea, createXObject, deleteOwnProperty, deleteProperty, drawBackground, drawBorder, endElementOpacityApplying, endTransformationIfApplied, getBackgroundArea, getBorderAreaBBox, getBorderRadii, getBorders, getChildRenderers, getDefaultProperty, getFirstYLineRecursively, getInnerAreaBBox, getLastYLineRecursively, getMargins, getModelElement, getOccupiedArea, getOwnProperties, getOwnProperty, getPaddings, getParent, getProperty, getProperty, getPropertyAsBoolean, getPropertyAsColor, getPropertyAsFloat, getPropertyAsFloat, getPropertyAsFont, getPropertyAsInteger, getPropertyAsTransparentColor, getPropertyAsUnitValue, hasAbsoluteUnitValue, hasOwnOrModelProperty, hasOwnProperty, hasProperty, hasRelativeUnitValue, initElementAreas, isAbsolutePosition, isBorderBoxSizing, isFirstOnRootArea, isFixedLayout, isFlushed, isKeepTogether, isNotFittingHeight, isNotFittingLayoutArea, isNotFittingWidth, isOverflowFit, isOverflowProperty, isOverflowProperty, isOverflowProperty, isPositioned, isRelativePosition, isStaticLayout, move, rectangleToPointsList, retrieveHeight, retrieveMaxHeight, retrieveMaxWidth, retrieveMinHeight, retrieveMinWidth, retrieveUnitValue, retrieveUnitValue, retrieveWidth, setBorders, setMinMaxWidthBasedOnFixedWidth, setParent, setProperty, toString, transformPoints, updateHeight, updateHeightsOnSplit, updateMaxHeight, updateMinHeight, updateWidth
-
-
-
-
Field Detail
-
TOP_SECTION
private static final float TOP_SECTION
Extra space at the top.- See Also:
- Constant Field Values
-
EPS
private static final float EPS
- See Also:
- Constant Field Values
-
renderingMode
private final SignatureAppearanceRenderer.RenderingMode renderingMode
-
isFontSizeApproximated
private boolean isFontSizeApproximated
-
-
Constructor Detail
-
SignatureAppearanceRenderer
public SignatureAppearanceRenderer(SignatureFieldAppearance modelElement)
Creates a newSignatureAppearanceRenderer
instance.- Parameters:
modelElement
- the model element
-
-
Method Detail
-
isLayoutBasedOnFlatRenderer
protected boolean isLayoutBasedOnFlatRenderer()
Determines, whether the layout is based in the renderer itself or flat renderer.- Overrides:
isLayoutBasedOnFlatRenderer
in classAbstractFormFieldRenderer
- Returns:
true
if layout is based on flat renderer, false otherwise.
-
createFlatRenderer
protected IRenderer createFlatRenderer()
Creates the flat renderer instance.- Specified by:
createFlatRenderer
in classAbstractFormFieldRenderer
- Returns:
- the renderer instance.
-
layout
public LayoutResult layout(LayoutContext layoutContext)
This method simulates positioning of the renderer, including all of its children, and returns theLayoutResult
, representing the layout result, including occupied area, status, i.e. if there was enough place to fit the renderer subtree, etc.LayoutResult
can be extended to return custom layout results for custom elements, e.g.TextRenderer
usesTextLayoutResult
as its result. This method can be called standalone to learn how much area the renderer subtree needs, or can be called beforeIRenderer.draw(DrawContext)
, to prepare the renderer to be flushed to the output stream.- Specified by:
layout
in interfaceIRenderer
- Overrides:
layout
in classAbstractFormFieldRenderer
- Parameters:
layoutContext
- the description of layout area and any other additional information- Returns:
- result of the layout process
-
adjustFieldLayout
protected void adjustFieldLayout(LayoutContext layoutContext)
Adjusts the field layout.- Specified by:
adjustFieldLayout
in classAbstractFormFieldRenderer
- Parameters:
layoutContext
- layout context
-
getNextRenderer
public IRenderer getNextRenderer()
Gets a new instance of this class to be used as a next renderer, after this renderer is used, ifIRenderer.layout(LayoutContext)
is called more than once.- Returns:
- new renderer instance
-
getDefaultValue
public java.lang.String getDefaultValue()
Gets the default value of the form field.- Overrides:
getDefaultValue
in classAbstractFormFieldRenderer
- Returns:
- the default value of the form field.
-
applyAcroField
protected void applyAcroField(DrawContext drawContext)
Applies the AcroField widget.- Specified by:
applyAcroField
in classAbstractFormFieldRenderer
- Parameters:
drawContext
- the draw context
-
adjustChildrenLayout
private void adjustChildrenLayout(SignatureAppearanceRenderer.RenderingMode renderingMode, Rectangle signatureRect, Rectangle descriptionRect, int pageNum)
-
relayoutImage
private void relayoutImage(Rectangle signatureRect, int pageNum)
-
calculateAdditionalHeight
private float calculateAdditionalHeight()
-
approximateFontSizeToFitLayoutArea
private void approximateFontSizeToFitLayoutArea(LayoutContext layoutContext)
-
retrieveRenderingMode
private SignatureAppearanceRenderer.RenderingMode retrieveRenderingMode()
-
-