ShapeBase class

ShapeBase class

Base class for objects in the drawing layer, such as an AutoShape, freeform, OLE object, ActiveX control, or picture. To learn more, visit the Working with Shapes documentation article.

Remarks

This is an abstract class. The two derived classes that you can instantiate are Shape and GroupShape.

A shape is a node in the document tree.

If the shape is a child of a Paragraph object, then the shape is said to be “top-level”. Top-level shapes are measured and positioned in points.

A shape can also occur as a child of a GroupShape object when several shapes are grouped. Child shapes of a group shape are positioned in the coordinate space and units defined by the Aspose.Words.Drawing.ShapeBase.CoordSize and Aspose.Words.Drawing.ShapeBase.CoordOrigin properties of the parent group shape.

A shape can be positioned inline with text or floating. The positioning method is controlled using the ShapeBase.wrapType property.

When a shape is floating, it is positioned relative to something (e.g the current paragraph, the margin or the page). The relative positioning of the shape is specified using the ShapeBase.relativeHorizontalPosition and ShapeBase.relativeVerticalPosition properties.

A floating shape be positioned explicitly using the ShapeBase.left and ShapeBase.top properties or aligned relative to some other object using the ShapeBase.horizontalAlignment and ShapeBase.verticalAlignment properties.

Inheritance: ShapeBaseCompositeNodeNode

Properties

NameDescription
allowOverlapGets or sets a value that specifies whether this shape can overlap other shapes.
alternativeTextDefines alternative text to be displayed instead of a graphic.
anchorLockedSpecifies whether the shape’s anchor is locked.
aspectRatioLockedSpecifies whether the shape’s aspect ratio is locked.
behindTextSpecifies whether the shape is below or above text.
bottomGets the position of the bottom edge of the containing block of the shape.
bounds2Gets or sets the location and size of the containing block of the shape.
boundsInPoints2Gets the location and size of the containing block of the shape in points, relative to the anchor of the topmost shape.
boundsWithEffects2Gets final extent that this shape object has after applying drawing effects. Value is measured in points.
canHaveImageReturns true if the shape type allows the shape to have an image.
coordOrigin2The coordinates at the top-left corner of the containing block of this shape.
coordSize2The width and height of the coordinate space inside the containing block of this shape.
countGets the number of immediate children of this node.
(Inherited from CompositeNode)
customNodeIdSpecifies custom node identifier.
(Inherited from Node)
distanceBottomReturns or sets the distance (in points) between the document text and the bottom edge of the shape.
distanceLeftReturns or sets the distance (in points) between the document text and the left edge of the shape.
distanceRightReturns or sets the distance (in points) between the document text and the right edge of the shape.
distanceTopReturns or sets the distance (in points) between the document text and the top edge of the shape.
documentGets the document to which this node belongs.
(Inherited from Node)
fillGets fill formatting for the shape.
firstChildGets the first child of the node.
(Inherited from CompositeNode)
flipOrientationSwitches the orientation of a shape.
fontProvides access to the font formatting of this object.
glowGets glow formatting for the shape.
hasChildNodesReturns true if this node has any child nodes.
(Inherited from CompositeNode)
heightGets or sets the height of the containing block of the shape.
heightRelativeGets or sets the value that represents the percentage of shape’s relative height.
hiddenGets or sets a boolean value indicating whether the shape is visible.
horizontalAlignmentSpecifies how the shape is positioned horizontally.
hrefGets or sets the full hyperlink address for a shape.
isCompositeReturns true if this node can contain other nodes.
(Inherited from Node)
isDecorativeGets or sets the flag that specifies whether the shape is decorative in the document.
isDeleteRevisionReturns true if this object was deleted in Microsoft Word while change tracking was enabled.
isGroupReturns true if this is a group shape.
isHorizontalRuleReturns true if this shape is a horizontal rule.
isImageReturns true if this shape is an image shape.
isInlineA quick way to determine if this shape is positioned inline with text.
isInsertRevisionReturns true if this object was inserted in Microsoft Word while change tracking was enabled.
isLayoutInCellGets or sets a flag indicating whether the shape is displayed inside a table or outside of it.
isMoveFromRevisionReturns true if this object was moved (deleted) in Microsoft Word while change tracking was enabled.
isMoveToRevisionReturns true if this object was moved (inserted) in Microsoft Word while change tracking was enabled.
isSignatureLineIndicates that shape is a SignatureLine.
isTopLevelReturns true if this shape is not a child of a group shape.
isWordArtReturns true if this shape is a WordArt object.
lastChildGets the last child of the node.
(Inherited from CompositeNode)
leftGets or sets the position of the left edge of the containing block of the shape.
leftRelativeGets or sets the value that represents shape’s relative left position in percent.
markupLanguageGets MarkupLanguage used for this graphic object.
nameGets or sets the optional shape name.
nextSiblingGets the node immediately following this node.
(Inherited from Node)
nodeTypeGets the type of this node.
(Inherited from Node)
parentNodeGets the immediate parent of this node.
(Inherited from Node)
parentParagraphReturns the immediate parent paragraph.
previousSiblingGets the node immediately preceding this node.
(Inherited from Node)
rangeReturns a Range object that represents the portion of a document that is contained in this node.
(Inherited from Node)
reflectionGets reflection formatting for the shape.
relativeHorizontalPositionSpecifies relative to what the shape is positioned horizontally.
relativeHorizontalSizeGets or sets the value of shape’s relative size in horizontal direction.
relativeVerticalPositionSpecifies relative to what the shape is positioned vertically.
relativeVerticalSizeGets or sets the value of shape’s relative size in vertical direction.
rightGets the position of the right edge of the containing block of the shape.
rotationDefines the angle (in degrees) that a shape is rotated. Positive value corresponds to clockwise rotation angle.
screenTipDefines the text displayed when the mouse pointer moves over the shape.
shadowFormatGets shadow formatting for the shape.
shapeTypeGets the shape type.
sizeInPoints2Gets the size of the shape in points.
softEdgeGets soft edge formatting for the shape.
targetGets or sets the target frame for the shape hyperlink.
titleGets or sets the title (caption) of the current shape object.
topGets or sets the position of the top edge of the containing block of the shape.
topRelativeGets or sets the value that represents shape’s relative top position in percent.
verticalAlignmentSpecifies how the shape is positioned vertically.
widthGets or sets the width of the containing block of the shape.
widthRelativeGets or sets the value that represents the percentage of shape’s relative width.
wrapSideSpecifies how the text is wrapped around the shape.
wrapTypeDefines whether the shape is inline or floating. For floating shapes defines the wrapping mode for text around the shape.
zorderDetermines the display order of overlapping shapes.

