- Сообщения
- 33 701
- Реакции
- 11 004
Скажи спасибо что хоть так сказали, а не какой нибудь PARM показали, как в иллюстратореЗабавная русско-английская каша в окошке.
Скажи спасибо что хоть так сказали, а не какой нибудь PARM показали, как в иллюстратореЗабавная русско-английская каша в окошке.
Поделюсь тем, что получилось. Сильно не пинайте, это мой первый код. Возможно кто подскажет, что можно было сделать правильней. В идеале надо прикрутить диалоговое окно и расстановку меток.Способом, конечно, не поделитесь?
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]]);
А зачем такая страшная конструкция, почему нельзя было сразу по нормальному задать?UnitValue(myOTST_Width).as('pt')
Знать бы как. Я с Javascript работаю 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
Где засада?