É possível editar e estilizar texto usando intervalos de texto, que são representados pelo tipo TextRange
. Um TextRange
representa um segmento de texto em uma forma ou
em uma célula de tabela. Chamar getText()
em uma forma ou célula de tabela retorna um intervalo de texto que abrange todo o texto.
Se você usar métodos que editam como o texto se encaixa em uma forma, todas as configurações de ajuste automático aplicadas à forma serão desativadas.
Como usar intervalos de texto
Um intervalo de texto tem dois índices que delimitam o segmento de texto
coberto por um intervalo de texto: o índice inicial e o índice final. É possível determinar esses índices usando as funções getStartIndex()
e getEndIndex()
.
Para ler o conteúdo de um intervalo de texto, use as funções asString()
ou asRenderedString()
.
Para extrair um subintervalo de um intervalo de texto, use a função getRange()
.
O script a seguir cria uma caixa de texto no primeiro slide e define o conteúdo do texto como "Hello world!". Em seguida, ele recupera um subintervalo que abrange apenas "Hello".
O intervalo de texto retornado por uma forma ou célula de tabela sempre vai abranger o texto inteiro, mesmo que ele seja inserido e excluído. Assim, o exemplo acima produz as seguintes instruções de registro:
Start: 0; End: 13; Content: Hello world! Start: 0; End: 5; Content: Hello
Inserir e excluir texto
Você também pode inserir e excluir formas de texto e células de tabela usando intervalos de texto.
insertText()
eappendText()
permitem inserir texto.setText()
substitui o texto de um intervalo de texto pelo texto fornecido.clear()
exclui texto de um intervalo de texto.
O script a seguir demonstra o uso dessas funções:
Esse script cria uma caixa de texto no primeiro slide e define o conteúdo dela como "Hello world!". Em seguida, ele exclui os caracteres de 6 a 11 ("world") e insere o texto "galaxy" no índice 6. O exemplo acima produz a seguinte instrução de registro:
Start: 0; End: 14; Content: Hello galaxy!
Pesquisar e substituir
Use a função replaceAllText()
na apresentação ou página para fazer uma pesquisa e substituição global em toda a apresentação ou em uma página específica.
A função find()
em TextRange retorna as instâncias de uma string no intervalo. Ele pode ser usado com setText()
para realizar a ação de localizar e substituir
em uma forma ou célula de tabela.
Parágrafos, itens de lista e execuções
O TextRange
oferece funções para retornar coleções úteis de entidades de texto.
Algumas dessas funções incluem:
getParagraphs(),
, que fornece todos os parágrafos que se sobrepõem ao intervalo de texto. Um parágrafo é uma sequência de texto que termina com o caractere de nova linha, "\n".getListParagraphs(),
, que retorna os itens da lista no intervalo de texto atual.getRuns(),
, que fornece as execuções de texto que se sobrepõem ao intervalo de texto atual. Uma execução de texto é um segmento de texto em que todos os caracteres têm o mesmo estilo de texto.
Estilo de texto
O estilo do texto determina a renderização dos caracteres na apresentação, incluindo fonte, cor e hiperlinks.
A função getTextStyle()
de um intervalo de texto fornece um objeto TextStyle
usado para
estilizar texto. O objeto TextStyle
cobre o mesmo texto que o TextRange
pai.
O exemplo acima primeiro cria uma caixa de texto no primeiro slide e define o conteúdo dela como "Hello ". Em seguida, ele anexa o texto "world!". O texto recém-adicionado
está em negrito, vinculado a www.example.com
e a cor dele está definida
como vermelho.
Ao ler estilos, a função retorna nulo se o intervalo tiver vários valores para o estilo. Assim, o exemplo acima produz as seguintes instruções de registro:
Text: Hello; Bold: false Text: world!; Bold: true Text: Hello world!; Bold: null
Há muitos outros estilos que podem ser aplicados ao texto. Mais detalhes podem ser encontrados na documentação de referência do TextStyle
.
Estilo de parágrafo
Os estilos de parágrafo se aplicam a parágrafos inteiros e incluem elementos como alinhamento de texto e espaçamento entre linhas. A função getParagraphStyle() em TextRange
fornece um objeto ParagraphStyle
para estilizar todos os parágrafos que se sobrepõem ao intervalo de texto principal.
O exemplo a seguir cria uma caixa de texto no primeiro slide com quatro parágrafos e alinha ao centro os três primeiros.
Estilo de lista
Assim como ParagraphStyle
, ListStyle
pode ser usado para estilizar todos os parágrafos que se sobrepõem ao intervalo de texto principal.
O exemplo acima cria uma caixa de texto no primeiro slide, contendo quatro parágrafos: o segundo parágrafo tem um recuo e o terceiro tem dois. Em seguida, ele aplica uma predefinição de lista a todos os parágrafos. Por fim, o nível de aninhamento de cada parágrafo é registrado. O nível de aninhamento do parágrafo vem do número de tabulações antes do texto do parágrafo. Portanto, o script acima produz as seguintes instruções de registro:
Paragraph 1's nesting level: 0 Paragraph 2's nesting level: 1 Paragraph 3's nesting level: 2 Paragraph 4's nesting level: 0