[ID CC-CC2021] Можно ли скриптом вставлять сразу по 2 страницы?

hulk1776

Топикстартер
15 лет на форуме
Сообщения
725
Реакции
21
Макет имеет левую и правую полосы (различаются ширина полей слева и справа. Поэтому если добавить любое нечетное кол-во полос, макет портится и приходится руками все возвращать на свои места. Но если вставить четное кол-во полос, все хорошо. Можно ли скриптом вставить сразу 2 страницы?
Через команду меню Insert можно. Но скрипт знает только команду add.
 

Вложения

  • Pages.jpg
    Pages.jpg
    7.4 КБ · Просм.: 142

afalbert

10 лет на форуме
Сообщения
120
Реакции
88
Можно убрать галочку "разрешить перемещение страниц документа" и макет не будет портиться. наверно в скрипте можно убирать эту галочку перед вставкой страницы, а потом ставить ее обратно, если она так нужна
 
  • Спасибо
Реакции: hulk1776

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835

Eugenyus

12 лет на форуме
Сообщения
1 960
Реакции
3 589
  • Спасибо
Реакции: densen

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835

hulk1776

Топикстартер
15 лет на форуме
Сообщения
725
Реакции
21
Можно убрать галочку "разрешить перемещение страниц документа" и макет не будет портиться. наверно в скрипте можно убирать эту галочку перед вставкой страницы, а потом ставить ее обратно, если она так нужна
Спасибо - самое быстрое решение. Откуда галочка взялась - уже не вспомнить. Без нее все встает на свои места.
Не по теме:
(надо будет написать в адобовский саппорт - пусть убирают ее вообще'fp'
 

George

I wish I was a monster you think I am
15 лет на форуме
Сообщения
17 301
Реакции
7 864

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Руль в машине мешает - надо написать в Спортлото чтоб убрали и дороги все спрямили
 
  • Спасибо
Реакции: NNN5

afalbert

10 лет на форуме
Сообщения
120
Реакции
88
Спасибо - самое быстрое решение. Откуда галочка взялась - уже не вспомнить. Без нее все встает на свои места.
Не по теме:
(надо будет написать в адобовский саппорт - пусть убирают ее вообще'fp'
Не, не надо ее убирать :) она часто нужна.
 

densen

15 лет на форуме
Сообщения
751
Реакции
639
Можно и не руками)
JavaScript:
var p = app.activeDocument.pages;
for (i = 0; i < p.length; i++){
    p[i].appliedMaster = p[i].appliedMaster;
    }
Такой скрипт будет панацеей, если все элементы текущей страницы являются дочерними оных с мастер-страницы. Все другие фреймы на правильное место на вернутся.
У меня схожая проблема, но не при добавлении страниц, а при разбиения документа на Sections. Взял чей-то скрипт, который страницам с заданным абзацным стилем присваивает нужную мастер-страницу, и добавил в него присвоение этим страницам Color Label для быстрого поиска и добавление Section с автоматическим продолжением нумерации. При разбиении на эти Главы происходит смещение фреймов от центральной линии наружу на величину разницы между внутренним и внешним полем (Margin). Не понимаю, в чем засада. Фреймы на мастер-страницах имеют аттрибут "Primary text flow". Придется по-прежнему разбивать вручную, если помощь не подоспеет.


JavaScript:
var myDoc = app.activeDocument;
var myParagraphs = myDoc.stories.everyItem().paragraphs.everyItem().getElements();
var myPage = myDoc.pages;
for(i=0; i<myParagraphs.length; i++)
{
if(myParagraphs[i].appliedParagraphStyle.name == "Article Name Rus"){
myParagraphs[i].parentTextFrames[0].parentPage.appliedMaster = myDoc.masterSpreads.item("B-Master");
myParagraphs[i].parentTextFrames[0].parentPage.pageColor = myParagraphs[i].parentTextFrames[0].parentPage.appliedMaster.pageColor; //Если цвет мастер-страницы уже задан
//myParagraphs[i].parentTextFrames[0].parentPage.pageColor = myParagraphs[i].parentTextFrames[0].parentPage.appliedMaster.pageColor = UIColors.RED; //Если цвет мастер-страницы еще не задан
myDoc.sections.add(myParagraphs[i].parentTextFrames[0].parentPage, {continueNumbering:true});
}
}