parent.select(myObjectsToSelect, SelectionOptions.replaceWith);
}
)
// Проверка: является ли объект строкой.
// Ранее в массив myObjectTypes мы записали необходимые значения.
// Если объект - строка, значит, мы работаем с ним дальше function mylsInArray(myString, myArray){ for (i =0; i < myArray.length; i ++){
if (myArray[i] = myString){ return true; break;
)
)
return false;
)
// Вывод сообщения об ошибке function onError(msg){ alert (msg)
}
4.10. Экспорт выделенных объектов
Продолжая работу с выделенными объектами, напишем скрипт, который бы экспортировал выделенные объекты в формат, заданный пользователем. Необходимость в нем возникает часто при работе с заказчиком: он хочет видеть конечный вариант- как будет смотреться реклама на полосе. Встроенных функций в InDesign по экспорту только выделенной части нет, а делать это вручную (сохраняя страницу как EPS с последующим конвертированием в растровый вариант, кадрированием по размерам, чтобы ее мог просмотреть заказчик) - не самая творческая работа. Возложим ее на скрипт.
Алгоритм экспорта может быть таким:
1. Вывод диалогового окна, в котором указываются требуемые типы файлов.
2. Считывание пользовательских значений.
3. Если выбран текстовый формат, то выполняется непосредственный экспорт.
4. Если любой другой - копирование выделенных объектов в новый документ, изменение его размеров точно по размерам выделения и экспорт в выбранном формате.
Масштабирование выполняет метод resize о, имеющий синтаксис:
resize ([horizontalScale][, vsrticalScaJe] [, around]
[, considerringCurran tScal e] [, transform! ngCon ten t]
[, consideringParentScale])
Здесь:
horizontaiscaio- масштаб по горизонтали (100 соответствует 100%);
verticaiscale-масштаб по вертикали;
around- положение центра трансформации, задается либо как произвольная точка (ее координаты передаются в виде массива Array (х, у)), либо как одно ИЗ предопределенных свойств (Enumeration) объекта AnchorPoint: topLeftAnchor, topCenterAnchor, topRightAnchor, leftCenterAnchor, centerAnchor (значение ПО умолчанию), rightCenterAnchor, bottomLeftAnchor, centerAnchor, rightCenterAnchor;
considarringCurrentscaie- применять новый масштаб к уже существующему или считать его абсолютным (значение по умолчанию: true);
transform!ngContent- делать ли трансформацию содержимого (для контейнеров с иллюстрациями), значение по умолчанию: true;
considaringParentscale- проводить масштабирование с учетом изменения размеров родительского объекта или рассчитывать его автономно (значение по умолчанию: true).
Принцип сохранения выделенных объектов в виде файла следующий: если выбран текстовый фрейм, воспользуемся непосредственно методом exportFile{). Если же выбран любой из графических форматов, выделенные объекты через буфер обмена переносим в новый документ, размеры которого в точности совпадают с размерами области, занятой выделенными объектами. После этого используем снова метод exportFileO.