Class Text Stay organized with collections Save and categorize content based on your preferences.
Page Summary
Google Apps Script provides methods to manipulate text formatting in Google Docs, including setting font family, size, foreground color, italic, link URL, strikethrough, text alignment, and underline.
Many text manipulation methods have overloaded versions that can apply the formatting to the entire text element or a specific character range using start and end offsets.
All discussed methods return the current Text element, allowing for method chaining.
Scripts using these methods require authorization with either the
https://www.googleapis.com/auth/documents.currentonlyorhttps://www.googleapis.com/auth/documentsscopes.The
setText(text)method replaces the entire text content of an element.
An element representing a rich text region. All text in aDocument is contained withinText elements.AText element can be contained within anEquation,Equation,List, orParagraph, but cannot itself contain any other element. For moreinformation on document structure, see theguide to extending Google Docs.
// Gets the body contents of the active tab.constbody=DocumentApp.getActiveDocument().getActiveTab().asDocumentTab().getBody();// Use editAsText to obtain a single text element containing// all the characters in the tab.consttext=body.editAsText();// Insert text at the beginning of the tab.text.insertText(0,'Inserted text.\n');// Insert text at the end of the tab.text.appendText('\nAppended text.');// Make the first half of the tab blue.text.setForegroundColor(0,text.getText().length/2,'#00FFFF');
Methods
| Method | Return type | Brief description |
|---|---|---|
append | Text | Adds the specified text to the end of this text region. |
copy() | Text | Returns a detached, deep copy of the current element. |
delete | Text | Deletes a range of text. |
edit | Text | Obtains aText version of the current element, for editing. |
find | Range | Searches the contents of the element for the specified text pattern using regular expressions. |
find | Range | Searches the contents of the element for the specified text pattern, starting from a givensearch result. |
get | Object | Retrieves the element's attributes. |
get | Object | Retrieves the attributes at the specified character offset. |
get | String|null | Retrieves the background color setting. |
get | String|null | Retrieves the background color at the specified character offset. |
get | String|null | Retrieves the font family setting. |
get | String|null | Retrieves the font family at the specified character offset. |
get | Number|null | Retrieves the font size setting. |
get | Number|null | Retrieves the font size at the specified character offset. |
get | String|null | Retrieves the foreground color setting. |
get | String|null | Retrieves the foreground color at the specified character offset. |
get | String|null | Retrieves the link url. |
get | String|null | Retrieves the link URL at the specified character offset. |
get | Element|null | Retrieves the element's next sibling element. |
get | Container | Retrieves the element's parent element. |
get | Element|null | Retrieves the element's previous sibling element. |
get | String | Retrieves the contents of the element as a text string. |
get | Text | Gets the text alignment. |
get | Text | Gets the text alignment for a single character. |
get | Integer[] | Retrieves the set of text indices that correspond to the start of distinct text formattingruns. |
get | Element | Retrieves the element'sElement. |
insert | Text | Inserts the specified text at the given character offset. |
is | Boolean | Determines whether the element is at the end of theDocument. |
is | Boolean|null | Retrieves the bold setting. |
is | Boolean|null | Retrieves the bold setting at the specified character offset. |
is | Boolean|null | Retrieves the italic setting. |
is | Boolean|null | Retrieves the italic setting at the specified character offset. |
is | Boolean|null | Retrieves the strikethrough setting. |
is | Boolean|null | Retrieves the strikethrough setting at the specified character offset. |
is | Boolean|null | Retrieves the underline setting. |
is | Boolean|null | Retrieves the underline setting at the specified character offset. |
merge() | Text|null | Merges the element with the preceding sibling of the same type. |
remove | Text|null | Removes the element from its parent. |
replace | Element | Replaces all occurrences of a given text pattern with a given replacement string, using regularexpressions. |
set | Text | Applies the specified attributes to the given character range. |
set | Text | Sets the element's attributes. |
set | Text | Sets the background color for the specified character range. |
set | Text | Sets the background color. |
set | Text | Sets the bold setting. |
set | Text | Sets the bold setting for the specified character range. |
set | Text | Sets the font family for the specified character range. |
set | Text | Sets the font family. |
set | Text | Sets the font size for the specified character range. |
set | Text | Sets the font size. |
set | Text | Sets the foreground color for the specified character range. |
set | Text | Sets the foreground color. |
set | Text | Sets the italic setting. |
set | Text | Sets the italic setting for the specified character range. |
set | Text | Sets the link URL for the specified character range. |
set | Text | Sets the link url. |
set | Text | Sets the strikethrough setting. |
set | Text | Sets the strikethrough setting for the specified character range. |
set | Text | Sets the text contents. |
set | Text | Sets the text alignment for a given character range. |
set | Text | Sets the text alignment. |
set | Text | Sets the underline setting. |
set | Text | Sets the underline setting for the specified character range. |
Detailed documentation
appendText(text)
Adds the specified text to the end of this text region.
// Opens the Docs file by its URL. If you created your script from within a// Google Docs file, you can use DocumentApp.getActiveDocument() instead.// TODO(developer): Replace the URL with your own.constdoc=DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID/edit',);// Gets the body contents of the tab by its ID.// TODO(developer): Replace the ID with your own.constbody=doc.getTab('123abc').asDocumentTab().getBody();// Adds the text, 'Sample body text,' to the end of the tab body.consttext=body.editAsText().appendText('Sample body text');
Parameters
| Name | Type | Description |
|---|---|---|
text | String | The text to append. |
Return
Text — The current element.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
copy()
Returns a detached, deep copy of the current element.
Any child elements present in the element are also copied. The new element doesn't have aparent.
Return
Text — The new copy.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
deleteText(startOffset, endOffsetInclusive)
Deletes a range of text.
// Opens the Docs file by its URL. If you created your script from within a// Google Docs file, you can use DocumentApp.getActiveDocument() instead.// TODO(developer): Replace the URL with your own.constdoc=DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID/edit',);// Gets the body contents of the tab by its ID.// TODO(developer): Replace the ID with your own.constbody=doc.getTab('123abc').asDocumentTab().getBody();// Deletes the first 10 characters in the body.consttext=body.editAsText().deleteText(0,9);
Parameters
| Name | Type | Description |
|---|---|---|
start | Integer | The character offset of the first character to delete. |
end | Integer | The character offset of the last character to delete. |
Return
Text — The current element.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
editAsText()
Obtains aText version of the current element, for editing.
Useedit for manipulating the elements contents as rich text. Theedit mode ignores non-text elements (such asInline andHorizontal).
Child elements fully contained within a deleted text range are removed from the element.
constbody=DocumentApp.getActiveDocument().getActiveTab().asDocumentTab().getBody();// Insert two paragraphs separated by a paragraph containing an// horizontal rule.body.insertParagraph(0,'An editAsText sample.');body.insertHorizontalRule(0);body.insertParagraph(0,'An example.');// Delete " sample.\n\n An" removing the horizontal rule in the process.body.editAsText().deleteText(14,25);
Return
Text — a text version of the current element
findText(searchPattern)
Searches the contents of the element for the specified text pattern using regular expressions.
A subset of the JavaScript regular expression features are not fully supported, such ascapture groups and mode modifiers.
The provided regular expression pattern is independently matched against each text blockcontained in the current element.
Parameters
| Name | Type | Description |
|---|---|---|
search | String | the pattern to search for |
Return
Range — a search result indicating the position of the search text, or null if there is no match
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
findText(searchPattern, from)
Searches the contents of the element for the specified text pattern, starting from a givensearch result.
A subset of the JavaScript regular expression features are not fully supported, such ascapture groups and mode modifiers.
The provided regular expression pattern is independently matched against each text blockcontained in the current element.
Parameters
| Name | Type | Description |
|---|---|---|
search | String | the pattern to search for |
from | Range | the search result to search from |
Return
Range — a search result indicating the next position of the search text, or null if there is no match
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
getAttributes()
Retrieves the element's attributes.
The result is an object containing a property for each valid element attribute where eachproperty name corresponds to an item in theDocument enumeration.
constdoc=DocumentApp.getActiveDocument();constdocumentTab=doc.getActiveTab().asDocumentTab();constbody=documentTab.getBody();// Append a styled paragraph.constpar=body.appendParagraph('A bold, italicized paragraph.');par.setBold(true);par.setItalic(true);// Retrieve the paragraph's attributes.constatts=par.getAttributes();// Log the paragraph attributes.for(constattinatts){Logger.log(`${att}:${atts[att]}`);}
Return
Object — The element's attributes.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
getAttributes(offset)
Retrieves the attributes at the specified character offset.
The result is an object containing a property for each valid text attribute where eachproperty name corresponds to an item in theDocument enumeration.
// Opens the Docs file by its URL. If you created your script from within a// Google Docs file, you can use DocumentApp.getActiveDocument() instead.// TODO(developer): Replace the URL with your own.constdoc=DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID/edit',);// Gets the body contents of the tab by its ID.// TODO(developer): Replace the ID with your own.constbody=doc.getTab('123abc').asDocumentTab().getBody();// Declares style attributes.conststyle={};style[DocumentApp.Attribute.BOLD]=true;style[DocumentApp.Attribute.ITALIC]=true;style[DocumentApp.Attribute.FONT_SIZE]=29;// Sets the style attributes to the tab's body.consttext=body.editAsText();text.setAttributes(style);// Gets the style attributes applied to the eleventh character in the// body and logs them to the console.constattributes=text.getAttributes(10);console.log(attributes);
Parameters
| Name | Type | Description |
|---|---|---|
offset | Integer | The character offset. |
Return
Object — The element's attributes.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
getBackgroundColor()
Retrieves the background color setting.
Return
String|null — the background color, formatted in CSS notation (like'#ffffff'), or null if the element contains multiple values for this attribute
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
getBackgroundColor(offset)
Retrieves the background color at the specified character offset.
// Opens the Docs file by its URL. If you created your script from within a// Google Docs file, you can use DocumentApp.getActiveDocument() instead.// TODO(developer): Replace the URL with your own.constdoc=DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID',);// Gets the body contents of the tab by its ID.// TODO(developer): Replace the ID with your own.constbody=doc.getTab('123abc').asDocumentTab().getBody();// Sets the background color of the first 3 characters in the body.consttext=body.editAsText().setBackgroundColor(0,2,'#FFC0CB');// Gets the background color of the first character in the body.constbackgroundColor=text.getBackgroundColor(0);// Logs the background color to the console.console.log(backgroundColor);
Parameters
| Name | Type | Description |
|---|---|---|
offset | Integer | The character offset. |
Return
String|null — The background color, formatted in CSS notation (like'#ffffff').
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
getFontFamily()
Retrieves the font family setting. The name can be any font from the Font menu in Docs orGoogle Fonts, and is case-sensitive. The methodsget andset now use string names for fonts instead ofthe enum. Although this enum isdeprecated, it will remain available for compatibility with older scripts.Font
Return
String|null — the font family, or null if the element contains multiple values for this attribute
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
getFontFamily(offset)
Retrieves the font family at the specified character offset. The name can be any font from theFont menu in Docs orGoogle Fonts, and iscase-sensitive. The methodsget andsetnow use string names for fonts instead of the enum. Although this enum isdeprecated, it will remain available for compatibility with older scripts.Font
// Opens the Docs file by its URL. If you created your script from within a// Google Docs file, you can use DocumentApp.getActiveDocument() instead.// TODO(developer): Replace the URL with your own.constdoc=DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID/edit',);// Gets the body contents of the tab by its ID.// TODO(developer): Replace the ID with your own.constbody=doc.getTab('123abc').asDocumentTab().getBody();// Sets the font of the first 16 characters to Impact.consttext=body.editAsText().setFontFamily(0,15,'Impact');// Gets the font family of the 16th character in the tab body.constfontFamily=text.getFontFamily(15);// Logs the font family to the console.console.log(fontFamily);
Parameters
| Name | Type | Description |
|---|---|---|
offset | Integer | The character offset. |
Return
String|null — The font family.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
getFontSize()
Retrieves the font size setting.
Return
Number|null — the font size, or null if the element contains multiple values for this attribute
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
getFontSize(offset)
Retrieves the font size at the specified character offset.
// Opens the Docs file by its URL. If you created your script from within a// Google Docs file, you can use DocumentApp.getActiveDocument() instead.// TODO(developer): Replace the URL with your own.constdoc=DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID/edit',);// Gets the body contents of the tab by its ID.// TODO(developer): Replace the ID with your own.constbody=doc.getTab('123abc').asDocumentTab().getBody();// Sets the font size of the first 13 characters to 15.consttext=body.editAsText().setFontSize(0,12,15);// Gets the font size of the first character.constfontSize=text.getFontSize(0);// Logs the font size to the console.console.log(fontSize);
Parameters
| Name | Type | Description |
|---|---|---|
offset | Integer | The character offset. |
Return
Number|null — The font size.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
getForegroundColor()
Retrieves the foreground color setting.
Return
String|null — the foreground color, formatted in CSS notation (like'#ffffff'), or null if the element contains multiple values for this attribute
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
getForegroundColor(offset)
Retrieves the foreground color at the specified character offset.
// Opens the Docs file by its URL. If you created your script from within a// Google Docs file, you can use DocumentApp.getActiveDocument() instead.// TODO(developer): Replace the URL with your own.constdoc=DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID/edit',);// Gets the body contents of the tab by its ID.// TODO(developer): Replace the ID with your own.constbody=doc.getTab('123abc').asDocumentTab().getBody();// Sets the foreground color of the first 3 characters in the tab body.consttext=body.editAsText().setForegroundColor(0,2,'#0000FF');// Gets the foreground color of the first character in the tab body.constforegroundColor=text.getForegroundColor(0);// Logs the foreground color to the console.console.log(foregroundColor);
Parameters
| Name | Type | Description |
|---|---|---|
offset | Integer | The character offset. |
Return
String|null — The foreground color, formatted in CSS notation (like'#ffffff').
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
getLinkUrl()
Retrieves the link url.
Return
String|null — the link url, or null if the element contains multiple values for this attribute
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
getLinkUrl(offset)
Retrieves the link URL at the specified character offset.
// Opens the Docs file by its URL. If you created your script from within a// Google Docs file, you can use DocumentApp.getActiveDocument() instead.// TODO(developer): Replace the URL with your own.constdoc=DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID/edit',);// Gets the body contents of the tab by its ID.// TODO(developer): Replace the ID with your own.constbody=doc.getTab('123abc').asDocumentTab().getBody();// Applies a link to the first 10 characters in the body.consttext=body.editAsText().setLinkUrl(0,9,'https://www.example.com/');// Gets the URL of the link from the first character.constlink=text.getLinkUrl(0);// Logs the link URL to the console.console.log(link);
Parameters
| Name | Type | Description |
|---|---|---|
offset | Integer | The character offset. |
Return
String|null — The link URL.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
getNextSibling()
Retrieves the element's next sibling element.
The next sibling has the same parent and follows the current element.
Return
Element|null — The next sibling element.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
getParent()
Retrieves the element's parent element.
The parent element contains the current element.
Return
Container — The parent element.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
getPreviousSibling()
Retrieves the element's previous sibling element.
The previous sibling has the same parent and precedes the current element.
Return
Element|null — The previous sibling element.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
getText()
Retrieves the contents of the element as a text string.
Return
String — the contents of the element as text string
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
getTextAlignment()
Gets the text alignment. The available types of alignment areDocument,Document, andDocument.
Return
Text — the type of text alignment, ornull if the text contains multiple types of text alignments or if the text alignment has never been set
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
getTextAlignment(offset)
Gets the text alignment for a single character. The available types of alignment areDocument,Document, andDocument.
// Opens the Docs file by its URL. If you created your script from within a// Google Docs file, you can use DocumentApp.getActiveDocument() instead.// TODO(developer): Replace the URL with your own.constdoc=DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID/edit',);// Gets the body contents of the tab by its ID.// TODO(developer): Replace the ID with your own.constbody=doc.getTab('123abc').asDocumentTab().getBody();// Sets the text alignment of the tab's body to NORMAL.consttext=body.editAsText().setTextAlignment(DocumentApp.TextAlignment.NORMAL);// Gets the text alignment of the ninth character.constalignment=text.getTextAlignment(8);// Logs the text alignment to the console.console.log(alignment.toString());
Parameters
| Name | Type | Description |
|---|---|---|
offset | Integer | The offset of the character. |
Return
Text — The type of text alignment, ornull if the text alignment has never been set.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
getTextAttributeIndices()
Retrieves the set of text indices that correspond to the start of distinct text formattingruns.
// Opens the Docs file by its URL. If you created your script from within a// Google Docs file, you can use DocumentApp.getActiveDocument() instead.// TODO(developer): Replace the URL with your own.constdoc=DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID/edit',);// Gets the body contents of the tab by its ID.// TODO(developer): Replace the ID with your own.constbody=doc.getTab('123abc').asDocumentTab().getBody();// Gets the text indices at which text formatting changes.constindices=body.editAsText().getTextAttributeIndices();// Logs the indices to the console.console.log(indices.toString());
Return
Integer[] — The set of text indices at which text formatting changes.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
getType()
Retrieves the element'sElement.
Useget to determine the exact type of a given element.
constdoc=DocumentApp.getActiveDocument();constdocumentTab=doc.getActiveTab().asDocumentTab();constbody=documentTab.getBody();// Obtain the first element in the active tab's body.constfirstChild=body.getChild(0);// Use getType() to determine the element's type.if(firstChild.getType()===DocumentApp.ElementType.PARAGRAPH){Logger.log('The first element is a paragraph.');}else{Logger.log('The first element is not a paragraph.');}
Return
Element — The element type.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
insertText(offset, text)
Inserts the specified text at the given character offset.
// Opens the Docs file by its URL. If you created your script from within a// Google Docs file, you can use DocumentApp.getActiveDocument() instead.// TODO(developer): Replace the URL with your own.constdoc=DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID/edit',);// Gets the body contents of the tab by its ID.// TODO(developer): Replace the ID with your own.constbody=doc.getTab('123abc').asDocumentTab().getBody();// Inserts the text, 'Sample inserted text', at the start of the body content.consttext=body.editAsText().insertText(0,'Sample inserted text');
Parameters
| Name | Type | Description |
|---|---|---|
offset | Integer | The character offset at which to insert the text. |
text | String | The text to insert. |
Return
Text — The current element.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
isAtDocumentEnd()
Determines whether the element is at the end of theDocument.
Return
Boolean — Whether the element is at the end of the tab.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
isBold()
Retrieves the bold setting.
Return
Boolean|null — whether the text is bold, or null if the element contains multiple values for this attribute
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
isBold(offset)
Retrieves the bold setting at the specified character offset.
// Opens the Docs file by its URL. If you created your script from within a// Google Docs file, you can use DocumentApp.getActiveDocument() instead.// TODO(developer): Replace the URL with your own.constdoc=DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID/edit',);// Gets the body contents of the tab by its ID.// TODO(developer): Replace the ID with your own.constbody=doc.getTab('123abc').asDocumentTab().getBody();// Bolds the first 4 characters in the tab body.consttext=body.editAsText().setBold(0,3,true);// Gets whether or not the text is bold.constbold=text.editAsText().isBold(0);// Logs the text's bold setting to the consoleconsole.log(bold);
Parameters
| Name | Type | Description |
|---|---|---|
offset | Integer | The character offset. |
Return
Boolean|null — The bold setting.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
isItalic()
Retrieves the italic setting.
Return
Boolean|null — whether the text is italic, or null if the element contains multiple values for this attribute
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
isItalic(offset)
Retrieves the italic setting at the specified character offset.
// Opens the Docs file by its URL. If you created your script from within a// Google Docs file, you can use DocumentApp.getActiveDocument() instead.// TODO(developer): Replace the URL with your own.constdoc=DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID/edit',);// Gets the body contents of the tab by its ID.// TODO(developer): Replace the ID with your own.constbody=doc.getTab('123abc').asDocumentTab().getBody();// Sets the first 13 characters of the tab body to italic.consttext=body.editAsText().setItalic(0,12,true);// Gets whether the fifth character in the tab body is set to// italic and logs it to the console.constitalic=text.isItalic(4);console.log(italic);
Parameters
| Name | Type | Description |
|---|---|---|
offset | Integer | The character offset. |
Return
Boolean|null — The italic setting.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
isStrikethrough()
Retrieves the strikethrough setting.
Return
Boolean|null — whether the text is strikethrough, or null if the element contains multiple values for this attribute
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
isStrikethrough(offset)
Retrieves the strikethrough setting at the specified character offset.
// Opens the Docs file by its URL. If you created your script from within a// Google Docs file, you can use DocumentApp.getActiveDocument() instead.// TODO(developer): Replace the URL with your own.constdoc=DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID/edit',);// Gets the body contents of the tab by its ID.// TODO(developer): Replace the ID with your own.constbody=doc.getTab('123abc').asDocumentTab().getBody();// Sets the first 17 characters of the tab body to strikethrough.consttext=body.editAsText().setStrikethrough(0,16,true);// Gets whether the first character in the tab body is set to// strikethrough and logs it to the console.conststrikethrough=text.isStrikethrough(0);console.log(strikethrough);
Parameters
| Name | Type | Description |
|---|---|---|
offset | Integer | The character offset. |
Return
Boolean|null — The strikethrough setting.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
isUnderline()
Retrieves the underline setting.
Return
Boolean|null — whether the text is underlined, or null if the element contains multiple values for this attribute
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
isUnderline(offset)
Retrieves the underline setting at the specified character offset.
// Opens the Docs file by its URL. If you created your script from within a// Google Docs file, you can use DocumentApp.getActiveDocument() instead.// TODO(developer): Replace the URL with your own.constdoc=DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID/edit',);// Gets the body contents of the tab by its ID.// TODO(developer): Replace the ID with your own.constbody=doc.getTab('123abc').asDocumentTab().getBody();// Sets the first 13 characters of the tab body to underline.consttext=body.editAsText().setUnderline(0,12,false);// Gets whether the first character in the tab body is set to// underline and logs it to the consoleconstunderline=text.editAsText().isUnderline(0);console.log(underline);
Parameters
| Name | Type | Description |
|---|---|---|
offset | Integer | The character offset. |
Return
Boolean|null — The underline setting.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
merge()
Merges the element with the preceding sibling of the same type.
Only elements of the sameElement can be merged. Any child elements contained inthe current element are moved to the preceding sibling element.
The current element is removed from the document.
constdoc=DocumentApp.getActiveDocument();constdocumentTab=doc.getActiveTab().asDocumentTab();constbody=documentTab.getBody();// Example 1: Merge paragraphs// Append two paragraphs to the document's active tab.constpar1=body.appendParagraph('Paragraph 1.');constpar2=body.appendParagraph('Paragraph 2.');// Merge the newly added paragraphs into a single paragraph.par2.merge();// Example 2: Merge table cells// Create a two-dimensional array containing the table's cell contents.constcells=[['Row 1, Cell 1','Row 1, Cell 2'],['Row 2, Cell 1','Row 2, Cell 2'],];// Build a table from the array.consttable=body.appendTable(cells);// Get the first row in the table.constrow=table.getRow(0);// Get the two cells in this row.constcell1=row.getCell(0);constcell2=row.getCell(1);// Merge the current cell into its preceding sibling element.constmerged=cell2.merge();
Return
Text|null — The merged element.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
removeFromParent()
Removes the element from its parent.
constdoc=DocumentApp.getActiveDocument();constdocumentTab=doc.getActiveTab().asDocumentTab();constbody=documentTab.getBody();// Remove all images in the active tab's body.constimgs=body.getImages();for(leti=0;i <imgs.length;i++){imgs[i].removeFromParent();}
Return
Text|null — The removed element.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
replaceText(searchPattern, replacement)
Replaces all occurrences of a given text pattern with a given replacement string, using regularexpressions.
The search pattern is passed as a string, not a JavaScript regular expression object.Because of this you'll need to escape any backslashes in the pattern.
This methods uses Google'sRE2 regularexpression library, which limits thesupported syntax.
The provided regular expression pattern is independently matched against each text blockcontained in the current element.
constbody=DocumentApp.getActiveDocument().getActiveTab().asDocumentTab().getBody();// Clear the text surrounding "Apps Script", with or without text.body.replaceText('^.*Apps ?Script.*$','Apps Script');
Parameters
| Name | Type | Description |
|---|---|---|
search | String | the regex pattern to search for |
replacement | String | the text to use as replacement |
Return
Element — the current element
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
setAttributes(startOffset, endOffsetInclusive, attributes)
Applies the specified attributes to the given character range.
The specified attributes parameter must be an object where each property name is an item intheDocument enumeration and each property value is the new value to beapplied.
// Opens the Docs file by its URL. If you created your script from within a// Google Docs file, you can use DocumentApp.getActiveDocument() instead.// TODO(developer): Replace the URL with your own.constdoc=DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID/edit',);// Gets the body contents of the tab by its ID.// TODO(developer): Replace the ID with your own.constbody=doc.getTab('123abc').asDocumentTab().getBody();// Declares style attributes for font size and font family.conststyle={};style[DocumentApp.Attribute.FONT_SIZE]=20;style[DocumentApp.Attribute.FONT_FAMILY]='Impact';// Sets the style attributes to the first 9 characters in the tab's body.consttext=body.setAttributes(0,8,style);
Parameters
| Name | Type | Description |
|---|---|---|
start | Integer | The text range's start offset. |
end | Integer | The text range's end offset. |
attributes | Object | The element's attributes. |
Return
Text — The current element.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
setAttributes(attributes)
Sets the element's attributes.
The specified attributes parameter must be an object where each property name is an item intheDocument enumeration and each property value is the new value to beapplied.
constdoc=DocumentApp.getActiveDocument();constdocumentTab=doc.getActiveTab().asDocumentTab();constbody=documentTab.getBody();// Define a custom paragraph style.conststyle={};style[DocumentApp.Attribute.HORIZONTAL_ALIGNMENT]=DocumentApp.HorizontalAlignment.RIGHT;style[DocumentApp.Attribute.FONT_FAMILY]='Calibri';style[DocumentApp.Attribute.FONT_SIZE]=18;style[DocumentApp.Attribute.BOLD]=true;// Append a plain paragraph.constpar=body.appendParagraph('A paragraph with custom style.');// Apply the custom style.par.setAttributes(style);
Parameters
| Name | Type | Description |
|---|---|---|
attributes | Object | The element's attributes. |
Return
Text — The current element.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
setBackgroundColor(startOffset, endOffsetInclusive, color)
Sets the background color for the specified character range.
// Opens the Docs file by its URL. If you created your script from within a// Google Docs file, you can use DocumentApp.getActiveDocument() instead.// TODO(developer): Replace the URL with your own.constdoc=DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID/edit',);// Gets the body contents of the tab by its ID.// TODO(developer): Replace the ID with your own.constbody=doc.getTab('123abc').asDocumentTab().getBody();// Sets the background color of the first 3 characters in the// tab body to hex color #0000FF.consttext=body.editAsText().setBackgroundColor(0,2,'#0000FF');
Parameters
| Name | Type | Description |
|---|---|---|
start | Integer | The text range's start offset. |
end | Integer | The text range's end offset. |
color | String | The background color, formatted in CSS notation (like'#ffffff'). |
Return
Text — The current element.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
setBackgroundColor(color)
Sets the background color.
Parameters
| Name | Type | Description |
|---|---|---|
color | String | the background color, formatted in CSS notation (like'#ffffff') |
Return
Text — the current element
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
setBold(bold)
Sets the bold setting.
Parameters
| Name | Type | Description |
|---|---|---|
bold | Boolean | the bold setting |
Return
Text — the current element
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
setBold(startOffset, endOffsetInclusive, bold)
Sets the bold setting for the specified character range.
// Opens the Docs file by its URL. If you created your script from within a// Google Docs file, you can use DocumentApp.getActiveDocument() instead.// TODO(developer): Replace the URL with your own.constdoc=DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID/edit',);// Gets the body contents of the tab by its ID.// TODO(developer): Replace the ID with your own.constbody=doc.getTab('123abc').asDocumentTab().getBody();// Sets the first 11 characters in the tab's body to bold.consttext=body.editAsText().setBold(0,10,true);
Parameters
| Name | Type | Description |
|---|---|---|
start | Integer | The text range's start offset. |
end | Integer | The text range's end offset. |
bold | Boolean | The bold setting. |
Return
Text — The current element.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
setFontFamily(startOffset, endOffsetInclusive, fontFamilyName)
Sets the font family for the specified character range. The name can be any font from the Fontmenu in Docs orGoogle Fonts, and is case-sensitive.Unrecognized font names will render as Arial. The methodsget andset now use string names for fonts instead of the enum. Although this enum isdeprecated, it will remain available for compatibility with older scripts.Font
// Opens the Docs file by its URL. If you created your script from within a// Google Docs file, you can use DocumentApp.getActiveDocument() instead.// TODO(developer): Replace the URL with your own.constdoc=DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID/edit',);// Gets the body contents of the tab by its ID.// TODO(developer): Replace the ID with your own.constbody=doc.getTab('123abc').asDocumentTab().getBody();// Sets the font of the first 4 characters in the tab's body to Roboto.consttext=body.editAsText().setFontFamily(0,3,'Roboto');
Parameters
| Name | Type | Description |
|---|---|---|
start | Integer | The text range's start offset. |
end | Integer | The text range's end offset. |
font | String | The name of the font family, from the Font menu in Docs or Google Fonts. |
Return
Text — The current element.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
setFontFamily(fontFamilyName)
Sets the font family. The name can be any font from the Font menu in Docs orGoogle Fonts, and is case-sensitive. Unrecognized fontnames will render as Arial. The methodsget andset now use string names for fonts instead of the enum. Although this enum isdeprecated, it will remain available for compatibility with older scripts.Font
Parameters
| Name | Type | Description |
|---|---|---|
font | String | the name of the font family, from the Font menu in Docs or Google Fonts |
Return
Text — the current element
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
setFontSize(startOffset, endOffsetInclusive, size)
Sets the font size for the specified character range.
// Opens the Docs file by its URL. If you created your script from within a// Google Docs file, you can use DocumentApp.getActiveDocument() instead.// TODO(developer): Replace the URL with your own.constdoc=DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID/edit',);// Gets the body contents of the tab by its ID.// TODO(developer): Replace the ID with your own.constbody=doc.getTab('123abc').asDocumentTab().getBody();// Sets the size of the first 11 characters in the tab's body to 12.consttext=body.editAsText().setFontSize(0,10,12);
Parameters
| Name | Type | Description |
|---|---|---|
start | Integer | The text range's start offset. |
end | Integer | The text range's end offset. |
size | Number | The font size. |
Return
Text — The current element.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
setFontSize(size)
Sets the font size.
Parameters
| Name | Type | Description |
|---|---|---|
size | Number | the font size |
Return
Text — the current element
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
setForegroundColor(startOffset, endOffsetInclusive, color)
Sets the foreground color for the specified character range.
// Opens the Docs file by its URL. If you created your script from within a// Google Docs file, you can use DocumentApp.getActiveDocument() instead.// TODO(developer): Replace the URL with your own.constdoc=DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID/edit',);// Gets the body contents of the tab by its ID.// TODO(developer): Replace the ID with your own.constbody=doc.getTab('123abc').asDocumentTab().getBody();// Sets the foreground color of the first 2 characters in the// tab's body to hex color #FF0000.consttext=body.editAsText().setForegroundColor(0,1,'#FF0000');// Gets the foreground color for the second character in the tab's body.constforegroundColor=text.getForegroundColor(1);// Logs the foreground color to the console.console.log(foregroundColor);
Parameters
| Name | Type | Description |
|---|---|---|
start | Integer | The text range's start offset. |
end | Integer | The text range's end offset. |
color | String | The foreground color, formatted in CSS notation (like'#ffffff'). |
Return
Text — The current element.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
setForegroundColor(color)
Sets the foreground color.
Parameters
| Name | Type | Description |
|---|---|---|
color | String | the foreground color, formatted in CSS notation (like'#ffffff') |
Return
Text — the current element
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
setItalic(italic)
Sets the italic setting.
Parameters
| Name | Type | Description |
|---|---|---|
italic | Boolean | the italic setting |
Return
Text — the current element
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
setItalic(startOffset, endOffsetInclusive, italic)
Sets the italic setting for the specified character range.
// Opens the Docs file by its URL. If you created your script from within a// Google Docs file, you can use DocumentApp.getActiveDocument() instead.// TODO(developer): Replace the URL with your own.constdoc=DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID/edit',);// Gets the body contents of the tab by its ID.// TODO(developer): Replace the ID with your own.constbody=doc.getTab('123abc').asDocumentTab().getBody();// Sets the first 11 characters in the tab's body to italic.consttext=body.editAsText().setItalic(0,10,true);
Parameters
| Name | Type | Description |
|---|---|---|
start | Integer | The text range's start offset. |
end | Integer | The text range's end offset. |
italic | Boolean | The italic setting. |
Return
Text — The current element.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
setLinkUrl(startOffset, endOffsetInclusive, url)
Sets the link URL for the specified character range.
// Opens the Docs file by its URL. If you created your script from within a// Google Docs file, you can use DocumentApp.getActiveDocument() instead.// TODO(developer): Replace the URL with your own.constdoc=DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID/edit',);// Gets the body contents of the tab by its ID.// TODO(developer): Replace the ID with your own.constbody=doc.getTab('123abc').asDocumentTab().getBody();// Applies a link to the first 11 characters in the body.consttext=body.editAsText().setLinkUrl(0,10,'https://example.com');
Parameters
| Name | Type | Description |
|---|---|---|
start | Integer | The text range's start offset. |
end | Integer | The text range's end offset. |
url | String | The link URL. |
Return
Text — The current element.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
setLinkUrl(url)
setStrikethrough(strikethrough)
Sets the strikethrough setting.
Parameters
| Name | Type | Description |
|---|---|---|
strikethrough | Boolean | the strikethrough setting |
Return
Text — the current element
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
setStrikethrough(startOffset, endOffsetInclusive, strikethrough)
Sets the strikethrough setting for the specified character range.
// Opens the Docs file by its URL. If you created your script from within a// Google Docs file, you can use DocumentApp.getActiveDocument() instead.// TODO(developer): Replace the URL with your own.constdoc=DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID/edit',);// Gets the body contents of the tab by its ID.// TODO(developer): Replace the ID with your own.constbody=doc.getTab('123abc').asDocumentTab().getBody();// Sets the first 11 characters in the tab's body to strikethrough.consttext=body.editAsText().setStrikethrough(0,10,true);
Parameters
| Name | Type | Description |
|---|---|---|
start | Integer | The text range's start offset. |
end | Integer | The text range's end offset. |
strikethrough | Boolean | The strikethrough setting. |
Return
Text — The current element.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
setText(text)
Sets the text contents.
// Opens the Docs file by its URL. If you created your script from within a// Google Docs file, you can use DocumentApp.getActiveDocument() instead.// TODO(developer): Replace the URL with your own.constdoc=DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID/edit',);// Gets the body contents of the tab by its ID.// TODO(developer): Replace the ID with your own.constbody=doc.getTab('123abc').asDocumentTab().getBody();// Replaces the contents of the body with the text, 'New body text.'consttext=body.editAsText().setText('New body text.');
Parameters
| Name | Type | Description |
|---|---|---|
text | String | The new text contents. |
Return
Text — The current element.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
setTextAlignment(startOffset, endOffsetInclusive, textAlignment)
Sets the text alignment for a given character range. The available types of alignment areDocument,Document, andDocument.
// Make the first character in the first paragraph of the active tab be// superscript.constdocumentTab=DocumentApp.getActiveDocument().getActiveTab().asDocumentTab();consttext=documentTab.getBody().getParagraphs()[0].editAsText();text.setTextAlignment(0,0,DocumentApp.TextAlignment.SUPERSCRIPT);
Parameters
| Name | Type | Description |
|---|---|---|
start | Integer | The start offset of the character range. |
end | Integer | The end offset of the character range (inclusive). |
text | Text | The type of text alignment to apply. |
Return
Text — The current element.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
setTextAlignment(textAlignment)
Sets the text alignment. The available types of alignment areDocument,Document, andDocument.
// Make the entire first paragraph in the active tab be superscript.constdocumentTab=DocumentApp.getActiveDocument().getActiveTab().asDocumentTab();consttext=documentTab.getBody().getParagraphs()[0].editAsText();text.setTextAlignment(DocumentApp.TextAlignment.SUPERSCRIPT);
Parameters
| Name | Type | Description |
|---|---|---|
text | Text | the type of text alignment to apply |
Return
Text — the current element
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
setUnderline(underline)
Sets the underline setting.
Parameters
| Name | Type | Description |
|---|---|---|
underline | Boolean | the underline setting |
Return
Text — the current element
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
setUnderline(startOffset, endOffsetInclusive, underline)
Sets the underline setting for the specified character range.
// Opens the Docs file by its URL. If you created your script from within a// Google Docs file, you can use DocumentApp.getActiveDocument() instead.// TODO(developer): Replace the URL with your own.constdoc=DocumentApp.openByUrl('https://docs.google.com/document/d/DOCUMENT_ID/edit',);// Gets the body contents of the tab by its ID.// TODO(developer): Replace the ID with your own.constbody=doc.getTab('123abc').asDocumentTab().getBody();// Sets the first 11 characters in the tab's body to underline.consttext=body.editAsText().setUnderline(0,10,true);
Parameters
| Name | Type | Description |
|---|---|---|
start | Integer | The text range's start offset. |
end | Integer | The text range's end offset. |
underline | Boolean | The underline setting. |
Return
Text — The current element.
Authorization
Scripts that use this method require authorization with one or more of the followingscopes:
https://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/documents
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.