Может быть в ЦС3 или 4 наконец-то реализовано открытие документов в заданном размере окна - как это обычно делается в многооконных интерфейсах, где пользователь определяет размер одного окна и все документы затем открываются в этом размере. Но в ЦС2 ничего такого нет.
Кроме того команда Arrange > Match Zoom масштабирует отображение в процентах от указанного и не уменьшает окна. То есть лажа полная.
Я написал скрипт который подгоняет размер окна к заданному в пикселях и попробовал его привязать к событию Open - тоже получилась лажа: ФШ сначала открывает все указанные в списке файлы, а затем обрабатывает их по-очереди указанным скриптом, который в силу органичений управления отображением из скриптов получился тоже циклический.
Поэтому лучше его связать с шорткатом и вызывать самостоятельно в случае необходимости. То есть когда вы открыли пачку файлов и они забили раскрывшись максимально весь рабочий стол так, что хрен поймешь где что.
Внизу закомментированы вызовы функции imageView с аргументами которые можно использовать для указанных в комментах целей.
Кроме того команда Arrange > Match Zoom масштабирует отображение в процентах от указанного и не уменьшает окна. То есть лажа полная.
Я написал скрипт который подгоняет размер окна к заданному в пикселях и попробовал его привязать к событию Open - тоже получилась лажа: ФШ сначала открывает все указанные в списке файлы, а затем обрабатывает их по-очереди указанным скриптом, который в силу органичений управления отображением из скриптов получился тоже циклический.
Поэтому лучше его связать с шорткатом и вызывать самостоятельно в случае необходимости. То есть когда вы открыли пачку файлов и они забили раскрывшись максимально весь рабочий стол так, что хрен поймешь где что.
Код:
if (documents.length == 0) {
alert("No document");
} else {
// порог размера экранного отображения в пикселях по вертикали
const maxh = 500;
var our = app.preferences.rulerUnits;
app.preferences.rulerUnits = Units.PIXELS;
var acd = app.activeDocument;
for (var i = 0; i < documents.length; i++) {
var doc = documents[i];
var h = doc.height.value;
app.activeDocument = doc;
// отображаем пиксел в пиксел
imageView('ActP');
// уменьшаем отображение
while (h > maxh) {
imageView('ZmOt');
h = Math.floor(h/1.5);
}
}
app.preferences.rulerUnits = our;
app.activeDocument = acd;
}
function imageView (view)
{
var id73 = charIDToTypeID( "slct" );
var desc17 = new ActionDescriptor();
var id74 = charIDToTypeID( "null" );
var ref13 = new ActionReference();
var id75 = charIDToTypeID( "Mn " );
var id76 = charIDToTypeID( "MnIt" );
var id77 = charIDToTypeID( view );
ref13.putEnumerated( id75, id76, id77 );
desc17.putReference( id74, ref13 );
executeAction( id73, desc17, DialogModes.NO );
}
//imageView('FtOn'); // equivalent to Ctrl0
//imageView('ZmIn'); // zoom in
//imageView('ZmOt'); // zoom out
Внизу закомментированы вызовы функции imageView с аргументами которые можно использовать для указанных в комментах целей.