org.apache.poi.xslf.usermodel
Class XSLFTextShape

java.lang.Object
  extended by org.apache.poi.xslf.usermodel.XSLFShape
      extended by org.apache.poi.xslf.usermodel.XSLFSimpleShape
          extended by org.apache.poi.xslf.usermodel.XSLFTextShape
All Implemented Interfaces:
java.lang.Iterable<XSLFTextParagraph>, IAdjustableShape, PlaceableShape<XSLFShape,XSLFTextParagraph>, Shape<XSLFShape,XSLFTextParagraph>, SimpleShape<XSLFShape,XSLFTextParagraph>, TextShape<XSLFShape,XSLFTextParagraph>
Direct Known Subclasses:
XSLFAutoShape, XSLFTableCell

@Beta
public abstract class XSLFTextShape
extends XSLFSimpleShape
implements TextShape<XSLFShape,XSLFTextParagraph>

Represents a shape that can hold text.


Nested Class Summary
 
Nested classes/interfaces inherited from interface org.apache.poi.sl.usermodel.TextShape
TextShape.TextAutofit, TextShape.TextDirection
 
Method Summary
 XSLFTextParagraph addNewTextParagraph()
          add a new paragraph run to this shape
 void clearText()
          unset text from this shape
 double getBottomInset()
          Returns the distance (in points) between the bottom of the text frame and the bottom of the inscribed rectangle of the shape that contains the text.
 Insets2D getInsets()
           
 double getLeftInset()
          Returns the distance (in points) between the left edge of the text frame and the left edge of the inscribed rectangle of the shape that contains the text.
 double getRightInset()
          Returns the distance (in points) between the right edge of the text frame and the right edge of the inscribed rectangle of the shape that contains the text.
 java.lang.String getText()
           
 TextShape.TextAutofit getTextAutofit()
           
protected abstract  org.openxmlformats.schemas.drawingml.x2006.main.CTTextBody getTextBody(boolean create)
           
protected  org.openxmlformats.schemas.drawingml.x2006.main.CTTextBodyProperties getTextBodyPr()
           
 TextShape.TextDirection getTextDirection()
           
 double getTextHeight()
          Compute the cumulative height occupied by the text
 java.util.List<XSLFTextParagraph> getTextParagraphs()
           
 Placeholder getTextType()
           
 double getTopInset()
          Returns the distance (in points) between the top of the text frame and the top of the inscribed rectangle of the shape that contains the text.
 VerticalAlignment getVerticalAlignment()
          Returns the type of vertical alignment for the text.
 boolean getWordWrap()
           
 boolean isHorizontalCentered()
          Returns if the text is centered.
 java.util.Iterator<XSLFTextParagraph> iterator()
           
 java.awt.Rectangle resizeToFitText()
          Adjust the size of the shape so it encompasses the text inside it.
 void setBottomInset(double margin)
          Sets the bottom margin.
 void setHorizontalCentered(java.lang.Boolean isCentered)
          Sets if the paragraphs are horizontal centered
 void setLeftInset(double margin)
          Sets the left margin.
 void setPlaceholder(Placeholder placeholder)
          Specifies that the corresponding shape should be represented by the generating application as a placeholder.
 void setRightInset(double margin)
          Sets the right margin.
 void setText(java.lang.String text)
           
 void setTextAutofit(TextShape.TextAutofit value)
          Specifies that a shape should be auto-fit to fully contain the text described within it.
 void setTextDirection(TextShape.TextDirection orientation)
           
 void setTopInset(double margin)
          Sets the top margin.
 void setVerticalAlignment(VerticalAlignment anchor)
          Sets the type of vertical alignment for the text.
 void setWordWrap(boolean wrap)
           
 
Methods inherited from class org.apache.poi.xslf.usermodel.XSLFSimpleShape
getAdjustValue, getAnchor, getFillColor, getFillStyle, getFlipHorizontal, getFlipVertical, getGeometry, getLineCap, getLineColor, getLineCompound, getLineDash, getLineDecoration, getLineHeadDecoration, getLineHeadLength, getLineHeadWidth, getLinePaint, getLineTailDecoration, getLineTailLength, getLineTailWidth, getLineWidth, getRotation, getSafeXfrm, getShadow, getShapeType, getStrokeStyle, getXfrm, isPlaceholder, setAnchor, setFillColor, setFlipHorizontal, setFlipVertical, setLineCap, setLineColor, setLineDash, setLineHeadDecoration, setLineHeadLength, setLineHeadWidth, setLineTailDecoration, setLineTailLength, setLineTailWidth, setLineWidth, setRotation, setShapeType
 
Methods inherited from class org.apache.poi.xslf.usermodel.XSLFShape
fetchShapeProperty, getBgPr, getBgRef, getCNvPr, getCTPlaceholder, getFillPaint, getGrpSpPr, getPaint, getParent, getShapeId, getShapeName, getSheet, getSpPr, getSpStyle, getXmlObject, selectPaint, selectPaint, selectPaint, selectPaint, selectPaint, selectProperty, setParent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.poi.sl.usermodel.SimpleShape
getFillStyle, getGeometry, getLineDecoration, getShadow, getShapeType, getStrokeStyle, isPlaceholder
 
Methods inherited from interface org.apache.poi.sl.usermodel.Shape
getAnchor, getParent, getSheet
 
Methods inherited from interface org.apache.poi.sl.draw.geom.IAdjustableShape
getAdjustValue
 
Methods inherited from interface org.apache.poi.sl.usermodel.PlaceableShape
getAnchor, getFlipHorizontal, getFlipVertical, getParent, getRotation, setAnchor, setFlipHorizontal, setFlipVertical, setRotation
 

