Class Shape

  • A Shape represents a generic page element in Google Slides that can be a text box, rectangle, or other predefined shapes.

  • Shapes have methods to control their position, size, rotation, layering, and linking within a presentation.

  • You can access and modify the autofit, border, content alignment, description, fill, and text properties of a shape.

  • Shapes can be duplicated, removed, or replaced with images or Google Sheets charts.

  • Methods for manipulating shapes require specific authorization scopes.

Shape

APageElement representing a generic shape that does not have a more specificclassification. Includes text boxes, rectangles, and other predefined shapes.

Methods

MethodReturn typeBrief description
alignOnPage(alignmentPosition)ShapeAligns the element to the specified alignment position on the page.
bringForward()ShapeBrings the page element forward on the page by one element.
bringToFront()ShapeBrings the page element to the front of the page.
duplicate()PageElementDuplicates the page element.
getAutofit()Autofit|nullReturns theAutofit of the text within this shape.
getBorder()BorderReturns theBorder of the shape.
getConnectionSites()ConnectionSite[]Returns the list ofConnectionSites on the page element, or an empty list if the pageelement does not have any connection sites.
getContentAlignment()ContentAlignmentReturns theContentAlignment of the text in the shape.
getDescription()StringReturns the page element's alt text description.
getFill()FillReturns theFill of the shape.
getHeight()Number|nullGets the element's height in points, which is the height of the element's bounding box when theelement has no rotation.
getInherentHeight()Number|nullReturns the element's inherent height in points.
getInherentWidth()Number|nullReturns the element's inherent width in points.
getLeft()NumberReturns the element's horizontal position in points, measured from the upper-left corner of thepage when the element has no rotation.
getLink()Link|nullReturns theLink ornull if there is no link.
getObjectId()StringReturns the unique ID for this object.
getPageElementType()PageElementTypeReturns the page element's type, represented as aPageElementType enum.
getParentGroup()Group|nullReturns the group this page element belongs to, ornull if the element is not in agroup.
getParentPage()PageReturns the page this page element is on.
getParentPlaceholder()PageElement|nullReturns the parent page element of the placeholder.
getPlaceholderIndex()Integer|nullReturns the placeholder index of the shape.
getPlaceholderType()PlaceholderTypeReturns the placeholder type of the shape, orPlaceholderType.NONE if the shape is nota placeholder.
getRotation()NumberReturns the element's clockwise rotation angle around its center in degrees, where zero degreesmeans no rotation.
getShapeType()ShapeTypeReturns the type of the shape.
getText()TextRangeReturns the text content of the shape.
getTitle()StringReturns the page element's alt text title.
getTop()NumberGets the element's vertical position in points, measured from the upper-left corner of the pagewhen the element has no rotation.
getTransform()AffineTransformReturns the page element's transform.
getWidth()Number|nullReturns the element's width in points, which is the width of the element's bounding box whenthe element has no rotation.
preconcatenateTransform(transform)ShapePreconcatenates the provided transform to the existing transform of the page element.
remove()voidRemoves the page element.
removeLink()voidRemoves aLink.
replaceWithImage(blobSource)ImageReplaces this shape with an image provided by aBlobSource.
replaceWithImage(blobSource, crop)ImageReplaces this shape with an image provided by aBlobSource.
replaceWithImage(imageUrl)ImageReplaces this shape with an image.
replaceWithImage(imageUrl, crop)ImageReplaces this shape with an image.
replaceWithSheetsChart(sourceChart)SheetsChartReplaces this shape with a Google Sheets chart.
replaceWithSheetsChartAsImage(sourceChart)ImageReplaces this shape with an image of a Google Sheets chart.
scaleHeight(ratio)ShapeScales the element's height by the specified ratio.
scaleWidth(ratio)ShapeScales the element's width by the specified ratio.
select()voidSelects only thePageElement in the active presentation and removes any previousselection.
select(replace)voidSelects thePageElement in the active presentation.
sendBackward()ShapeSends the page element backward on the page by one element.
sendToBack()ShapeSends the page element to the back of the page.
setContentAlignment(contentAlignment)ShapeSets theContentAlignment of the text in the shape.
setDescription(description)ShapeSets the page element's alt text description.
setHeight(height)ShapeSets the element's height in points, which is the height of the element's bounding box when theelement has no rotation.
setLeft(left)ShapeSets the element's horizontal position in points, measured from the upper-left corner of thepage when the element has no rotation.
setLinkSlide(slideIndex)LinkSets aLink to the givenSlide using the zero-based index of the slide.
setLinkSlide(slide)LinkSets aLink to the givenSlide, the link is set by the given slide ID.
setLinkSlide(slidePosition)LinkSets aLink to the givenSlide using the relative position of the slide.
setLinkUrl(url)LinkSets aLink to the given non-empty URL string.
setRotation(angle)ShapeSets the element's clockwise rotation angle around its center in degrees.
setTitle(title)ShapeSets the page element's alt text title.
setTop(top)ShapeSets the element's vertical position in points, measured from the upper-left corner of the pagewhen the element has no rotation.
setTransform(transform)ShapeSets the transform of the page element with the provided transform.
setWidth(width)ShapeSets the element's width in points, which is the width of the element's bounding box when theelement has no rotation.

