Редактируйте и оформляйте текст с помощью текстовых диапазонов , которые представлены типом 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удаляет текст, находящийся в пределах текстового диапазона.
Следующий скрипт демонстрирует использование этих функций:
Этот скрипт создает текстовое поле на первом слайде и устанавливает в нем текстовое содержимое "Hello world!". Затем он удаляет символы с 6 по 11 ("world") и вставляет вместо них текст "galaxy" с индексом 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