}

dig.destroy (); Рассмотрим шаги, которые скрипт выполняет. После вывода диалогового окна, в котором пользователь задает требуемые параметры, выполняем просмотр всех страниц с одновременным считыванием всех объектов на них:

for (i=0; i < document.pages.length; i++) { currPage = document.pages[i];

for (j=0; j < currPage.allPageltems.length; j++)

(

currPageltem = currPage.allPageltems[j]; Далее идет проверка того, что на странице есть изображения -- она вызвана тем, что если на странице нет ни одного изображения, коллекция pageltem. images становится недоступной (у нес все свойства становятся в данном случае undefined- недочет программистов) и, соответственно, скрипт останавливается.

if (typeof currPageltem.images != ’undefined')

(

for (k=0; k < currPageltem. images.length; k++)

{

currlmage = currPageltem.images[k]; Затем для каждого изображения проверяем оба разрешения: заданное в изображении (actualPpi) и фактическое (effectivePpi), которое получается в результате применения всех трансформаций над изображением (масштабирования), и заносим текущие значения в список:

if (currlmage.actualPpi[0] < dpiValue II currlmage.actualPpi[1] < dpiValue || currImage.effectivePpi[0] < dpiValue || currlmage.effectivePpi[1] < dpiValue)

{

imageList[numlmagesFound] = currlmage; imagePageList[numlmagesFound] = currPage; Кроме того, записываем в него , дополнительную информацию: о номере страницы, пути к файлу изображения - они пригодятся при выводе информации в отчете

imagelnfoList[numlmagesFound] = "Page " + Ч>

currPage.name +": actual DPI=[" + currlmage.actualPpi[0] +

" + currlmage.actualPpi[1] + "]" +" effective DPI=[" + currlmage.effectivePpi[0] +

currImage.effectivePpi[l] + "]" +" filename='" + currlmage.itemLink.filePath + numlmagesFound ++; Если искомые изображения найдены, отображаем окно с результатами поиска. В нем отображаются в списке все найденные изображения. При щелчке на любом из них (dropdown, selectedlndex) InDesign переходит на соответствующую страницу, и, более того, изображение становится выделенным - это пригодится в случае, если публикация богата на изображения и на странице находятся несколько изображений:

document.layoutWindows[0].activePage = imagePageList[dropdown.selectedlndex]; document.select (imageList[dropdown.selectedlndex]);

9.3. Импорт графики

Вопросы экспорта уже достаточно широко были освещены в предыдущих примерах, теперь рассмотрим вопросы импорта. Процесс импорта принципиально ничем от экспорта не отличается, в чем можно убедиться на следующем примере, в котором автоматизирован импорт многостраничного PDF-файла (листинг 9.4).

При этом предусмотрены следующие опции импорта документа:

размещение на всю страницу, включая поля;

на всю страницу (без полей);

в центр страницы;

в левый верхний угол страницы.


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