Detailed documentation

alignOnPage(alignmentPosition)

Aligns the element to the specified alignment position on the page.

Parameters

NameTypeDescription
alignmentPositionAlignmentPositionThe position to align this page element to on the page.

Return

Shape — This page element, for chaining.


bringForward()

Brings the page element forward on the page by one element.

The page element must not be in a group.

Return

Shape — This page element, for chaining.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

bringToFront()

Brings the page element to the front of the page.

The page element must not be in a group.

Return

Shape — This page element, for chaining.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

duplicate()

Duplicates the page element.

The duplicate page element is placed on the same page at the same position as the original.

Return

PageElement — The new duplicate of this page element.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

getAutofit()

Returns theAutofit of the text within this shape. This isnull if the shapedoesn't allow text.

Return

Autofit|null — The autofit of the text within this shape.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

getBorder()

Returns theBorder of the shape.

Return

Border — The border setting of this shape.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

getConnectionSites()

Returns the list ofConnectionSites on the page element, or an empty list if the pageelement does not have any connection sites.

Return

ConnectionSite[] — The connection sites list, which may be empty if this element has no connection sites.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

getContentAlignment()

Returns theContentAlignment of the text in the shape.

Return

ContentAlignment — The alignment of text within this shape.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

getDescription()

Returns the page element's alt text description. The description is combined with the title todisplay and read alt text.

Return

String — The page element's alt text description.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

getFill()

Returns theFill of the shape.

Return

Fill — The fill setting of this shape.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

getHeight()

Gets the element's height in points, which is the height of the element's bounding box when theelement has no rotation.

This method isn't compatible with all page elements. To learn which page elements aren'tcompatible with this method, refer to thesizing and positioning limitations.

Return

Number|null — The page element's inherent height in points, ornull if the page element does not have a height.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

getInherentHeight()

Returns the element's inherent height in points.

The page element's transform is relative to its inherent size. Use the inherent size inconjunction with the element's transform to determine the element's final visual appearance.

Return

Number|null — The page element's inherent height in points, ornull if the page element does not have a height.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

getInherentWidth()

Returns the element's inherent width in points.

The page element's transform is relative to its inherent size. Use the inherent size inconjunction with the element's transform to determine the element's final visual appearance.

Return

Number|null — The page element's inherent width in points, ornull if the page element does not have a width.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

getLeft()

Returns the element's horizontal position in points, measured from the upper-left corner of thepage when the element has no rotation.

Return

Number — This element's horizontal position in points, from the upper-left corner of the page.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

getLink()

Returns theLink ornull if there is no link.

