Возможно ли в Illustrator CS4 средствами JS сделать "fit artboard to Artwork bounds"?
Периодически пытаюсь разобраться в illustrator_scripting_reference_javascript_CS4.pdf что-то не нахожу похожих методов и свойств... По адобовскому форуму понял, что в SC3 такое не возможно... В-общем зашел в тупик.
Заранее спасибо за ответы.
Посмотрел reference для CS3.
Что если перебрать все бъекты для определения координат самой левой верхней и самой правой нижней точек geometricBounds. Так получим координаты Artwork bounds и, соответственно, размеры которые дожен принять Artboard. Поменять размеры Artboard, затем сдвинуть все объекты. Долго конечно, но должно работать.
Да, скорее всего буду делать именно так.
Думал одной-двумя строчками решается, но вижу, что придется разбираться по-настоящему.
Двумя строчками можно решить если предварительно выделять всё Crtl+A.
moroz9
Sep 30 2009, 16:10
Цитата(oyan @ Jul 27 2009, 10:09)

Да, скорее всего буду делать именно так.
Думал одной-двумя строчками решается, но вижу, что придется разбираться по-настоящему.
Ну и как? удалось ли решить данную задачку?
Пока увы нет.
Не врублюсь как обратиться к самому нижнему объекту

Можно было как предлагали записать экшен ctl+a и потом вызвать js кот. делает размер листа по выделенному, но оказывается вызов js из экшенов работает только до перезагрузки илла...
AirGraph
Sep 30 2009, 19:28
Думаю надо сгруппировать все объекты, а далее все будет определяться координатами и размером этой группы.
AirGraph.
OlegButrin
May 7 2010, 13:58
Код
function getArtboardRectangle (myDoc) {
if (myDoc.pageItems.length == 0) {
return myDoc.artboards[0].artboardRect;
}
var result = myDoc.pageItems[0].visibleBounds;
for (var c = 0; c < myDoc.pageItems.length; c++) {
var myPI = myDoc.pageItems[c].visibleBounds;
result[0] = Math.min(myPI[0], result[0]);
result[1] = Math.max(myPI[1], result[1]);
result[2] = Math.max(myPI[2], result[2]);
result[3] = Math.min(myPI[3], result[3]);
}
return result;
}
app.activeDocument.artboards[0].artboardRect = getArtboardRectangle (app.activeDocument);
Работает в Иллюстраторе не ниже CS4.
Спасибо огромное. Все работает!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста,
нажмите сюда.