Method Detail

iterator

public java.util.Iterator<XSLFTextParagraph> iterator()
Specified by:
iterator in interface java.lang.Iterable<XSLFTextParagraph>

getText

public java.lang.String getText()
Returns:
text contained within this shape or empty string

clearText

public void clearText()
unset text from this shape


setText

public void setText(java.lang.String text)

getTextParagraphs

public java.util.List<XSLFTextParagraph> getTextParagraphs()
Specified by:
getTextParagraphs in interface TextShape<XSLFShape,XSLFTextParagraph>
Returns:
the TextParagraphs for this text box

addNewTextParagraph

public XSLFTextParagraph addNewTextParagraph()
add a new paragraph run to this shape

Returns:
created paragraph run

setVerticalAlignment

public void setVerticalAlignment(VerticalAlignment anchor)
Sets the type of vertical alignment for the text.

Parameters:
anchor - - the type of alignment. A null values unsets this property.

getVerticalAlignment

public VerticalAlignment getVerticalAlignment()
Returns the type of vertical alignment for the text.

Specified by:
getVerticalAlignment in interface TextShape<XSLFShape,XSLFTextParagraph>
Returns:
the type of vertical alignment

setHorizontalCentered

public void setHorizontalCentered(java.lang.Boolean isCentered)
Sets if the paragraphs are horizontal centered

Parameters:
isCentered - true, if the paragraphs are horizontal centered A null values unsets this property.
See Also:
TextShape.isHorizontalCentered()

isHorizontalCentered

public boolean isHorizontalCentered()
Description copied from interface: TextShape
Returns if the text is centered. If true and if the individual paragraph settings allow it, the whole text block will be displayed centered, i.e. its left and right margin will be maximized while still keeping the alignment of the paragraphs

Specified by:
isHorizontalCentered in interface TextShape<XSLFShape,XSLFTextParagraph>
Returns:
true, if the text anchor is horizontal centered

setTextDirection

public void setTextDirection(TextShape.TextDirection orientation)
Parameters:
orientation - vertical orientation of the text

getTextDirection

public TextShape.TextDirection getTextDirection()
Specified by:
getTextDirection in interface TextShape<XSLFShape,XSLFTextParagraph>
Returns:
vertical orientation of the text

getBottomInset

public double getBottomInset()
Returns the distance (in points) between the bottom of the text frame and the bottom of the inscribed rectangle of the shape that contains the text.

Returns:
the bottom inset in points

getLeftInset

public double getLeftInset()
Returns the distance (in points) between the left edge of the text frame and the left edge of the inscribed rectangle of the shape that contains the text.

Returns:
the left inset in points

getRightInset

public double getRightInset()
Returns the distance (in points) between the right edge of the text frame and the right edge of the inscribed rectangle of the shape that contains the text.

Returns:
the right inset in points

getTopInset

public double getTopInset()
Returns the distance (in points) between the top of the text frame and the top of the inscribed rectangle of the shape that contains the text.

Returns:
the top inset in points

setBottomInset

public void setBottomInset(double margin)
Sets the bottom margin.

Parameters:
margin - the bottom margin
See Also:
getBottomInset()

setLeftInset

public void setLeftInset(double margin)
Sets the left margin.

Parameters:
margin - the left margin
See Also:
getLeftInset()

setRightInset

public void setRightInset(double margin)
Sets the right margin.

Parameters:
margin - the right margin
See Also:
getRightInset()

setTopInset

public void setTopInset(double margin)
Sets the top margin.

Parameters:
margin - the top margin
See Also:
getTopInset()

getInsets

public Insets2D getInsets()
Specified by:
getInsets in interface TextShape<XSLFShape,XSLFTextParagraph>
Returns:
text shape margin

getWordWrap

public boolean getWordWrap()
Specified by:
getWordWrap in interface TextShape<XSLFShape,XSLFTextParagraph>
Returns:
whether to wrap words within the bounding rectangle

setWordWrap

public void setWordWrap(boolean wrap)
Parameters:
wrap - whether to wrap words within the bounding rectangle

setTextAutofit

public void setTextAutofit(TextShape.TextAutofit value)
Specifies that a shape should be auto-fit to fully contain the text described within it. Auto-fitting is when text within a shape is scaled in order to contain all the text inside

Parameters:
value - type of autofit

getTextAutofit

public TextShape.TextAutofit getTextAutofit()
Returns:
type of autofit

getTextBodyPr

protected org.openxmlformats.schemas.drawingml.x2006.main.CTTextBodyProperties getTextBodyPr()

getTextBody

protected abstract org.openxmlformats.schemas.drawingml.x2006.main.CTTextBody getTextBody(boolean create)

setPlaceholder

public void setPlaceholder(Placeholder placeholder)
Description copied from class: XSLFShape
Specifies that the corresponding shape should be represented by the generating application as a placeholder. When a shape is considered a placeholder by the generating application it can have special properties to alert the user that they may enter content into the shape. Different types of placeholders are allowed and can be specified by using the placeholder type attribute for this element

Overrides:
setPlaceholder in class XSLFShape

getTextType

public Placeholder getTextType()

getTextHeight

public double getTextHeight()
Description copied from interface: TextShape
Compute the cumulative height occupied by the text

Specified by:
getTextHeight in interface TextShape<XSLFShape,XSLFTextParagraph>

resizeToFitText

public java.awt.Rectangle resizeToFitText()
Adjust the size of the shape so it encompasses the text inside it.

Returns:
a Rectangle2D that is the bounds of this shape.


Copyright 2015 The Apache Software Foundation or its licensors, as applicable.