}
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).
При этом предусмотрены следующие опции импорта документа:
размещение на всю страницу, включая поля;
на всю страницу (без полей);
в центр страницы;
в левый верхний угол страницы.