Package com.itextpdf.forms.form.renderer
Class AbstractFormFieldRenderer
java.lang.Object
com.itextpdf.layout.renderer.AbstractRenderer
com.itextpdf.layout.renderer.BlockRenderer
com.itextpdf.forms.form.renderer.AbstractFormFieldRenderer
- All Implemented Interfaces:
-
IPropertyContainer
,IRenderer
- Direct Known Subclasses:
-
AbstractTextFieldRenderer
,CheckBoxRenderer
,RadioRenderer
Abstract
BlockRenderer
for form fields.
-
Field Summary
Fields inherited from class com.itextpdf.layout.renderer.AbstractRenderer
childRenderers, EPS, flushed, INF, isLastRendererForModelElement, modelElement, occupiedArea, OVERLAP_EPSILON, parent, positionedRenderers, properties
-
Method Summary
Modifier and TypeMethodDescriptionprotected abstract void
adjustFieldLayout
(LayoutContext layoutContext) Adjusts the field layout.protected abstract void
applyAcroField
(DrawContext drawContext) Applies the AcroField widget.protected abstract IRenderer
Creates the flat renderer instance.void
draw
(DrawContext drawContext) Flushes the renderer subtree contents, i.e.void
drawChildren
(DrawContext drawContext) Performs the drawing operation for allchildren
of this renderer.Gets the default value of the form field.protected String
getLang()
Gets the accessibility language.Calculates min and max width values for current renderer.protected String
Gets the model id.boolean
Checks if form fields need to be flattened.protected boolean
Determines, whether the layout is based in the renderer itself or flat renderer.protected boolean
isRendererFit
(float availableWidth, float availableHeight) Checks if the renderer fits a certain width and height.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.protected void
Methods inherited from class com.itextpdf.layout.renderer.BlockRenderer
applyRotationLayout, applyVerticalAlignment, beginRotationIfApplied, createOverflowRenderer, createRotationTransformInsideOccupiedArea, createSplitRenderer, endRotationIfApplied, getOccupiedAreaBBox
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
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.itextpdf.layout.renderer.IRenderer
getNextRenderer
-
Field Details
-
flatRenderer
The flat renderer.
-
-
Method Details
-
isFlatten
public boolean isFlatten()Checks if form fields need to be flattened.- Returns:
- true, if fields need to be flattened
-
getDefaultValue
Gets the default value of the form field.- Returns:
- the default value of the form field
-
layout
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 classBlockRenderer
- Parameters:
-
layoutContext
- the description of layout area and any other additional information - Returns:
- result of the layout process
-
draw
Flushes the renderer subtree contents, i.e. draws itself on canvas, adds necessary objects to thePdfDocument
etc.- Specified by:
-
draw
in interfaceIRenderer
- Overrides:
-
draw
in classBlockRenderer
- Parameters:
-
drawContext
- contains thePdfDocument
to which the renderer subtree if flushed, thePdfCanvas
on which the renderer subtree is drawn and other additional parameters needed to perform drawing
-
drawChildren
Performs the drawing operation for allchildren
of this renderer.- Overrides:
-
drawChildren
in classAbstractRenderer
- Parameters:
-
drawContext
- the context (canvas, document, etc) of this drawing operation.
-
getMinMaxWidth
Calculates min and max width values for current renderer.- Overrides:
-
getMinMaxWidth
in classBlockRenderer
- Returns:
-
instance of
MinMaxWidth
-
adjustFieldLayout
Adjusts the field layout.- Parameters:
-
layoutContext
- layout context
-
createFlatRenderer
Creates the flat renderer instance.- Returns:
- the renderer instance
-
applyAcroField
Applies the AcroField widget.- Parameters:
-
drawContext
- the draw context
-
getModelId
Gets the model id.- Returns:
- the model id
-
isRendererFit
protected boolean isRendererFit(float availableWidth, float availableHeight) Checks if the renderer fits a certain width and height.- Parameters:
-
availableWidth
- the available width -
availableHeight
- the available height - Returns:
- true, if the renderer fits
-
getLang
Gets the accessibility language.- Returns:
- the accessibility language
-
isLayoutBasedOnFlatRenderer
protected boolean isLayoutBasedOnFlatRenderer()Determines, whether the layout is based in the renderer itself or flat renderer.- Returns:
-
true
if layout is based on flat renderer, false otherwise
-
writeAcroFormFieldLangAttribute
-