Ну, это идеологически не правильно.скрипт для ресайза по высоте для фотошопа пишется в одну строчку
Особенно, на операциях "открыть-что-то сделать-сохранить-закрыть"
Как известно, индусский скриптинг на больших объемах файлов работает крайне нестабильно.
Да это понятно, но вдруг валиться будет? А в батниках валиться некудао том и речь, ТС явно более знаком с фотошоп, чем с командной строкой, ghostscript и imagemagik
боюсь, что работать он будет очень грустно с большим количеством файлов.
Тут еще один дестабилизирующий фактор - сочетание экшна со скриптомзачем работать с большим количеством файлов? открыл, обработал, записал, закрыл. Один файл.
Если открываю руками, то все нормально.EPS открывается-то нормально в PhotoShop, искажения точно при изменении размера вносятся?
а болтологией некогда заниматься
Красивее поставить серверную версию, без окон.Причем, согласись, поставить убунту на VMware и пускать оттуда командную строку - что может быть красивее?
Тогда тем более прямая дорога открытие файла в скрипт вноситьЕсли в диалоге «Пакетная обработка» не стоит «Подавить диалоги параметров открытия», то открываются как надо (сохранять пропорции стоит там по умолчанию), но приходится все время тыкать на ОК...
var epsOpts = new EPSOpenOptions();
epsOpts.antiAlias = true;
epsOpts.mode = OpenDocumentMode.RGB;
epsOpts.resolution = 72;
epsOpts.constrainProportions = true;
epsOpts.height = new UnitValue( 50, 'px' );
#target Photoshop
app.bringToFront;
var inFolder = Folder.selectDialog("Please select folder to process");
if(inFolder != null){
var fileList = inFolder.getFiles(/\.(eps)$/i);
var outfolder = new Folder(decodeURI(inFolder) + "/Processed");
if (outfolder.exists == false) outfolder.create();
for(var a = 0 ;a < fileList.length; a++){
if(fileList[a] instanceof File){
var doc= open(fileList[a],epsOpts);
var docname = fileList[a].name.slice(0,-4);
while(app.documents.length){
var saveFile = new File(decodeURI(outfolder) + "/" + docname + ".png");
SavePng(saveFile);
activeDocument.close(SaveOptions.DONOTSAVECHANGES) ;
}
}
}
};
function SavePng(saveFile){
var myPngSaveOptions = new PNGSaveOptions();
activeDocument.saveAs(saveFile, myPngSaveOptions, true,Extension.LOWERCASE);
}
А, кстати, попробуй TIFF скормить по наглому, а вдруг?В условии не только епсы, но и тифы, а их gs не возьмёт на вход.
То ли это ошибка в примере, т.к. tiger.ps я помню, а вот что там .png его же лежит не помню...gs -sDEVICE=png16m -r600 -dDownScaleFactor=3 -o tiger.png examples/tiger.png
Закрыл Фотошоп, открыл Фотошоп. Там же внутри Фотошопа некислая такая утечка памяти имеется.зачем работать с большим количеством файлов? открыл, обработал, записал, закрыл. Один файл.
Указанным выше путем - ВНУТРИ фотошопаЗакрыл Фотошоп, открыл Фотошоп. Там же внутри Фотошопа некислая такая утечка памяти имеется.
Но, с другой стороны, есть удобный функциональный фотошоп. ЗАЧЕМ городить через GhostScript?И вообще я не понимаю. Есть удобное, функциональное решение через GhostScript ЗАЧЕМ городить через PhotoShop?