constshape=SlidesApp.getActivePresentation().getSlides()[0].getShapes()[0];constlink=shape.getLink();if(link!=null){Logger.log(`Shape has a link of type:${link.getLinkType()}`);}

Return

Link|null — TheLink ornull if there is no link.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

getObjectId()

Returns the unique ID for this object. Object IDs used by pages and page elements share thesame namespace.

Return

String — The unique ID for this object.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

getPageElementType()

Returns the page element's type, represented as aPageElementType enum.

Return

PageElementType — The page element's type.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

getParentGroup()

Returns the group this page element belongs to, ornull if the element is not in agroup.

Return

Group|null — The group this page element belongs to, ornull.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

getParentPage()

Returns the page this page element is on.

Return

Page — The page this element resides on.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

getParentPlaceholder()

Returns the parent page element of the placeholder. Returnsnull if the shape is not aplaceholder or has no parent.

Return

PageElement|null — The parent page element of this shape placeholder, ornull if this shape is not a placeholder or doesn't have a parent.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

getPlaceholderIndex()

Returns the placeholder index of the shape. If two or more instances of the same placeholdertypes are present in the same page, they each have their own unique index value. Returnsnull if the shape is not a placeholder.

Return

Integer|null — This shape's placeholder index, ornull if the shape is not a placeholder.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

getPlaceholderType()

Returns the placeholder type of the shape, orPlaceholderType.NONE if the shape is nota placeholder.

Return

PlaceholderType — The placeholder type of this shape.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

getRotation()

Returns the element's clockwise rotation angle around its center in degrees, where zero degreesmeans no rotation.

Return

Number — The rotation angle in degrees between 0 (inclusive) and 360 (exclusive).

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

getShapeType()

Returns the type of the shape.

Return

ShapeType — The type of this shape.


getText()

Returns the text content of the shape.

Text within a shape always terminates with a newline character.

Return

TextRange — The text content of this shape.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

getTitle()

Returns the page element's alt text title. The title is combined with the description todisplay and read alt text.

Return

String — The page element's alt text title.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

getTop()

Gets the element's vertical position in points, measured from the upper-left corner of the pagewhen the element has no rotation.

Return

Number — This element's vertical position in points, from the upper-left corner of the page.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

getTransform()

Returns the page element's transform.

The visual appearance of the page element is determined by its absolute transform. Tocompute the absolute transform, preconcatenate a page element's transform with the transformsof all of its parent groups. If the page element is not in a group, its absolute transform isthe same as the value in this field.

Return

AffineTransform — The page element's transform.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

getWidth()

Returns the element's width in points, which is the width of the element's bounding box whenthe element has no rotation.

This method isn't compatible with all page elements. To learn which page elements aren'tcompatible with this method, refer to thesizing and positioning limitations.

Return

Number|null — The page element's inherent width in points, ornull if the page element does not have a width.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

preconcatenateTransform(transform)

Preconcatenates the provided transform to the existing transform of the page element.

newTransform = argument * existingTransform;

For example, to move a page elements 36 points to the left:

constelement=SlidesApp.getActivePresentation().getSlides()[0].getPageElements()[0];element.preconcatenateTransform(SlidesApp.newAffineTransformBuilder().setTranslateX(-36.0).build(),);

You can also replace the page element's transform withsetTransform(transform).

Parameters

NameTypeDescription
transformAffineTransformThe transform to preconcatenate onto this page element's transform.

Return

Shape — This page element, for chaining.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

remove()

Removes the page element.

If after a remove operation, aGroup contains only one or no page elements, thegroup itself is also removed.

If a placeholderPageElement is removed on a master or layout, any empty inheritingplaceholders are also removed.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

removeLink()

Removes aLink.

constslides=SlidesApp.getActivePresentation().getSlides();slides[1].getShapes()[0].removeLink();

replaceWithImage(blobSource)

Replaces this shape with an image provided by aBlobSource.

