Можно ли подобрать стиль текста для каждого слова индивидуально? - PullRequest
0 голосов
/ 26 апреля 2020

Я знаю, что можно получить стиль текста для выбранного слова, используя getSelection().getTextRange().getTextStyle()

, но если я хочу извлечь текстовые стили из предыдущего слайда слово за словом (получая стиль текста каждого слова индивидуально) , есть ли способ сделать это?

1 Ответ

0 голосов
/ 27 апреля 2020

Вы можете перебирать PageElements слайда и извлекать стиль текста из каждого элемента.

Для каждого PageElement вам необходимо проверить, имеет ли его тип TextRange как одно из его свойств (только Shape и TextCell элементы имеют TextRange). Если вы попытаетесь извлечь текст из элемента, который не содержит текста, вы можете получить ошибку.

Затем для каждого извлеченного textRange вы можете выполнить итерацию по его прогонам (различным сегментам содержится в этом тексте, которые имеют другой стиль текста) и извлекает стиль текста для каждого прогона.

Пример кода:

function getTextStyles() {
  var slideId = "your-slide-id"; ID of the slide you want to retrieve text style
  var presentation = SlidesApp.getActivePresentation();
  var slide = presentation.getSlideById(slideId);
  var pageElements = slide.getPageElements(); // Get all page elements in slide
  pageElements.forEach(function(pageElement) { // Loop through all page elements in slide
    if (pageElement.getPageElementType() == "SHAPE") { // Check that current page element is of type "SHAPE"
      var textRange = pageElement.asShape().getText(); // Get text belonging to current page element
      textRange.getRuns().forEach(function(run) { // Loop through all runs in text
        var textStyle = run.getTextStyle(); // Get current row text style
        console.log(textStyle);
      });
    };
  });
}

Примечание:

  • Приведенный выше код регистрирует TextStyle всего текста, принадлежащего Shape элементам на слайде. Элементы TableCell также могут содержать текст, поэтому, если вы хотите получить эту информацию, вам придется соответствующим образом изменить сценарий (см. Таблица классов ).

Ссылка:

...