Кроме экономии времени, затрачиваемого на поиск проблемных файлов данным скриптом, нельзя пропустить побочный эффект от использования вообще любого самостоятельно написанного скрипта- общее повышение на-' строения: это как раз один из тех случаев, когда, говоря словами известной песни, не мы, а "мир прогнулся под нас". Заметьте: вы не просто работаете в программе, а управляете ею - а это две ощутимые разницы.
! Листинг 9.3. Поиск изображений с разрешением ниже заданного
document = app.activeDocument; imageList = new Array (); imagePageList = new Array (); imagelnfoList = new Array (); numlmagesFound = 0;
// Задание диалога dig = app.dialogs.add
((name:"Поиск изображений с разрешением ниже заданного"});
column = dig.dialogColumns.add ();
// Первая колонка
row = column.dialogRows.add ();
row.staticTexts.add
({staticLabel:"Найти все изображения с разрешением ниже"));
// Вторая колонка
row = column.dialogRows.add ();
editbox = row.integerEditboxes.add
({editContents:"300", smallNudge:1, largeNudge:10, minimumValue:1, maximumValue:10000});
dialogCanceled = (dig.show() == false); dpiValue = editbox.editContents; dig.destroy ();
if (dialogCanceled) { exit ();
}
for (i=0; i < document.pages.length; i++)
{
currPage = document.pages[i];
for (j=0; j < currPage.allPageltems.length; j++)
{
currPageltem = currPage.allPageltems[j]; if (typeof currPageltem.images != 'undefined')
I
for (k=0; k < currPageltem.images.length; k++)
{
currlmage = currPageltem.images[k]; if (currlmage.actualPpi[0] < dpiValue I I currlmage.actualPpifl] < dpiValue I I currlmage.effectivePpi[0] < dpiValue I I currlmage.effectivePpi[1] < dpiValue)
{
imageList[numlmagesFound] = currlmage; imagePageList[numlmagesFound] = currPage;
imagelnfoList[numlmagesFoundJ = "Page " +
currPage.name +": actual DPI=[" + currlmage.actualPpi[0] +
"," + currlmage.actualPpi[1] + "]" +" effective DPI=[" +
currImage. effectivePpi [0] +
currImage.effectivePpi[1] + "]" +" filename='" + currImage.itemLink.filePath + numlmagesFound ++;
}
}
}
}
}
if (numlmagesFound ==0)
{
alert ("Изображений с разрешением ниже " + dpiValue +
" DPI не найдено.", "Поиск изображений по их разрешению"); exit ();
}
// Действия после просмотра всей публикации: если проблемные // изображения найдены, вывод их в виде списка
dig = арр.dialogs.add ({name:" Поиск изображений по их разрешению ", canCancel:true});
column = dig.dialogColumns.add (); row = column.dialogRows.add ();
row.staticTexts.add ({staticLabel:"Выберите изображение и нажмите ОК для перехода на него")); row = column.dialogRows.add (); dropdown = row.dropdowns.add ((minWidth:400, stringList:imagelnfoList, selectedlndex:0});
if (dig.show () = true)
(
document.layoutWindows[0].activePage = imagePageList[dropdown.selectedlndex];
document.select (imageList[dropdown.selectedlndex]);