The image is fetched from the providedBlobSource once at insertion time and a copyis stored for display inside the presentation. Images must be less than 50MB in size, cannotexceed 25 megapixels, and must be in PNG, JPEG, or GIF format.

In order to maintain the image's aspect ratio, the image is scaled and centered with respectto the size of the existing shape.

constshape=SlidesApp.getActivePresentation().getSlides()[0].getShapes()[0];// Get the Drive image file with the given ID.constdriveImage=DriveApp.getFileById('123abc');shape.replaceWithImage(driveImage);

Parameters

NameTypeDescription
blobSourceBlobSourceThe image data.

Return

Image — TheImage that replaced the shape.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

replaceWithImage(blobSource, crop)

Replaces this shape with an image provided by aBlobSource.

Inserting the image fetches it from theBlobSource once and a copy is stored fordisplay inside the presentation. Images must be less than 50MB in size, cannot exceed 25megapixels, and must be in either in PNG, JPEG, or GIF format.

constshape=SlidesApp.getActivePresentation().getSlides()[0].getShapes()[0];// Get the Drive image file with the given ID.constdriveImage=DriveApp.getFileById('123abc');// Replace and crop the replaced image.shape.replaceWithImage(driveImage,true);

Parameters

NameTypeDescription
blobSourceBlobSourceThe image data.
cropBooleanIftrue, crops the image to fit the existing shape's size. Otherwise, the image is scaled and centered.

Return

Image — TheImage that replaced the shape.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

replaceWithImage(imageUrl)

Replaces this shape with an image.

Inserting the image fetches it from the URL once and a copy is stored for display inside thepresentation. Images must be less than 50MB in size, cannot exceed 25 megapixels, and must bein either in PNG, JPEG, or GIF format.

The provided URL must be publicly accessible and no larger than 2kB. The URL itself is savedwith the image and exposed viaImage.getSourceUrl().

In order to maintain the image's aspect ratio, the image is scaled and centered with respectto the size of the existing shape.

Parameters

NameTypeDescription
imageUrlStringThe image URL to download the image from.

Return

Image — TheImage that replaced the shape.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

replaceWithImage(imageUrl, crop)

Replaces this shape with an image.

Inserting the image fetches it from the URL once and a copy is stored for display inside thepresentation. Images must be less than 50MB in size, cannot exceed 25 megapixels, and must bein either in PNG, JPEG, or GIF format.

The provided URL must be no larger than 2kB. The URL itself is saved with the image andexposed viaImage.getSourceUrl().

Parameters

NameTypeDescription
imageUrlStringThe image URL to download the image from.
cropBooleanIftrue, crops the image to fit the existing shape's size. Otherwise, the image is scaled and centered.

Return

Image — TheImage that replaced the shape.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

replaceWithSheetsChart(sourceChart)

Replaces this shape with a Google Sheets chart.

The chart is linked with the source Google Sheets chart which allows it to be updated. Othercollaborators can see the link to the source spreadsheet.

constsheet=SpreadsheetApp.openById('spreadsheetId').getSheets()[0];constchart=sheet.getCharts()[0];// Replace the shape with the Sheets chart.constshape=SlidesApp.getActivePresentation().getSlides()[0].getShapes()[0];shape.replaceWithSheetsChart(chart);

Parameters

NameTypeDescription
sourceChartEmbeddedChartThe chart in a spreadsheet that replaces the shape.

Return

SheetsChart — The chart that replaced the shape.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

replaceWithSheetsChartAsImage(sourceChart)

Replaces this shape with an image of a Google Sheets chart.

In order to maintain the Google Sheets chart's aspect ratio, the chart image is scaled andcentered with respect to the size of the existing shape.

The image of the chart is not linked with the source Google Sheets chart.

constsheet=SpreadsheetApp.openById('spreadsheetId').getSheets()[0];constchart=sheet.getCharts()[0];// Replace the shape with the Sheets chart as an image.constshape=SlidesApp.getActivePresentation().getSlides()[0].getShapes()[0];shape.replaceWithSheetsChartAsImage(chart);

