Class TextStyle

  • Read methods in this class return null if the corresponding TextRange spans multiple text runs with different style values.

  • To accurately query text styles across multiple text runs, use the TextRange.getRuns() method.

  • Using methods that edit how text fits within a shape will deactivate any autofit settings applied to the text styles.

  • The TextStyle class provides methods to get and set various text formatting properties such as color, font, size, weight, and style options like bold, italic, and underline.

  • You can set or remove links on the text using methods like setLinkSlide, setLinkUrl, and removeLink.

TextStyle

The style of text.

Read methods in this class return null if the corresponding TextRange spans multiple text runs, and those runs have different values for the read method being called. To avoid this, query for text styles using the TextRanges returned by the TextRange.getRuns() method.

If you use methods that edit how text fits within a shape, any autofit settings applied to the text styles are deactivated.

Methods

MethodReturn typeBrief description
getBackgroundColor()Color|nullReturns the background color of the text, or null if there are multiple styles on the text.
getBaselineOffset()TextBaselineOffset|nullReturns the vertical offset of text from its normal position, or null if there are multiple styles on the text.
getFontFamily()String|nullReturns the font family of the text, or null if there are multiple styles on the text.
getFontSize()Number|nullReturns the font size of the text in points, or null if there are multiple styles on the text.
getFontWeight()Integer|nullReturns the font weight of the text, or null if there are multiple styles on the text.
getForegroundColor()Color|nullReturns the foreground color of the text, or null if there are multiple styles on the text.
getLink()Link|nullReturns the Link on the text, or null if there is no link or if the link is on part of the text or if there are multiple links.
hasLink()Boolean|nullReturns true if there is link on the text, false if not, or null if the link is on part of the text or there are multiple links.
isBackgroundTransparent()Boolean|nullReturns true if the background of the text is transparent, false if not, or null if there are multiple styles on the text.
isBold()Boolean|nullReturns true if the text is rendered as bold, false if not, or null if there are multiple styles on the text.
isItalic()Boolean|nullReturns true if the text is italicized, false if not, or null if there are multiple styles on the text.
isSmallCaps()Boolean|nullReturns true if the text is in small capital letters, false if not, or null if there are multiple styles on the text.
isStrikethrough()Boolean|nullReturns true if the text is struck through, false if not, or null if there are multiple styles on the text.
isUnderline()Boolean|nullReturns true if the text is underlined, false if not, or null if there are multiple styles on the text.
removeLink()TextStyleRemoves a Link.
setBackgroundColor(color)TextStyleSets the background color of the text.
setBackgroundColor(red, green, blue)TextStyleSets the background color of the text to the given RGB values from 0 to 255.
setBackgroundColor(hexColor)TextStyleSets the background color of the text to the given hex color string.
setBackgroundColor(color)TextStyleSets the background color of the text to the given ThemeColorType.
setBackgroundColorTransparent()TextStyleSets the background color of the text to transparent.
setBaselineOffset(offset)TextStyleSets the vertical offset of the text relative to its normal position.
setBold(bold)TextStyleSets whether the text should be rendered as bold.
setFontFamily(fontFamily)TextStyleSets the font family of the text .
setFontFamilyAndWeight(fontFamily, fontWeight)TextStyleSets the font family and weight of the text.
setFontSize(fontSize)TextStyleSets the font size of the text, in points.
setForegroundColor(foregroundColor)TextStyleSets the foreground color of the text.
setForegroundColor(red, green, blue)TextStyleSets the foreground color of the text to the given RGB values from 0 to 255.
setForegroundColor(hexColor)TextStyleSets the foreground color of the text to the given hex color string.
setForegroundColor(color)TextStyleSets the foreground color of the text to the given ThemeColorType.
setItalic(italic)TextStyleSets the whether the text is italicized.
setLinkSlide(slideIndex)TextStyleSets a Link to the given Slide using the zero-based index of the slide.
setLinkSlide(slide)TextStyleSets a Link to the given Slide, the link is set by the given slide ID.
setLinkSlide(slidePosition)TextStyleSets a Link to the given Slide using the relative position of the slide.
setLinkUrl(url)TextStyleSets a Link to the given non-empty URL string.
setSmallCaps(smallCaps)TextStyleSets whether the text is rendered in small capital letters.
setStrikethrough(strikethrough)TextStyleSets whether the text is struck through.
setUnderline(underline)TextStyleSets whether the text is underlined.

Detailed documentation

getBackgroundColor()

Returns the background color of the text, or null if there are multiple styles on the text.

Return

Color|null — The background color of the text.

Authorization

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

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

getBaselineOffset()

Returns the vertical offset of text from its normal position, or null if there are multiple styles on the text.

Return

TextBaselineOffset|null — The vertical offset of text from its normal position.

Authorization

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

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

getFontFamily()

Returns the font family of the text, or null if there are multiple styles on the text.

Return

String|null — The font family of the text.

Authorization

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

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

getFontSize()

Returns the font size of the text in points, or null if there are multiple styles on the text.