Methods

NameDescription
adjustWithEffects(source)Adds to the source rectangle values of the effect extent and returns the final rectangle.
appendChild(newChild)Adds the specified node to the end of the list of child nodes for this node.
(Inherited from CompositeNode)
asBody()Cast node to Body.
(Inherited from Node)
asBookmarkEnd()Cast node to BookmarkEnd.
(Inherited from Node)
asBookmarkStart()Cast node to BookmarkStart.
(Inherited from Node)
asBuildingBlock()Cast node to BuildingBlock.
(Inherited from Node)
asCell()Cast node to Cell.
(Inherited from Node)
asComment()Cast node to Comment.
(Inherited from Node)
asCommentRangeEnd()Cast node to CommentRangeEnd.
(Inherited from Node)
asCommentRangeStart()Cast node to CommentRangeStart.
(Inherited from Node)
asCompositeNode()Cast node to CompositeNode.
(Inherited from Node)
asDocument()Cast node to Node.document.
(Inherited from Node)
asEditableRangeEnd()Cast node to EditableRangeEnd.
(Inherited from Node)
asEditableRangeStart()Cast node to EditableRangeStart.
(Inherited from Node)
asFieldEnd()Cast node to FieldEnd.
(Inherited from Node)
asFieldSeparator()Cast node to FieldSeparator.
(Inherited from Node)
asFieldStart()Cast node to FieldStart.
(Inherited from Node)
asFootnote()Cast node to Footnote.
(Inherited from Node)
asFormField()Cast node to FormField.
(Inherited from Node)
asGlossaryDocument()Cast node to GlossaryDocument.
(Inherited from Node)
asGroupShape()Cast node to GroupShape.
(Inherited from Node)
asHeaderFooter()Cast node to HeaderFooter.
(Inherited from Node)
asOfficeMath()Cast node to OfficeMath.
(Inherited from Node)
asParagraph()Cast node to Paragraph.
(Inherited from Node)
asRow()Cast node to Row.
(Inherited from Node)
asRun()Cast node to Run.
(Inherited from Node)
asSection()Cast node to Section.
(Inherited from Node)
asShape()Cast node to Shape.
(Inherited from Node)
asSmartTag()Cast node to SmartTag.
(Inherited from Node)
asSpecialChar()Cast node to SpecialChar.
(Inherited from Node)
asStructuredDocumentTag()Cast node to StructuredDocumentTag.
(Inherited from Node)
asStructuredDocumentTagRangeEnd()Cast node to StructuredDocumentTagRangeEnd.
(Inherited from Node)
asStructuredDocumentTagRangeStart()Cast node to StructuredDocumentTagRangeStart.
(Inherited from Node)
asSubDocument()Cast node to SubDocument.
(Inherited from Node)
asTable()Cast node to Table.
(Inherited from Node)
clone(isCloneChildren)Creates a duplicate of the node.
(Inherited from Node)
getAncestor(ancestorType)Gets the first ancestor of the specified NodeType.
(Inherited from Node)
getBuildingBlock(index, isDeep)Returns an Nth child BuildingBlock node.
(Inherited from CompositeNode)
getChild(nodeType, index, isDeep)Returns an Nth child node that matches the specified type.
(Inherited from CompositeNode)
getChildNodes(nodeType, isDeep)Returns a live collection of child nodes that match the specified type.
(Inherited from CompositeNode)
getComment(index, isDeep)Returns an Nth child Comment node.
(Inherited from CompositeNode)
getEditableRangeStart(index, isDeep)Returns an Nth child EditableRangeStart node.
(Inherited from CompositeNode)
getFootnote(index, isDeep)Returns an Nth child Footnote node.
(Inherited from CompositeNode)
getGroupShape(index, isDeep)Returns an Nth child GroupShape node.
(Inherited from CompositeNode)
getOfficeMath(index, isDeep)Returns an Nth child OfficeMath node.
(Inherited from CompositeNode)
getParagraph(index, isDeep)Returns an Nth child Paragraph node.
(Inherited from CompositeNode)
getRun(index, isDeep)Returns an Nth child Run node.
(Inherited from CompositeNode)
getSdt(index, isDeep)Returns an Nth child StructuredDocumentTag node.
(Inherited from CompositeNode)
getSdtRangeEnd(index, isDeep)Returns an Nth child StructuredDocumentTagRangeEnd node.
(Inherited from CompositeNode)
getSdtRangeStart(index, isDeep)Returns an Nth child StructuredDocumentTagRangeStart node.
(Inherited from CompositeNode)
getShape(index, isDeep)Returns an Nth child Shape node.
(Inherited from CompositeNode)
getShapeRenderer()Creates and returns an object that can be used to render this shape into an image.
getSmartTag(index, isDeep)Returns an Nth child SmartTag node.
(Inherited from CompositeNode)
getTable(index, isDeep)Returns an Nth child Table node.
(Inherited from CompositeNode)
getText()Gets the text of this node and of all its children.
(Inherited from Node)
indexOf(child)Returns the index of the specified child node in the child node array.
(Inherited from CompositeNode)
insertAfter(newChild, refChild)Inserts the specified node immediately after the specified reference node.
(Inherited from CompositeNode)
insertBefore(newChild, refChild)Inserts the specified node immediately before the specified reference node.
(Inherited from CompositeNode)
localToParent(value)Converts a value from the local coordinate space into the coordinate space of the parent shape.
nextPreOrder(rootNode)Gets next node according to the pre-order tree traversal algorithm.
(Inherited from Node)
nodeTypeToString(nodeType)A utility method that converts a node type enum value into a user friendly string.
(Inherited from Node)
prependChild(newChild)Adds the specified node to the beginning of the list of child nodes for this node.
(Inherited from CompositeNode)
previousPreOrder(rootNode)Gets the previous node according to the pre-order tree traversal algorithm.
(Inherited from Node)
referenceEquals(other)
(Inherited from Node)
remove()Removes itself from the parent.
(Inherited from Node)
removeAllChildren()Removes all the child nodes of the current node.
(Inherited from CompositeNode)
removeChild(oldChild)Removes the specified child node.
(Inherited from CompositeNode)
removeSmartTags()Removes all SmartTag descendant nodes of the current node.
(Inherited from CompositeNode)
selectNodes(xpath)Selects a list of nodes matching the XPath expression.
(Inherited from CompositeNode)
selectSingleNode(xpath)Selects the first Node that matches the XPath expression.
(Inherited from CompositeNode)
toString(saveFormat)Exports the content of the node into a string in the specified format.
(Inherited from Node)
toString(saveOptions)Exports the content of the node into a string using the specified save options.
(Inherited from Node)

Examples

Shows how to insert a floating image to the center of a page.

let doc = new aw.Document();
let builder = new aw.DocumentBuilder(doc);

// Insert a floating image that will appear behind the overlapping text and align it to the page's center.
let shape = builder.insertImage(base.imageDir + "Logo.jpg");
shape.wrapType = aw.Drawing.WrapType.None;
shape.behindText = true;
shape.relativeHorizontalPosition = aw.Drawing.RelativeHorizontalPosition.Page;
shape.relativeVerticalPosition = aw.Drawing.RelativeVerticalPosition.Page;
shape.horizontalAlignment = aw.Drawing.HorizontalAlignment.Center;
shape.verticalAlignment = aw.Drawing.VerticalAlignment.Center;

doc.save(base.artifactsDir + "Image.CreateFloatingPageCenter.docx");

See Also