Кроме экономии времени, затрачиваемого на поиск проблемных файлов данным скриптом, нельзя пропустить побочный эффект от использования вообще любого самостоятельно написанного скрипта- общее повышение на-' строения: это как раз один из тех случаев, когда, говоря словами известной песни, не мы, а "мир прогнулся под нас". Заметьте: вы не просто работаете в программе, а управляете ею - а это две ощутимые разницы.

! Листинг 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]);


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