Return

Number|null — The font size of the text in points.

Authorization

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

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

getFontWeight()

Returns the font weight of the text, or null if there are multiple styles on the text.

The weight is a multiple of 100 between 100 and 900, inclusive. This range corresponds to the numerical values described in the CSS 2.1 Specification, section 15.6, with non-numerical values disallowed. Weights greater than or equal to 700 are considered bold, in which case isBold() returns true. The default value is 400 ("normal").

Return

Integer|null — The font weight of the text.

Authorization

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

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

getForegroundColor()

Returns the foreground color of the text, or null if there are multiple styles on the text.

Return

Color|null — The foreground color of the text.

Authorization

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

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

Returns the Link on the text, or null if there is no link or if the link is on part of the text or if there are multiple links. Call hasLink() to determine whether the text has no link.

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

Return

Link|null — The link on the text.

Authorization

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

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

Returns true if there is link on the text, false if not, or null if the link is on part of the text or there are multiple links.

Links cannot be set on newline characters. Therefore, if the TextRange contains a newline character, this method always returns either null or false.

Return

Boolean|null — Whether there is a link on the text.

Authorization

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

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

isBackgroundTransparent()

Returns true if the background of the text is transparent, false if not, or null if there are multiple styles on the text.

Return

Boolean|null — Whether the background of the text is transparent.

Authorization

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

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

isBold()

Returns true if the text is rendered as bold, false if not, or null if there are multiple styles on the text.

Return

Boolean|null — Whether the text is rendered as bold.

Authorization

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

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

isItalic()

Returns true if the text is italicized, false if not, or null if there are multiple styles on the text.

Return

Boolean|null — Whether the text is italicized.

Authorization

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

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

isSmallCaps()

Returns true if the text is in small capital letters, false if not, or null if there are multiple styles on the text.

Return

Boolean|null — Whether the text is in small capital letters.

Authorization

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

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

isStrikethrough()

Returns true if the text is struck through, false if not, or null if there are multiple styles on the text.

Return

Boolean|null — Whether the text is struck through.

Authorization

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

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

isUnderline()

Returns true if the text is underlined, false if not, or null if there are multiple styles on the text.

Return

Boolean|null — Whether the text is underlined.

Authorization

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

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

Removes a Link.

Removing a link removes the hyperlink foreground color and underline style on the text. If possible, these styles are applied to match the text preceding the link.

const textRange = SlidesApp.getActivePresentation().getSlides()[0].getShapes()[0].getText();
textRange.getTextStyle().removeLink();

Return

TextStyle — This TextStyle, for chaining.


setBackgroundColor(color)

Sets the background color of the text.

Parameters

NameTypeDescription
colorColorThe background color to set.

Return

TextStyle — This TextStyle, for chaining.

Authorization

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

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

setBackgroundColor(red, green, blue)

Sets the background color of the text to the given RGB values from 0 to 255.

Parameters

NameTypeDescription
redIntegerThe red component of the color.
greenIntegerThe green component of the color.
blueIntegerThe blue component of the color.

Return

TextStyle — This TextStyle, for chaining.

Authorization

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

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

setBackgroundColor(hexColor)

Sets the background color of the text to the given hex color string.

The hex string must be in the format '#RRGGBB'. For example, pink is represented as

Parameters

NameTypeDescription
hexColorStringThe hex color string.

Return

TextStyle — This TextStyle, for chaining.

Authorization

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

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

setBackgroundColor(color)

Sets the background color of the text to the given ThemeColorType.

Parameters

NameTypeDescription
colorThemeColorTypeThe theme color type.

Return

TextStyle — This TextStyle, for chaining.

Authorization

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

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

setBackgroundColorTransparent()

Sets the background color of the text to transparent.

Return

TextStyle — This TextStyle, for chaining.

Authorization

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

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

setBaselineOffset(offset)

Sets the vertical offset of the text relative to its normal position.

Parameters

NameTypeDescription
offsetTextBaselineOffsetThe baseline offset to set.

Return

TextStyle — This TextStyle, for chaining.

Authorization

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

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

setBold(bold)

Sets whether the text should be rendered as bold.

Parameters

NameTypeDescription
boldBooleanWhether to render the text as bold.

Return

TextStyle — This TextStyle, for chaining.

Authorization

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

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

setFontFamily(fontFamily)

Sets the font family of the text .

Parameters

NameTypeDescription
fontFamilyStringThe font family to set.

Return

TextStyle — This TextStyle, for chaining.

Authorization

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

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

setFontFamilyAndWeight(fontFamily, fontWeight)

Sets the font family and weight of the text.

Parameters

NameTypeDescription
fontFamilyStringThe font family.
fontWeightIntegerThe font weight.

Return

TextStyle — This TextStyle, for chaining.

Authorization

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

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

setFontSize(fontSize)

Sets the font size of the text, in points.

Parameters

NameTypeDescription
fontSizeNumberThe font size in points.

Return

TextStyle — This TextStyle, for chaining.

Authorization

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

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

