if(aD.pages>2){

aD.documentPreference.allowPageShuffle = false; aD.pages[0].remove!);

}

Остальные действия - в листинге 11.20.

Пистинг"11:20,Финальнь1в шаги скрипта,^ ’ '» >.

resF = File("C/$$ini.txt"); resF.open(1r1);

EgoM = resF.readln();

HR = resF. readln () ; pageSize = resF. readln () ; toPrint = resF.writeln(); resF.close();

exportToPDF();

if (HR) postToServer();

alert(copiedFilesArr.toString() + "\rwere successfully copied"); Разберем шаги подробнее.

Сначала считываем содержимое файла настроек $$ini.txt и теперь знаем, что ввел пользователь в диалоговом окне (в самом начале). Общая для нескольких процессов функция - exportToPDF о. Она использует заранее созданный набор предустановок для формирования PDF. Удобно, что InDesign понимает название набора в текстовом виде - для наших целей достаточно создать два набора: LoRes_A4 для создаиия PDF на страницу и LoRes_A3 на целый разворот соответственно. Поскольку эти PDF-файлы нужны исключительно для утверждения, в настройках наборов установлено ухудшение качества растровых изображений до 100 dpi, чего вполне достаточно для подобной задачи и, с другой стороны, не нагружает электронную почту.

Имя файла PDF формируется из названия публикации, т. е. если имя у последней myPublication.indd, то будет сформирован файл myPublication_ preview.pdf. Необходимость в окончании "preview" продиктована самой жизнью: чтобы случайно кто-то не подставил этот PDF вместо файла с высоким разрешением.

В случае, если задан вывод на печать, снова-таки используется заранее предопределенный набор установок, на этот раз для печати. В отличие от метода export File о метод print () не понимает текстовое название предустановки, приходится использовать индексы. Их можно получить, написав дополнительный мини-скрипт либо подбором, что будет быстрее: в нашем случае ими будут printerPresets [3] (распечатывает на листе АЗ) И printer Presets [4] (на листе А4) соответственно (листинг 11.21).

Листинг 11.21. Вывод в PDF

function exportToPDF(){

var newLRFile = new File(myNameNoExt+'_preview.pdf') ; if (HR=='false') {

if (aD.exportFile(ExportFormat.pdfType, newLRFile, false,

'LoRes' + pageSize))

}else{

if (toPrint) {

if(pageSize=='_A41) aD.print(false, app.printerPresets[3]); else aD.print(false, app.printerPresets[4]);

}

}

aD.save();

}

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

Процесс переноса файлов в ExtendedScript реализован методом сору о: сначала указывается исходный файл, затем - новое его расположение. Сначала формируем пути - К папке со сборочным макетом (MagazinelFolder) и к папке на сервере (serverFoider). Если последняя не существует, создаем ее. Также задаем два пути для файла с публикацией - на локальном компьютере (iddAtHome) и на сервере (iddAtServer). Затем в цикле просматриваем все имеющиеся в публикации связи и получаем для каждой путь, где она расположена (linkAtHome), и формируем путь, который она должна иметь на сервере (linkAtServer).


⇐ вернуться назад | | далее ⇒