II Преобразуем объект fullName (тип - файл) в строку II для возможности работы с ним как с текстовой строкой myFileName = app.activeDocument.fullName.toString();
II Если файл имеет расширение indd, меняем его на indt if (myFileName.match(".indd") != null){
II Создаем шаблон (регулярное выражение) для поиска
II (см. приложение 2)
var myRegularExpression = /\.indd/i
II Выполняем замену
myFileName = myFileName.replace(myRegularExpression, ".indt");
}
}
II Полученную новую строку используем как параметр II для сохранения файла под новым именем app.activeDocument.save(File(myFileName), true); Альтернативный вариант- без использования регулярных выражений - приведен в листинге 4.6.
Листинг 4.6. Сохранение публикации в виде шаблона (вариант 2)
if (myFileName.match(".indd") != null){
II Разбиваем имя файла на отдельные фрагменты,
II в качестве разделителя используем точку.
II Если имя файла типичное (используется только одна точка -
II между именем файла и его расширением), то в первом фрагменте II окажется имя файла, во втором - расширение.
II Используем первый фрагмент, меняя расширение myFileName = myFileName.split(".")[0] + ".indt");
II Полученную новую строку используем как параметр
II для сохранения файла под новым именем
app.activeDocument.save(File(myFileName), true);
4.3. Закрытие документа
Закрытие документа выполняется методом close (): close([saving] [, savingln])
Здесь:
saving- может принимать значения:
• SaveOptions.no - закрывает документ без сохранения;
• SaveOptions. yes - перед закрытием сохраняет документ;
• SaveOptions. ask- InDesign отображает диалоговое окно для сохранения файла;
savingin- путь, по которому файл будет сохранен.
Если выбран вариант SaveOptions.yes, необходимо указать путь для сохранения (параметр savingin).
Рассмотрим два варианта сохранения документа. Первый представлен в листинге 4.7.
Листинг 4.7. Сохранение документа (вариант 1)
арр.documents[0].closet); И второй - через ссылку на активный документ (листинг 4.8).
Листинг 4 8. Сохранение документа (вариант 2)
арр.activeDocument.close() ; Второй вариант более предпочтителен при работе с несколькими открытыми публикациями, поскольку в таком случае нет необходимости получать порядковый номер текущего документа.
В листинге 4.9 представлен пример использования метода close ().
Листинг 4.9. Использование метода close ()
if(!арр.activeDocument.saved){
II Сохранение в ручном режиме арр.activeDocument.close(SaveOptions.ask);
II И без вмешательства пользователя
var myFile = File("/c/myTestDocument.indd"); арр.activeDocument.close(SaveOptions.yes, myFile);
}else{
II Если публикация была сохранена арр.activeDocument.close();
4.4. Работа с единицами измерения
InDesign предусматривает работу со многими единицами измерения - дюймы, сантиметры, точки и т. п. Программа поддерживает явное задание единиц измерения, например, "24 мм", "48 pt". Если же задать величину без указания размерности, InDesign будет использовать размерность, установленную по умолчанию. Это зачастую приводит к возникновению проблем, поскольку объект может выйти за пределы монтажного стола и редактор выдаст ошибку.