Parameters

NameTypeDescription
sourceChartEmbeddedChartThe chart in a spreadsheet that replaces the shape.

Return

Image — The image of the chart that replaced the shape.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

scaleHeight(ratio)

Scales the element's height by the specified ratio. The element's height is the height of itsbounding box when the element has no rotation.

This method isn't compatible with all page elements. To learn which page elements aren'tcompatible with this method, refer to thesizing and positioning limitations.

Parameters

NameTypeDescription
ratioNumberThe ratio to scale this page element's height by.

Return

Shape — This page element, for chaining.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

scaleWidth(ratio)

Scales the element's width by the specified ratio. The element's width is the width of itsbounding box when the element has no rotation.

This method isn't compatible with all page elements. To learn which page elements aren'tcompatible with this method, refer to thesizing and positioning limitations.

Parameters

NameTypeDescription
ratioNumberThe ratio to scale this page element's width by.

Return

Shape — This page element, for chaining.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

select()

Selects only thePageElement in the active presentation and removes any previousselection. This is the same as callingselect(replace) withtrue.

A script can only access the selection of the user who is running the script, and only ifthe script isbound to the presentation.

This sets the parentPage of thePageElement as thecurrent page selection.

constslide=SlidesApp.getActivePresentation().getSlides()[0];constpageElement=slide.getPageElements()[0];// Only select this page element and replace any previous selection.pageElement.select();

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

select(replace)

Selects thePageElement in the active presentation.

A script can only access the selection of the user who is running the script, and only ifthe script isbound to the presentation.

Passtrue to this method to select only thePageElement and remove anyprevious selection. This also sets the parentPage of thePageElement as thecurrent page selection.

Passfalse to select multiplePageElement objects. ThePageElementobjects must be in the samePage.

The following conditions must be met while selecting a page element using afalseparameter:

  1. The parentPage of thePageElement object must be thecurrent page selection.
  2. There should not be multiplePage objects selected.

To make sure that’s the case the preferred approach is to select the parentPagefirst usingPage.selectAsCurrentPage() and then select the page elements in that page.

constslide=SlidesApp.getActivePresentation().getSlides()[0];// First select the slide page, as the current page selection.slide.selectAsCurrentPage();// Then select all the page elements in the selected slide page.constpageElements=slide.getPageElements();for(leti=0;i <pageElements.length;i++){pageElements[i].select(false);}

Parameters

NameTypeDescription
replaceBooleanIftrue, the selection replaces any previous selection; otherwise the selection is added to any previous selection.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

sendBackward()

Sends the page element backward on the page by one element.

The page element must not be in a group.

Return

Shape — This page element, for chaining.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

sendToBack()

Sends the page element to the back of the page.

The page element must not be in a group.

Return

Shape — This page element, for chaining.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

setContentAlignment(contentAlignment)

Sets theContentAlignment of the text in the shape.

This method automatically deactivates text autofit properties on the updated shapes.

Parameters

NameTypeDescription
contentAlignmentContentAlignmentThe alignment to set.

Return

Shape — This shape, for chaining.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

setDescription(description)

Sets the page element's alt text description.

The method is not supported forGroup elements.

// Set the first page element's alt text description to "new alt text// description".constpageElement=SlidesApp.getActivePresentation().getSlides()[0].getPageElements()[0];pageElement.setDescription('new alt text description');Logger.log(pageElement.getDescription());

Parameters

NameTypeDescription
descriptionStringThe string to set the alt text description to.

Return

Shape — This page element.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

setHeight(height)

Sets the element's height in points, which is the height of the element's bounding box when theelement has no rotation.

This method isn't compatible with all page elements. To learn which page elements aren'tcompatible with this method, refer to thesizing and positioning limitations.

Parameters

NameTypeDescription
heightNumberThe new height of this page element to set, in points.

Return

Shape — This page element, for chaining.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

