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
FieldsFields 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 voidadjustFieldLayout(LayoutContext layoutContext) Adjusts the field layout.protected voidapplyAccessibilityProperties(PdfFormField formField, PdfDocument pdfDocument) Applies the accessibility properties to the form field.protected abstract voidapplyAcroField(DrawContext drawContext) Applies the AcroField widget.protected abstract IRendererCreates the flat renderer instance.voiddraw(DrawContext drawContext) Flushes the renderer subtree contents, i.e.voiddrawChildren(DrawContext drawContext) Performs the drawing operation for allchildrenof this renderer.protected PdfConformancegetConformance(PdfDocument document) Gets the conformance.Gets the default value of the form field.protected StringgetLang()Gets the accessibility language usingIAccessibleElement.getAccessibilityProperties().Calculates min and max width values for current renderer.protected StringGets the model id.booleanChecks if form fields need to be flattened.protected booleanDetermines, whether the layout is based in the renderer itself or flat renderer.protected booleanisRendererFit(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 voidSets the form accessibility language identifier of the form element in case the document is tagged.Methods inherited from class com.itextpdf.layout.renderer.BlockRenderer
applyRotationLayout, applyVerticalAlignment, beginRotationIfApplied, createOverflowRenderer, createRotationTransformInsideOccupiedArea, createSplitRenderer, endRotationIfApplied, getMinMaxWidth, getOccupiedAreaBBox, getResolvedFontMethods 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, retrieveResolvedDeclaredHeight, retrieveUnitValue, retrieveUnitValue, retrieveWidth, setBorders, setMinMaxWidthBasedOnFixedWidth, setParent, setProperty, toString, transformPoints, updateHeight, updateHeightsOnSplit, updateMaxHeight, updateMinHeight, updateWidthMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods 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.LayoutResultcan be extended to return custom layout results for custom elements, e.g.TextRendererusesTextLayoutResultas 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:
-
layoutin interfaceIRenderer - Overrides:
-
layoutin 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 thePdfDocumentetc.- Specified by:
-
drawin interfaceIRenderer - Overrides:
-
drawin classBlockRenderer - Parameters:
-
drawContext- contains thePdfDocumentto which the renderer subtree if flushed, thePdfCanvason which the renderer subtree is drawn and other additional parameters needed to perform drawing
-
getMinMaxWidth
Calculates min and max width values for current renderer.- Overrides:
-
getMinMaxWidthin classBlockRenderer - Returns:
-
instance of
MinMaxWidth
-
drawChildren
Performs the drawing operation for allchildrenof this renderer.- Overrides:
-
drawChildrenin classAbstractRenderer - Parameters:
-
drawContext- the context (canvas, document, etc) of this drawing operation.
-
applyAccessibilityProperties
Applies the accessibility properties to the form field.- Parameters:
-
formField- the form field to which the accessibility properties should be applied -
pdfDocument- the document to which the form field belongs
-
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 usingIAccessibleElement.getAccessibilityProperties().- Returns:
- the accessibility language.
-
getConformance
Gets the conformance. If the conformance is not set, the conformance of the document is used.- Parameters:
-
document- the document - Returns:
- the conformance or null if the conformance is not set.
-
isLayoutBasedOnFlatRenderer
protected boolean isLayoutBasedOnFlatRenderer()Determines, whether the layout is based in the renderer itself or flat renderer.- Returns:
-
trueif layout is based on flat renderer, false otherwise.
-
writeAcroFormFieldLangAttribute
Sets the form accessibility language identifier of the form element in case the document is tagged.- Parameters:
-
pdfDoc- the document which contains form field
-