Class PageElement  |  Apps Script  |  Google for Developers (original) (raw)

Skip to main content

Class PageElement

Stay organized with collections Save and categorize content based on your preferences.

PageElement

A visual element rendered on a page.

Methods

Method Return type Brief description
alignOnPage(alignmentPosition) PageElement Aligns the element to the specified alignment position on the page.
asGroup() Group Returns the page element as a group.
asImage() Image Returns the page element as an image.
asLine() Line Returns the page element as a line.
asShape() Shape Returns the page element as a shape.
asSheetsChart() SheetsChart Returns the page element as a linked chart embedded from Google Sheets.
asSpeakerSpotlight() SpeakerSpotlight Returns the page element as a speaker spotlight.
asTable() Table Returns the page element as a table.
asVideo() Video Returns the page element as a video.
asWordArt() WordArt Returns the page element as word art.
bringForward() PageElement Brings the page element forward on the page by one element.
bringToFront() PageElement Brings the page element to the front of the page.
duplicate() PageElement Duplicates the page element.
getConnectionSites() ConnectionSite[] Returns the list of ConnectionSites on the page element, or an empty list if the page element does not have any connection sites.
getDescription() String Returns the page element's alt text description.
getHeight() Number Gets the element's height in points, which is the height of the element's bounding box when the element has no rotation.
getInherentHeight() Number Returns the element's inherent height in points.
getInherentWidth() Number Returns the element's inherent width in points.
getLeft() Number Returns the element's horizontal position in points, measured from the upper-left corner of the page when the element has no rotation.
getObjectId() String Returns the unique ID for this object.
getPageElementType() PageElementType Returns the page element's type, represented as a PageElementType enum.
getParentGroup() Group Returns the group this page element belongs to, or null if the element is not in a group.
getParentPage() Page Returns the page this page element is on.
getRotation() Number Returns the element's clockwise rotation angle around its center in degrees, where zero degrees means no rotation.
getTitle() String Returns the page element's alt text title.
getTop() Number Gets the element's vertical position in points, measured from the upper-left corner of the page when the element has no rotation.
getTransform() AffineTransform Returns the page element's transform.
getWidth() Number Returns the element's width in points, which is the width of the element's bounding box when the element has no rotation.
preconcatenateTransform(transform) PageElement Preconcatenates the provided transform to the existing transform of the page element.
remove() void Removes the page element.
scaleHeight(ratio) PageElement Scales the element's height by the specified ratio.
scaleWidth(ratio) PageElement Scales the element's width by the specified ratio.
select() void Selects only the PageElement in the active presentation and removes any previous selection.
select(replace) void Selects the PageElement in the active presentation.
sendBackward() PageElement Sends the page element backward on the page by one element.
sendToBack() PageElement Sends the page element to the back of the page.
setDescription(description) PageElement Sets the page element's alt text description.
setHeight(height) PageElement Sets the element's height in points, which is the height of the element's bounding box when the element has no rotation.
setLeft(left) PageElement Sets the element's horizontal position in points, measured from the upper-left corner of the page when the element has no rotation.
setRotation(angle) PageElement Sets the element's clockwise rotation angle around its center in degrees.
setTitle(title) PageElement Sets the page element's alt text title.
setTop(top) PageElement Sets the element's vertical position in points, measured from the upper-left corner of the page when the element has no rotation.
setTransform(transform) PageElement Sets the transform of the page element with the provided transform.
setWidth(width) PageElement Sets the element's width in points, which is the width of the element's bounding box when the element has no rotation.

Detailed documentation

alignOnPage(alignmentPosition)

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

Parameters

Name Type Description
alignmentPosition AlignmentPosition The position to align this page element to on the page.

Return