setLeft(left)

Sets the element's horizontal position in points, measured from the upper-left corner of thepage when the element has no rotation.

Parameters

NameTypeDescription
leftNumberThe new horizontal position to set, in points.

Return

Shape — This page element, for chaining.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

setLinkSlide(slideIndex)

Sets aLink to the givenSlide using the zero-based index of the slide.

// Set a link to the first slide of the presentation.constslides=SlidesApp.getActivePresentation().getSlides();constshape=slides[1].getShapes()[0];constlink=shape.setLinkSlide(0);

Parameters

NameTypeDescription
slideIndexIntegerThe zero-based index to the slide.

Return

Link — TheLink that was set.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

setLinkSlide(slide)

Sets aLink to the givenSlide, the link is set by the given slide ID.

// Set a link to the first slide of the presentation.constslides=SlidesApp.getActivePresentation().getSlides();constshape=slides[1].getShapes()[0];constlink=shape.setLinkSlide(slides[0]);

Parameters

NameTypeDescription
slideSlideTheSlide to be linked.

Return

Link — TheLink that was set.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

setLinkSlide(slidePosition)

Sets aLink to the givenSlide using the relative position of the slide.

// Set a link to the first slide of the presentation.constslides=SlidesApp.getActivePresentation().getSlides();constshape=slides[1].getShapes()[0];constlink=shape.setLinkSlide(SlidesApp.SlidePosition.FIRST_SLIDE);

Parameters

NameTypeDescription
slidePositionSlidePositionThe relativeSlidePosition.

Return

Link — TheLink that was set.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

setLinkUrl(url)

Sets aLink to the given non-empty URL string.

// Set a link to the URL.constslides=SlidesApp.getActivePresentation().getSlides();constshape=slides[1].getShapes()[0];constlink=shape.setLinkUrl('https://slides.google.com');

Parameters

NameTypeDescription
urlStringThe URL string.

Return

Link — TheLink that was set.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

setRotation(angle)

Sets the element's clockwise rotation angle around its center in degrees.

This method isn't compatible with all page elements. To learn which page elements aren'tcompatible with this method, refer to thesizing and positioning limitations.

Parameters

NameTypeDescription
angleNumberThe new clockwise rotation angle to set, in degrees.

Return

Shape — This page element, for chaining.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

setTitle(title)

Sets the page element's alt text title.

The method is not supported forGroup elements.

// Set the first page element's alt text title to "new alt text title".constpageElement=SlidesApp.getActivePresentation().getSlides()[0].getPageElements()[0];pageElement.setTitle('new alt text title');Logger.log(pageElement.getTitle());

Parameters

NameTypeDescription
titleStringThe string to set the alt text title to.

Return

Shape — This page element.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

setTop(top)

Sets the element's vertical position in points, measured from the upper-left corner of the pagewhen the element has no rotation.

Parameters

NameTypeDescription
topNumberThe new vertical position to set, in points.

Return

Shape — This page element, for chaining.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

setTransform(transform)

Sets the transform of the page element with the provided transform.

Updating the transform of a group changes the absolute transform of the page elements inthat group, which can change their visual appearance.

Updating the transform of a page element that is in a group only changes the transform ofthat page element; it doesn't affect the transforms of the group or other page elements in thegroup.

For details on how transforms impact the visual appearance of page elements, seegetTransform().

Parameters

NameTypeDescription
transformAffineTransformThe transform that is set for this page element.

Return

Shape — This element, for chaining.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

setWidth(width)

Sets the element's width in points, which is the width of the element's bounding box when theelement has no rotation.

This method isn't compatible with all page elements. To learn which page elements aren'tcompatible with this method, refer to thesizing and positioning limitations.

Parameters

NameTypeDescription
widthNumberThe new width of this page element to set, in points.

Return

Shape — This page element, for chaining.

Authorization

Scripts that use this method require authorization with one or more of the followingscopes:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025-12-11 UTC.