Class HSLFTextShape

    • Field Detail

      • WrapSquare

        public static final int WrapSquare
        Specifies that a line of text will continue on subsequent lines instead of extending into or beyond a margin. Office Excel 2007, Excel 2010, PowerPoint 97, and PowerPoint 2010 read and use this value properly but do not write it.
        See Also:
        Constant Field Values
      • WrapByPoints

        public static final int WrapByPoints
        Specifies a wrapping rule that is equivalent to that of WrapSquare Excel 97, Excel 2000, Excel 2002, and Office Excel 2003 use this value. All other product versions listed at the beginning of this appendix ignore this value.
        See Also:
        Constant Field Values
      • WrapNone

        public static final int WrapNone
        Specifies that a line of text will extend into or beyond a margin instead of continuing on subsequent lines. Excel 97, Word 97, Excel 2000, Word 2000, Excel 2002, and Office Excel 2003 do not use this value.
        See Also:
        Constant Field Values
      • WrapTopBottom

        public static final int WrapTopBottom
        Specifies a wrapping rule that is undefined and MUST be ignored.
        See Also:
        Constant Field Values
      • WrapThrough

        public static final int WrapThrough
        Specifies a wrapping rule that is undefined and MUST be ignored.
        See Also:
        Constant Field Values
    • Constructor Detail

      • HSLFTextShape

        public HSLFTextShape​(ShapeContainer<HSLFShape,​HSLFTextParagraph> parent)
        Create a new TextBox. This constructor is used when a new shape is created.
        Parameters:
        parent - the parent of this Shape. For example, if this text box is a cell in a table then the parent is Table.
      • HSLFTextShape

        public HSLFTextShape()
        Create a new TextBox. This constructor is used when a new shape is created.
    • Method Detail

      • resizeToFitText

        public java.awt.geom.Rectangle2D resizeToFitText()
        Description copied from interface: TextShape
        Adjust the size of the shape so it encompasses the text inside it.
        Specified by:
        resizeToFitText in interface TextShape<HSLFShape,​HSLFTextParagraph>
        Returns:
        a Rectangle2D that is the bounds of this shape.
      • resizeToFitText

        public java.awt.geom.Rectangle2D resizeToFitText​(java.awt.Graphics2D graphics)
        Description copied from interface: TextShape
        Adjust the size of the shape so it encompasses the text inside it.
        Specified by:
        resizeToFitText in interface TextShape<HSLFShape,​HSLFTextParagraph>
        Parameters:
        graphics - a customized graphics context, e.g. which contains font mappings
        Returns:
        a Rectangle2D that is the bounds of this shape.
      • getRunType

        public int getRunType()
        Returns the type of the text, from the TextHeaderAtom. Possible values can be seen from TextHeaderAtom
        See Also:
        TextHeaderAtom
      • setRunType

        public void setRunType​(int type)
        Changes the type of the text. Values should be taken from TextHeaderAtom. No checking is done to ensure you set this to a valid value!
        See Also:
        TextHeaderAtom
      • isAlignToBaseline

        public boolean isAlignToBaseline()
        Returns:
        true, if vertical alignment is relative to baseline this is only used for older versions less equals Office 2003
      • setAlignToBaseline

        public void setAlignToBaseline​(boolean alignToBaseline)
        Sets the vertical alignment relative to the baseline
        Parameters:
        alignToBaseline - if true, vertical alignment is relative to baseline
      • 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<HSLFShape,​HSLFTextParagraph>
        Returns:
        true, if the text anchor is horizontal centered
      • setHorizontalCentered

        public void setHorizontalCentered​(java.lang.Boolean isCentered)
        Description copied from interface: TextShape
        Sets if the paragraphs are horizontal centered
        Specified by:
        setHorizontalCentered in interface TextShape<HSLFShape,​HSLFTextParagraph>
        Parameters:
        isCentered - true, if the paragraphs are horizontal centered A null values unsets this property.
      • 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. Default value is 1/20 inch.
        Returns:
        the botom margin
      • setBottomInset

        public void setBottomInset​(double margin)
        Sets the botom margin.
        Parameters:
        margin - the bottom margin
        See Also:
        getBottomInset()
      • 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. Default value is 1/10 inch.
        Returns:
        the left margin
      • setLeftInset

        public void setLeftInset​(double margin)
        Sets the left margin.
        Parameters:
        margin - the left margin
        See Also:
        getLeftInset()
      • 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. Default value is 1/10 inch.
        Returns:
        the right margin
      • setRightInset

        public void setRightInset​(double margin)
        Sets the right margin.
        Parameters:
        margin - the right margin
        See Also:
        getRightInset()
      • 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. Default value is 1/20 inch.
        Returns:
        the top margin
      • setTopInset

        public void setTopInset​(double margin)
        Sets the top margin.
        Parameters:
        margin - the top margin
        See Also:
        getTopInset()
      • getWordWrapEx

        public int getWordWrapEx()
        Returns the value indicating word wrap.
        Returns:
        the value indicating word wrap. Must be one of the Wrap* constants defined in this class.
        See Also:
        MSOWRAPMODE
      • setWordWrapEx

        public void setWordWrapEx​(int wrap)
        Specifies how the text should be wrapped
        Parameters:
        wrap - the value indicating how the text should be wrapped. Must be one of the Wrap* constants defined in this class.
      • getTextId

        public int getTextId()
        Returns:
        id for the text.
      • setTextId

        public void setTextId​(int id)
        Sets text ID
        Parameters:
        id - of the text
      • setSheet

        public void setSheet​(HSLFSheet sheet)
        Description copied from class: HSLFShape
        Assign the SlideShow this shape belongs to
        Overrides:
        setSheet in class HSLFShape
        Parameters:
        sheet - owner of this shape
      • getTextHeight

        public double getTextHeight​(java.awt.Graphics2D graphics)
        Description copied from interface: TextShape
        Compute the cumulative height occupied by the text
        Specified by:
        getTextHeight in interface TextShape<HSLFShape,​HSLFTextParagraph>
        Parameters:
        graphics - a customized graphics context, e.g. which contains font mappings
        Returns:
        the cumulative height occupied by the text
      • getTextRotation

        public java.lang.Double getTextRotation()
        Description copied from interface: TextShape
        The text rotation can be independent specified from the shape rotation. For XSLF this can be an arbitrary degree, for HSLF the degree is given in steps of 90 degrees
        Specified by:
        getTextRotation in interface TextShape<HSLFShape,​HSLFTextParagraph>
        Returns:
        text rotation in degrees, returns null if no rotation is given
      • setTextRotation

        public void setTextRotation​(java.lang.Double rotation)
        Description copied from interface: TextShape
        Sets the text rotation. For XSLF this can ben an arbitrary degree, for HSLF the rotation is rounded to next 90 degree step
        Specified by:
        setTextRotation in interface TextShape<HSLFShape,​HSLFTextParagraph>
        Parameters:
        rotation - the text rotation, or null to unset the rotation
      • getRawText

        public java.lang.String getRawText()
        Returns the raw text content of the shape. This hasn't had any changes applied to it, and so is probably unlikely to print out nicely.
      • getText

        public java.lang.String getText()
        Description copied from interface: TextShape
        Returns the text contained in this text frame, which has been made safe for printing and other use.
        Specified by:
        getText in interface TextShape<HSLFShape,​HSLFTextParagraph>
        Returns:
        the text string for this textbox.
      • appendText

        public HSLFTextRun appendText​(java.lang.String text,
                                      boolean newParagraph)
        Description copied from interface: TextShape
        Adds the supplied text onto the end of the TextParagraphs, creating a new RichTextRun for it to sit in.
        Specified by:
        appendText in interface TextShape<HSLFShape,​HSLFTextParagraph>
        Parameters:
        text - the text string to be appended.
        newParagraph - if true, a new paragraph will be added, which will contain the added text
      • setText

        public HSLFTextRun setText​(java.lang.String text)
        Description copied from interface: TextShape
        Sets (overwrites) the current text. Uses the properties of the first paragraph / textrun. Text paragraphs are split by \\r or \\n. New lines within text run are split by \\u000b
        Specified by:
        setText in interface TextShape<HSLFShape,​HSLFTextParagraph>
        Parameters:
        text - the text string used by this object.
        Returns:
        the last text run of the - potential split - text
      • getHyperlinks

        public java.util.List<HSLFHyperlink> getHyperlinks()
        Returns the array of all hyperlinks in this text run
        Returns:
        the array of all hyperlinks in this text run or null if not found.
      • getMetroShape

        public TextShape<?,​? extends TextParagraph<?,​?,​? extends TextRun>> getMetroShape()
        Get alternative representation of text shape stored as metro blob escher property. The returned shape is the first shape in stored group shape of the metro blob
        Returns:
        null, if there's no alternative representation, otherwise the text shape