[PageElement](#) — This page element, for chaining.


asGroup()

Returns the page element as a group.

Return

[Group](/apps-script/reference/slides/group) — This page element as a group.

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


asImage()

Returns the page element as an image.

Return

[Image](/apps-script/reference/slides/image) — This page element as an image.

Authorization

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


asLine()

Returns the page element as a line.

Return

[Line](/apps-script/reference/slides/line) — This page element as a line.

Authorization

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


asShape()

Returns the page element as a shape.

Return

[Shape](/apps-script/reference/slides/shape) — This page element as a shape.

Authorization

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


asSheetsChart()

Returns the page element as a linked chart embedded from Google Sheets.

Return

[SheetsChart](/apps-script/reference/slides/sheets-chart) — The page element as a chart.

Authorization

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


asSpeakerSpotlight()

Returns the page element as a speaker spotlight.

const slide = SlidesApp.getActivePresentation().getSlides()[0]; const pageElement = slide.getPageElements()[0]; pageElement.asSpeakerSpotlight();

Return

[SpeakerSpotlight](/apps-script/reference/slides/speaker-spotlight) — The page element as a speaker spotlight.

Authorization

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


asTable()

Returns the page element as a table.

Return

[Table](/apps-script/reference/slides/table) — This page element as a table.

Authorization

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


asVideo()

Returns the page element as a video.

Return

[Video](/apps-script/reference/slides/video) — This page element as a video.

Authorization

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


asWordArt()

Returns the page element as word art.

Return

[WordArt](/apps-script/reference/slides/word-art) — This page element as word art.

Authorization

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


bringForward()

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

The page element must not be in a group.

Return

[PageElement](#) — This page element, for chaining.

Authorization

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


bringToFront()

Brings the page element to the front of the page.

The page element must not be in a group.

Return

[PageElement](#) — This page element, for chaining.

Authorization

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


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 following scopes:


getConnectionSites()

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

Return

[ConnectionSite[]](/apps-script/reference/slides/connection-site) — 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 following scopes:


getDescription()

Returns the page element's alt text description. The description is combined with the title to display 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 following scopes:


getHeight()

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

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

Return

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

Authorization

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


getInherentHeight()

Returns the element's inherent height in points.

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

Return

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

Authorization

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


getInherentWidth()

Returns the element's inherent width in points.

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

Return

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

Authorization

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


getLeft()

Returns the element's horizontal position in points, measured from the upper-left corner of the page 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 following scopes:


getObjectId()

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

Return

String — The unique ID for this object.

Authorization

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


getPageElementType()

Returns the page element's type, represented as a [PageElementType](/apps-script/reference/slides/page-element-type) enum.

Return

[PageElementType](/apps-script/reference/slides/page-element-type) — The page element's type.

Authorization

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


getParentGroup()

Returns the group this page element belongs to, or null if the element is not in a group.

Return

[Group](/apps-script/reference/slides/group) — The group this page element belongs to, or null.

Authorization

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


getParentPage()

Returns the page this page element is on.

Return

[Page](/apps-script/reference/slides/page) — The page this element resides on.

Authorization

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


getRotation()

Returns the element's clockwise rotation angle around its center in degrees, where zero degrees means 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 following scopes:


getTitle()

Returns the page element's alt text title. The title is combined with the description to display 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 following scopes:


getTop()

Gets the element's vertical position in points, measured from the upper-left corner of the page when 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 following scopes:


getTransform()

Returns the page element's transform.

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

Return

[AffineTransform](/apps-script/reference/slides/affine-transform) — The page element's transform.

Authorization

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


getWidth()

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

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

Return

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

Authorization

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


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:

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

You can also replace the page element's transform with [setTransform(transform)](#setTransform%28AffineTransform%29).

Parameters

Name Type Description
transform AffineTransform The transform to preconcatenate onto this page element's transform.

Return

[PageElement](#) — This page element, for chaining.

Authorization

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


remove()

Removes the page element.

If after a remove operation, a Group contains only one or no page elements, the group itself is also removed.

If a placeholder PageElement is removed on a master or layout, any empty inheriting placeholders are also removed.

Authorization

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


scaleHeight(ratio)

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

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

Parameters

Name Type Description
ratio Number The ratio to scale this page element's height by.

Return

[PageElement](#) — This page element, for chaining.

Authorization

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


scaleWidth(ratio)

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

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

Parameters

Name Type Description
ratio Number The ratio to scale this page element's width by.

Return

[PageElement](#) — This page element, for chaining.

Authorization

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


select()

Selects only the [PageElement](#) in the active presentation and removes any previous selection. This is the same as calling [select(replace)](#select%28Boolean%29) with true.

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

This sets the parent [Page](/apps-script/reference/slides/page) of the [PageElement](#) as the [current page selection](/apps-script/reference/slides/selection#getCurrentPage%28%29).

const slide = SlidesApp.getActivePresentation().getSlides()[0]; const pageElement = 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 following scopes:


select(replace)

Selects the [PageElement](#) in the active presentation.

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

Pass true to this method to select only the [PageElement](#) and remove any previous selection. This also sets the parent [Page](/apps-script/reference/slides/page) of the [PageElement](#) as the[current page selection](/apps-script/reference/slides/selection#getCurrentPage%28%29).

Pass false to select multiple [PageElement](#) objects. The [PageElement](#)objects must be in the same [Page](/apps-script/reference/slides/page).

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

  1. The parent [Page](/apps-script/reference/slides/page) of the [PageElement](#) object must be the [current page selection](/apps-script/reference/slides/selection#getCurrentPage%28%29).
  2. There should not be multiple [Page](/apps-script/reference/slides/page) objects selected.

To make sure that’s the case the preferred approach is to select the parent [Page](/apps-script/reference/slides/page)first using [Page.selectAsCurrentPage()](/apps-script/reference/slides/page#selectAsCurrentPage%28%29) and then select the page elements in that page.

const slide = 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. const pageElements = slide.getPageElements(); for (let i = 0; i < pageElements.length; i++) { pageElements[i].select(false); }

Parameters

Name Type Description
replace Boolean If true, 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 following scopes:


sendBackward()

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

The page element must not be in a group.

Return

[PageElement](#) — This page element, for chaining.

Authorization

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


sendToBack()

Sends the page element to the back of the page.

The page element must not be in a group.

Return

[PageElement](#) — This page element, for chaining.

Authorization

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


setDescription(description)

Sets the page element's alt text description.

The method is not supported for [Group](/apps-script/reference/slides/group) elements.

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

Parameters

Name Type Description
description String The string to set the alt text description to.

Return

[PageElement](#) — This page element.

Authorization

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


setHeight(height)

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

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

Parameters

Name Type Description
height Number The new height of this page element to set, in points.

Return

[PageElement](#) — This page element, for chaining.

Authorization

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


setLeft(left)

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

Parameters

Name Type Description
left Number The new horizontal position to set, in points.

Return

[PageElement](#) — This page element, for chaining.

Authorization

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


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't compatible with this method, refer to the sizing and positioning limitations.

Parameters

Name Type Description
angle Number The new clockwise rotation angle to set, in degrees.

Return

[PageElement](#) — This page element, for chaining.

Authorization

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


setTitle(title)

Sets the page element's alt text title.

The method is not supported for [Group](/apps-script/reference/slides/group) elements.

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

Parameters

Name Type Description
title String The string to set the alt text title to.

Return

[PageElement](#) — This page element.

Authorization

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


setTop(top)

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

Parameters

Name Type Description
top Number The new vertical position to set, in points.

Return

[PageElement](#) — This page element, for chaining.

Authorization

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


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 in that group, which can change their visual appearance.

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

For details on how transforms impact the visual appearance of page elements, see [getTransform()](#getTransform%28%29).

Parameters

Name Type Description
transform AffineTransform The transform that is set for this page element.

Return

[PageElement](#) — This element, for chaining.

Authorization

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


setWidth(width)

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

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

Parameters

Name Type Description
width Number The new width of this page element to set, in points.

Return

[PageElement](#) — This page element, for chaining.

Authorization

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

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

Last updated 2024-12-03 UTC.