Вы можете редактировать и стилизовать текст, используя текстовые диапазоны , которые представлены типом TextRange
. TextRange
представляет собой сегмент текста внутри фигуры или ячейки таблицы. Вызов getText()
для ячейки фигуры или таблицы возвращает текстовый диапазон, охватывающий весь текст.
Если вы используете методы, редактирующие размещение текста в фигуре, все параметры автоподбора, примененные к фигуре, деактивируются.
Использование текстовых диапазонов
Текстовый диапазон имеет два индекса, которые ограничивают сегмент текста, охватываемый текстовым диапазоном: начальный индекс и конечный индекс . Вы можете определить эти индексы с помощью функций getStartIndex()
и getEndIndex()
.
Чтобы прочитать содержимое текстового диапазона, используйте функции asString()
или asRenderedString()
.
Чтобы получить поддиапазон из текстового диапазона, используйте функцию getRange()
.
Следующий скрипт создает текстовое поле на первом слайде и устанавливает для его текстового содержимого значение «Hello world!». Затем он извлекает поддиапазон, охватывающий только слово «Hello».
Текстовый диапазон, возвращаемый фигурой или ячейкой таблицы, всегда будет охватывать весь текст, даже если текст вставлен и удален. Таким образом, приведенный выше пример создает следующие операторы журнала:
Start: 0; End: 13; Content: Hello world! Start: 0; End: 5; Content: Hello
Вставка и удаление текста
Вы также можете вставлять и удалять текстовые фигуры и ячейки таблицы, используя текстовые диапазоны.
-
insertText()
иappendText()
позволяют вставлять текст. -
setText()
заменяет текст текстового диапазона предоставленным текстом. -
clear()
удаляет текст из текстового диапазона.
Следующий скрипт демонстрирует использование этих функций:
Этот скрипт создает текстовое поле на первом слайде и устанавливает для его текстового содержимого значение «Привет, мир!». Затем он удаляет символы с 6 по 11 («мир») и вместо этого вставляет текст «галактика» с индексом 6. В приведенном выше примере создается следующий оператор журнала:
Start: 0; End: 14; Content: Hello galaxy!
Искать и заменять
Используйте функцию replaceAllText()
в презентации или на странице, чтобы выполнить глобальный поиск и замену по всей презентации или на конкретной странице.
Функция find()
для TextRange возвращает экземпляры строки в диапазоне. Его можно использовать вместе с setText()
для выполнения поиска и замены внутри ячейки фигуры или таблицы.
Абзацы, элементы списка и фрагменты
TextRange
предоставляет функции для возврата полезных коллекций текстовых объектов. Некоторые из этих функций включают в себя:
-
getParagraphs(),
который предоставляет все абзацы, перекрывающие текстовый диапазон. Абзац — это последовательность текста, оканчивающаяся символом новой строки «\n». -
getListParagraphs(),
который возвращает элементы списка в текущем текстовом диапазоне. -
getRuns(),
который предоставляет текстовые фрагменты, перекрывающие текущий текстовый диапазон. Текстовый фрагмент — это сегмент текста, в котором все символы имеют одинаковый текстовый стиль.
Стиль текста
Стиль текста определяет отображение текстовых символов в презентации, включая шрифт, цвет и гиперссылки.
Функция getTextStyle()
текстового диапазона предоставляет объект TextStyle
, используемый для стилизации текста. Объект TextStyle
охватывает тот же текст, что и его родительский TextRange
.
В приведенном выше примере сначала создается текстовое поле на первом слайде и устанавливается его содержимое «Привет». Затем добавляется текст «мир!». Недавно добавленный текст выделен жирным шрифтом и связан с www.example.com
, а его цвет установлен на красный.
При чтении стилей функция возвращает значение null, если диапазон содержит несколько значений стиля. Таким образом, приведенный выше пример создает следующие операторы журнала:
Text: Hello; Bold: false Text: world!; Bold: true Text: Hello world!; Bold: null
Существует множество других стилей, которые можно применить к тексту. Более подробную информацию можно найти в справочной документации TextStyle
.
Оформление абзаца
Стили абзацев применяются ко всем абзацам и включают такие элементы, как выравнивание текста и межстрочный интервал. Функция getParagraphStyle() в TextRange
предоставляет объект ParagraphStyle
для стилизации всех абзацев, перекрывающих родительский текстовый диапазон.
В следующем примере на первом слайде создается текстовое поле с четырьмя абзацами, а затем выравниваются по центру первые три абзаца.
Стиль списка
Подобно ParagraphStyle
, ListStyle
можно использовать для стилизации всех абзацев, перекрывающих родительский текстовый диапазон.
В приведенном выше примере на первом слайде создается текстовое поле, содержащее четыре абзаца: второй абзац имеет один отступ, а третий абзац — двойной. Затем он применяет предустановку списка ко всем абзацам. Наконец, регистрируется уровень вложенности каждого абзаца. (Уровень вложенности абзаца определяется количеством вкладок перед текстом абзаца.) Таким образом, приведенный выше сценарий создает следующие операторы журнала:
Paragraph 1's nesting level: 0 Paragraph 2's nesting level: 1 Paragraph 3's nesting level: 2 Paragraph 4's nesting level: 0