[ID CC-CC2022] Как добавить расстояние между страницами на развороте?

  • Автор темы Автор темы Gipnoz
  • Дата начала Дата начала
Да, так работает. Но получается достаточно длинный код с математическими выражениями так как точка привязки в центре разворота. Может есть функция по распределению расстояния между объектами, в данном случае страницами?
 
Все спасибо. Способ в принципе рабочий, все получилось. Думаю можно было бы проще, но если работает, то зачем трогать)
 
Способом, конечно, не поделитесь?
 
  • Спасибо
Реакции: Eugenyus
Способом, конечно, не поделитесь?
Поделюсь тем, что получилось. Сильно не пинайте, это мой первый код. Возможно кто подскажет, что можно было сделать правильней. В идеале надо прикрутить диалоговое окно и расстановку меток.
JavaScript:
 with (app.marginPreferences){
 //задаем нулевые поля для шаблона
        var myY1 = top;
        var myX1 = left;
        var myY2 = bottom;
        var myX2 = right;
         top = 0;
        left = 0;
        bottom = 0;
        right = 0;
    }

//задаем размеры элементов переплетной крышки
var mySTOR_Heght = '206 mm'; //высота переплетной крышки
var mySTOR_Width = '142 mm'; //ширина переплетной крышки
var myOTST_Width = '20 mm'; //ширина отстава
var myRAST_Width = '8 mm'; //ширина расстава
var myBleed = '20 mm'; //загибы

//создаем новый документ
    var myDocument = app.documents.add();

// Установка единиц измерения и происхождения линейки.
        with(myDocument.viewPreferences){
        horizontalMeasurementUnits = MeasurementUnits.MILLIMETERS;
        verticalMeasurementUnits = MeasurementUnits.MILLIMETERS;
        myDocument.viewPreferences.rulerOrigin = RulerOrigin.pageOrigin;
    }

//параметры документа
with(myDocument.documentPreferences){
       //задаем размеры страниц
       pageWidth = mySTOR_Width;
       pageHeight = mySTOR_Heght;
       //ориентация страниц
       pageOrientation = PageOrientation.portrait;
       // количество страниц
       pagesPerDocument = 3;
       //Bleed
       documentBleedUniformSize = true;
       documentBleedTopOffset = myBleed;
       //развороты отключены
       document.documentPreferences.facingPages = false;
}

var myDocument = app.activeDocument;
var myPages = myDocument.pages;

//меняем размеры отстава 
    myPages.item (1) .resize (CoordinateSpaces.INNER_COORDINATES,
                                    AnchorPoint.CENTER_ANCHOR,
                                    ResizeMethods.REPLACING_CURRENT_DIMENSIONS_WITH ,
                                    [UnitValue(myOTST_Width).as('pt'), UnitValue(mySTOR_Heght).as('pt')]);


//объедением страницы в разворот
app.activeDocument.pages[1].move(LocationOptions.AT_END, app.activeDocument.spreads[0]);
app.activeDocument.pages[2].move(LocationOptions.AT_END, app.activeDocument.spreads[0]);


//двигаем страницы
app.activeDocument.pages[2].reframe(CoordinateSpaces.SPREAD_COORDINATES, [[UnitValue(myOTST_Width).as('pt')/2+(UnitValue(myRAST_Width).as('pt')*2), -UnitValue(mySTOR_Heght).as('pt')/2], [UnitValue(myOTST_Width).as('pt')/2+(UnitValue(myRAST_Width).as('pt')*2)+UnitValue(mySTOR_Width).as('pt'), UnitValue(mySTOR_Heght).as('pt')/2]]);
app.activeDocument.pages[1].reframe(CoordinateSpaces.SPREAD_COORDINATES, [[-UnitValue(myOTST_Width).as('pt')/2,-UnitValue(mySTOR_Heght).as('pt')/2], [UnitValue(myOTST_Width).as('pt')/2, UnitValue(mySTOR_Heght).as('pt')/2]]);
 
а штатных меток не хватает?
 
А зачем такая страшная конструкция, почему нельзя было сразу по нормальному задать?
Знать бы как. Я с Javascript работаю 4 дня. На форумах нашел такой пример.
Буду рад если подскажите как правильней сделать.
 
Ну, формально говоря, канонiчно делать так как у вас
Но уж больно громоздко. Я, например, когда надо задать что то в миллиметрах делаю так:
Код:
var mm=2.834645669;

var size=10*mm;
 
а я так
app.scriptPreferences.measurementUnit = MeasurementUnits.MILLIMETERS;
 
Можно и так, зато мой вариант универсально работает во всех адобовских скриптах хоть в индизайне, хоть в иллюстраторе :4)
 
обычный нож удобнее швейцарского
 
Ну, формально говоря, канонiчно делать так как у вас
Но уж больно громоздко. Я, например, когда надо задать что то в миллиметрах делаю так:
Код:
var mm=2.834645669;
var size=10*mm;
app.scriptPreferences.measurementUnit = MeasurementUnits.MILLIMETERS;
У меня в обоих случаях значения для изменяемых объектов перешли в пункты. Что-то делаю не так. В каком месте эти значения надо указывать?
 
Не пойму по картинке. Давайте по порядку - допустим вам надо задать отступ 20 миллиметров, вы можете сделать как у вас, можете просто написать 20*mm а можете в настройках app указать миллиметры и писать c этого момента просто 20
Где засада?
 
Не пойму по картинке. Давайте по порядку - допустим вам надо задать отступ 20 миллиметров, вы можете сделать как у вас, можете просто написать 20*mm а можете в настройках app указать миллиметры и писать c этого момента просто 20
Где засада?
Все, допёр.
var mm=2.834645669;
var size=10*mm;
С этим вариантом засада у меня была в том что размеры документа у меня задаются уже мм, а я их умножал "mm".
 
Возможно уже неактуально, но есть еще один метод добавить расставы (костыль конечно).

Включаем документу Facing Page, изменяем размер корешка с учетом будущих расставов, отключаем Facinf Page, возвращаем корешку предыдущее значение.

Особенность в том, что при Facing Page полоса остается "прилипшей" к соседним, тогда как без Facing Page расстояния сохраняются, включая случаи с нахлёстом полос.
 
  • Спасибо
Реакции: Gipnoz и Skvoznyak