Автоматизация рутины в OS X. Часть 11. Автоматизируем показ презентаций

Автоматизация рутины в OS X. Часть 11. Автоматизируем показ презентаций

Эта вторая статья о взаимодействии Keynote и JavaScript Automation. В первой мы рассказывали как автоматически создавать слайды для презентации на основе данных электронной таблицы, созданной в приложении Numbers. Сегодня расскажем о нескольких программных приемах, на основе которых можно написать программу для автоматизированного показа слайдов: как запускать и останавливать презентацию, переходить между слайдами в произвольном порядке и устанавливать время показа для каждого слайда.

Куда писать автоматизирующий код?

  1. Открыть программу «Редактор скриптов» (Программы -> Утилиты).
    Снимок экрана 2015-10-10 в 21.02.41
  2. В верхнем меню выбрать Файл -> Новый.Снимок экрана 2015-10-10 в 21.08.11
  3. На переключателе языков выбрать Java Script.

Снимок экрана 2015-10-10 в 21.11.37

Как запустить показ слайдов?

Это делается с помощью метода start():

//Создаем переменную для приложения Keynote
Keynote = Application("Keynote");
//Кладем в переменную путь к искомому файлу
var path = Path("/Users/irina/Desktop/example.key");
//Открываем файл в программе Keynote
var doc = Keynote.open(path);
// Запускаем проигрывание презентации
doc.start();

Как начать показ с определенного слайда?

Для этого у метода start() необходимо указать параметр from:

// Запускаем проигрывание презентации с четвертого слайда
doc.start({from: doc.slides[3]});

Как сделать чтобы показ презентации повторялся автоматически?

Не всегда эффектно смотрится когда человек еще не закончил доклад, а презентация автоматически сворачивается и перед зрителями предстает рабочий стол, щедро украшенный окнами приложений. Чтобы этого избежать, можно включить бесконечное проигрывание презентации:

doc.autoLoop = true;

Как перейти на произвольный слайд?

doc.slides[1].show();

А можно ли немного подождать перед переходом на другой слайд?

Методы setTimeout и setInterval под OS X Automation не работают. Но зато есть прекрасная функция delay():

//Задаем интервал ожидания в секундах
delay(2);
doc.slides[1].show();

Как остановить показ презентации?

Как можно догадаться для остановки презентации предназначен метод stop():

doc.stop();

Как настроить пропуск определенных слайдов?

У каждого слайда есть свойство skipped, которое может принимать значения true или false. В первом случае слайд пропускается при проигрывании презентации:

doc.slides[1].skipped="true";

Предыдущие публикации из цикла «Автоматизация рутины в OS X» вы можете найти по следующим ссылкам:

Советуем почитать:


✅ Подписывайтесь на нас в Telegram, ВКонтакте, и Яндекс.Дзен.



Добавить комментарий