setForegroundColor(foregroundColor)

Sets the foreground color of the text.

Parameters

NameTypeDescription
foregroundColorColorThe foreground color to set.

Return

TextStyle — This TextStyle, for chaining.

Authorization

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

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

setForegroundColor(red, green, blue)

Sets the foreground color of the text to the given RGB values from 0 to 255.

Parameters

NameTypeDescription
redIntegerThe red component of the color.
greenIntegerThe green component of the color.
blueIntegerThe blue component of the color.

Return

TextStyle — This TextStyle, for chaining.

Authorization

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

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

setForegroundColor(hexColor)

Sets the foreground color of the text to the given hex color string.

The hex string must be in the format '#RRGGBB'. For example, pink is represented as

Parameters

NameTypeDescription
hexColorStringThe hex color string.

Return

TextStyle — This TextStyle, for chaining.

Authorization

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

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

setForegroundColor(color)

Sets the foreground color of the text to the given ThemeColorType.

Parameters

NameTypeDescription
colorThemeColorTypeThe theme color type.

Return

TextStyle — This TextStyle, for chaining.

Authorization

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

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

setItalic(italic)

Sets the whether the text is italicized.

Parameters

NameTypeDescription
italicBooleanWhether to render the text as italic.

Return

TextStyle — This TextStyle, for chaining.

Authorization

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

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

setLinkSlide(slideIndex)

Sets a Link to the given Slide using the zero-based index of the slide.

Setting a link changes the style of the text to be underlined and to have a ThemeColorType.HYPERLINK foreground color. This can be changed via setForegroundColor(hexColor) and setUnderline(underline).

Since links cannot be set on newline characters, newline characters in the TextRange are ignored.

// Set a link to the first slide of the presentation.
const presentation = SlidesApp.getActivePresentation();
const slide = presentation.getSlides()[0];
const textRange = slide.getShapes()[0].getText();
textRange.getTextStyle().setLinkSlide(0);

Parameters

NameTypeDescription
slideIndexIntegerThe zero-based index to the slide.

Return

TextStyle — This TextStyle, for chaining.

Authorization

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

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

setLinkSlide(slide)

Sets a Link to the given Slide, the link is set by the given slide ID.

Setting a link changes the style of the text to be underlined and to have a ThemeColorType.HYPERLINK foreground color. This can be changed via setForegroundColor(hexColor) and setUnderline(underline).

Since links cannot be set on newline characters, newline characters in the TextRange are ignored.

// Set a link to the first slide of the presentation.
const presentation = SlidesApp.getActivePresentation();
const slide = presentation.getSlides()[0];
const textRange = slide.getShapes()[0].getText();
textRange.getTextStyle().setLinkSlide(slide);

Parameters

NameTypeDescription
slideSlideThe Slide to be linked.

Return

TextStyle — This TextStyle, for chaining.

Authorization

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

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

setLinkSlide(slidePosition)

Sets a Link to the given Slide using the relative position of the slide.

Setting a link changes the style of the text to be underlined and to have a ThemeColorType.HYPERLINK foreground color. This can be changed via setForegroundColor(hexColor) and setUnderline(underline).

Since links cannot be set on newline characters, newline characters in the TextRange are ignored.

// Set a link to the first slide of the presentation.
const textRange = SlidesApp.getActivePresentation().getSlides()[0].getShapes()[0].getText();
textRange.getTextStyle().setLinkSlide(SlidesApp.SlidePosition.FIRST_SLIDE);

Parameters

NameTypeDescription
slidePositionSlidePositionThe relative SlidePosition.

Return

TextStyle — This TextStyle, for chaining.

Authorization

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

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

setLinkUrl(url)

Sets a Link to the given non-empty URL string.

Setting a link changes the style of the text to be underlined and to have a ThemeColorType.HYPERLINK foreground color. This can be changed via setForegroundColor(hexColor) and setUnderline(underline).

Since links cannot be set on newline characters, newline characters in the TextRange are ignored.

// Set a link to the URL.
const textRange = SlidesApp.getActivePresentation().getSlides()[0].getShapes()[0].getText();
textRange.getTextStyle().setLinkUrl('https://slides.google.com');

Parameters

NameTypeDescription
urlStringThe URL string.

Return

TextStyle — This TextStyle, for chaining.

Authorization

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

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

setSmallCaps(smallCaps)

Sets whether the text is rendered in small capital letters.

Parameters

NameTypeDescription
smallCapsBooleanWhether to render the text in small capital letters.

Return

TextStyle — This TextStyle, for chaining.

Authorization

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

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

setStrikethrough(strikethrough)

Sets whether the text is struck through.

Parameters

NameTypeDescription
strikethroughBooleanWhether to strike through the text.

Return

TextStyle — This TextStyle, for chaining.

Authorization

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

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

setUnderline(underline)

Sets whether the text is underlined.

Parameters

NameTypeDescription
underlineBooleanWhether to underline the text.

Return

TextStyle — This TextStyle, for chaining.

Authorization

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

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