Выравнивание всех объектов на всех страницах по центру

  • Автор темы Автор темы Vadim_PDF
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

Vadim_PDF

Топикстартер
15 лет на форуме
Сообщения
1 648
Реакции
237
Нужен простейший скрипт который выделяет все на всех страницах и выравнивает по центру. Без меню, GUI и т.д.
Что-то вроде
activeDocument.allPages.allPageItems.align (AlignOptions.HORIZONTAL_CENTERS [AlignDistributeBounds.PAGE_BOUNDS], AlignOptions.VERTICAL_CENTERS [AlignDistributeBounds.PAGE_BOUNDS]); - это бред, понимаю. Просто не силен (а точнее полный ноль) в программировании. Поэтому уже 2 день пытаюсь вникнуть.
 
Ответ: Выравнивание всех объектов на всех страницах по центру

Eugenyus мне сделал два таких скрипта

center_on_pages.jsx
Код:
var myDoc = app.activeDocument;
myDoc.viewPreferences.rulerOrigin = RulerOrigin.SPREAD_ORIGIN;
var p = myDoc.pages;
for (i=0;i<p.length;i++){
   var obj = p[i].pageItems[0];
   var gb = obj.geometricBounds;
   var wo = gb[3]-gb[1];
   var ho = gb[2]-gb[0];
   
   var pb = p[i].bounds;
   var cx = pb[1]+(pb[3]-pb[1])/2;
   var cy = pb[0]+(pb[2]-pb[0])/2;
   
   var y1 = cy - ho/2;
   var x1 = cx - wo/2;
   var y2 = cy + ho/2;
   var x2 = cx + wo/2;
   
   obj.geometricBounds = [y1,x1,y2,x2];
   obj.fit(FitOptions.CONTENT_TO_FRAME);
   }

center_on_spreads.jsx
Код:
var myDoc = app.activeDocument;
myDoc.viewPreferences.rulerOrigin = RulerOrigin.SPREAD_ORIGIN;
var s = myDoc.spreads;
for (j=0;j<s.length;j++){
   var p = s[j].pages;
   try{
   var obj = s[j].pageItems[0];
   var gb = obj.geometricBounds;
   var wo = gb[3]-gb[1];
   var ho = gb[2]-gb[0];
   
   var pb0 = p[0].bounds;
   var pb1 = p[1].bounds;
   
   var cx = pb0[1]+(pb1[3]-pb0[1])/2;
   var cy = pb0[0]+(pb1[2]-pb0[0])/2;
   
   var y1 = cy - ho/2;
   var x1 = cx - wo/2;
   var y2 = cy + ho/2;
   var x2 = cx + wo/2;
   
   obj.geometricBounds = [y1,x1,y2,x2];
   obj.fit(FitOptions.CONTENT_TO_FRAME);
   }catch(e){}
   }
 
  • Спасибо
Реакции: catpaw
Ответ: Выравнивание всех объектов на всех страницах по центру

rudtp, что бы я без тебя делал...
Спасибо suntory!
 
Ответ: Выравнивание всех объектов на всех страницах по центру

Спасибо Eugenyus ;)
 
Статус
Закрыто для дальнейших ответов.