Package com.itextpdf.forms.form.renderer
Class TextAreaRenderer
- 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.TextAreaRenderer
-
- All Implemented Interfaces:
IPropertyContainer
,IRenderer
public class TextAreaRenderer extends AbstractTextFieldRenderer
TheAbstractTextFieldRenderer
implementation for text area fields.
-
-
Field Summary
-
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, EPS, flushed, INF, isLastRendererForModelElement, modelElement, occupiedArea, OVERLAP_EPSILON, parent, positionedRenderers, properties
-
-
Constructor Summary
Constructors Constructor Description TextAreaRenderer(TextArea modelElement)
Creates a newTextAreaRenderer
instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
adjustFieldLayout(LayoutContext layoutContext)
Adjusts the field layout.protected void
applyAcroField(DrawContext drawContext)
Applies the AcroField widget.private void
approximateFontSizeToFitMultiLine(LayoutContext layoutContext)
protected IRenderer
createFlatRenderer()
Creates the flat renderer instance.(package private) IRenderer
createParagraphRenderer(java.lang.String defaultValue)
Creates a paragraph renderer.private void
cropContentLines(java.util.List<LineRenderer> lines, Rectangle bBox)
int
getCols()
Gets the number of columns.protected java.lang.Float
getLastYLineRecursively()
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.<T1> T1
getProperty(int key)
Gets the property from this entity.int
getRows()
Gets the number of rows.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.protected boolean
setMinMaxWidthBasedOnFixedWidth(MinMaxWidth minMaxWidth)
-
Methods inherited from class com.itextpdf.forms.form.renderer.AbstractTextFieldRenderer
adjustNumberOfContentLines, adjustNumberOfContentLines, applyDefaultFieldProperties, approximateFontSize, calculateFittingFontSize, getHeightRowsBased, getLowestChildBottom, updateHtmlColsSizeBasedWidth, updatePdfFont
-
Methods inherited from class com.itextpdf.forms.form.renderer.AbstractFormFieldRenderer
applyAccessibilityProperties, draw, drawChildren, getConformance, getDefaultValue, getLang, getMinMaxWidth, getModelId, isFlatten, isLayoutBasedOnFlatRenderer, isRendererFit, writeAcroFormFieldLangAttribute
-
Methods inherited from class com.itextpdf.layout.renderer.BlockRenderer
applyRotationLayout, applyVerticalAlignment, beginRotationIfApplied, createOverflowRenderer, createRotationTransformInsideOccupiedArea, createSplitRenderer, endRotationIfApplied, getMinMaxWidth, 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, getMargins, getModelElement, getOccupiedArea, getOwnProperties, getOwnProperty, getPaddings, getParent, 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, setParent, setProperty, toString, transformPoints, updateHeight, updateHeightsOnSplit, updateMaxHeight, updateMinHeight, updateWidth
-
-
-
-
Constructor Detail
-
TextAreaRenderer
public TextAreaRenderer(TextArea modelElement)
Creates a newTextAreaRenderer
instance.- Parameters:
modelElement
- the model element
-
-
Method Detail
-
getCols
public int getCols()
Gets the number of columns.- Returns:
- the cols value of the text area field
-
getRows
public int getRows()
Gets the number of rows.- Returns:
- the rows value of the text area field
-
getLastYLineRecursively
protected java.lang.Float getLastYLineRecursively()
- Overrides:
getLastYLineRecursively
in classAbstractRenderer
-
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
-
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
-
getProperty
public <T1> T1 getProperty(int key)
Gets the property from this entity. Compared toIPropertyContainer.getOwnProperty(int)
, this method can check parent's properties, styles, etc, depending on the origin of the instance- Specified by:
getProperty
in interfaceIPropertyContainer
- Overrides:
getProperty
in classAbstractRenderer
- Type Parameters:
T1
- the return type associated with the property- Parameters:
key
- the property to be retrieved- Returns:
- the value of the given property.
null
will be returned if the property value was not found
-
adjustFieldLayout
protected void adjustFieldLayout(LayoutContext layoutContext)
Adjusts the field layout.- Specified by:
adjustFieldLayout
in classAbstractFormFieldRenderer
- Parameters:
layoutContext
- layout context
-
createFlatRenderer
protected IRenderer createFlatRenderer()
Creates the flat renderer instance.- Specified by:
createFlatRenderer
in classAbstractFormFieldRenderer
- Returns:
- the renderer instance.
-
applyAcroField
protected void applyAcroField(DrawContext drawContext)
Applies the AcroField widget.- Specified by:
applyAcroField
in classAbstractFormFieldRenderer
- Parameters:
drawContext
- the draw context
-
setMinMaxWidthBasedOnFixedWidth
protected boolean setMinMaxWidthBasedOnFixedWidth(MinMaxWidth minMaxWidth)
- Overrides:
setMinMaxWidthBasedOnFixedWidth
in classAbstractRenderer
-
createParagraphRenderer
IRenderer createParagraphRenderer(java.lang.String defaultValue)
Description copied from class:AbstractTextFieldRenderer
Creates a paragraph renderer.- Overrides:
createParagraphRenderer
in classAbstractTextFieldRenderer
- Parameters:
defaultValue
- the default value- Returns:
- the renderer
-
cropContentLines
private void cropContentLines(java.util.List<LineRenderer> lines, Rectangle bBox)
-
approximateFontSizeToFitMultiLine
private void approximateFontSizeToFitMultiLine(LayoutContext layoutContext)
-
-