Изменение размера текстового фрейма при изменении мастера

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

enaj

Участник
Топикстартер
Сообщения
65
Реакции
0
Есть книга, текст залит по определенному мастеру, сделана верстка. После чего потребовалось изменить размер текстового блока. В мастере я размеры поменяла, но текстовый фрейм остался старых размеров.
Обычно я просто удаляла все страницы кроме первой и заново добавляла страницы, после чего текстовый фрейм ложился точно по мастеру. Но в нынешней публикации много всяких рисунков, вставленных поверх публикации, и они, естественно, удаляются.

Есть какой-то другой, менее проблемный способ?
 
Ответ: Изменение размера текстового фрейма при изменении мастера

В мастере я размеры поменяла, но текстовый фрейм остался старых размеров.
Значит координаты вытащенных с мастера фреймов на страницах менялись, иначе они бы подхватывали изменения.

Требуемые фреймы связаны? Как должны меняться размеры - "в одну сторону", "зеркально"? Подробнее опишите ТЗ.
 
Ответ: Изменение размера текстового фрейма при изменении мастера

фреймы связаны.
в мастере у меня были поля, например, 20*20*20*20, я поменяла на 22*22*20*20. В публикации видно, что границы мастера раздвинулись, но текстовый фрейм остался в размерах 20*20*20*20. Т.е. чтобы его привести к новому размеру, надо растягивать фрейм на каждой странице
 
Ответ: Изменение размера текстового фрейма при изменении мастера

Измените размеры первого в цепочке фрейма, выделите его и запустите этот скрипт:
Код:
var myTF = app.activeDocument.selection[0];
var allTF = myTF.parentStory.textContainers;
var myGB = myTF.geometricBounds;
for (i=1;i<allTF.length;i++){
	allTF[i].geometricBounds = myGB;
	}
 
  • Спасибо
Реакции: Naz
Ответ: Изменение размера текстового фрейма при изменении мастера

А эти галки стоят?
 

Вложения

  • Untitled-1.gif
    Untitled-1.gif
    7.9 КБ · Просм.: 1 685
Ответ: Изменение размера текстового фрейма при изменении мастера

А эти галки стоят?
нет, не стояли, поставила, но ничего не изменилось

Измените размеры первого в цепочке фрейма, выделите его и запустите этот скрипт:
сделала, но он странно работает: размеры поменялись, но теперь четные страницы все пустые, а на нечетной -два слоя друг на друге
 
Ответ: Изменение размера текстового фрейма при изменении мастера

странно работает

Не по теме:
Надеюсь, копию публикации сохранили?

Правой кнопкой мыши на линейке, в выпавшем меню установите Ruler Per Spread и запустите еще раз.

Хотя нет, там скорее всего как раз Ruler Per Page нужен.
 
Ответ: Изменение размера текстового фрейма при изменении мастера


Не по теме:
Надеюсь, копию публикации сохранили?

Правой кнопкой мыши на линейке, в выпавшем меню установите Ruler Per Spread и запустите еще раз.

Хотя нет, там скорее всего как раз Ruler Per Page нужен.
такс) на 90% уже все нормально) только вылезла еще проблемка - на тех же четных страницах (текст уже встал) текстовый фрейм сдвинут на 0,5 см внутрь публикации (при этом размеры его правильные)


Не по теме:

Да, мы уже ученые :E]

 
Ответ: Изменение размера текстового фрейма при изменении мастера

текстовый фрейм сдвинут на 0,5 см внутрь публикации
Выделите любой фрейм из нужной цепочки, единицы измерения проверьте, чтобы были миллиметры, и пробуйте:
Код:
var myTF = app.activeDocument.selection[0];
var allTF = myTF.parentStory.textContainers;
var startTF = 0;
if (allTF[startTF].parentPage.side == 1919382632) {startTF++};
for (i=startTF;i<allTF.length;i=i+2){
	allTF[i].move(undefined,[-0.5, 0]);
	}
 
Ответ: Изменение размера текстового фрейма при изменении мастера

Выделите любой фрейм из нужной цепочки, единицы измерения проверьте, чтобы были миллиметры, и пробуйте:
теперь вообще ничего не меняет.':(' миллиметры стоят
 
Ответ: Изменение размера текстового фрейма при изменении мастера

Фреймы на четных страницах должны были подвинуться на 0.5 мм...
А, ёлки, Вам же на полСАНТИМЕТРА надо!
Предпоследняя строка:
Код:
allTF[i].move(undefined,[-0.5, 0]);
меняем на:
Код:
allTF[i].move(undefined,[-[B]5[/B], 0]);
Должно сработать.

И это надо запускать после первого скрипта, когда размеры уже правильные, и надо только подвинуть фреймы.
 
Ответ: Изменение размера текстового фрейма при изменении мастера

Фреймы на четных страницах должны были подвинуться на 0.5 мм...
А, ёлки, Вам же на полСАНТИМЕТРА надо!
все, теперь получилось

Не по теме:
последовательность конечно, та еще вышла.'%)' Еще парочка таких доп. скриптов и я начну понимать как писать скрипты
 
Ответ: Изменение размера текстового фрейма при изменении мастера

Вообще, судя по сообщению №3, Вам надо всю цепочку выставить по полям? Тогда действительно можно было не мучить сдвиги по полсантиметра (тем более, что точно ли там именно такой сдвиг?), а сразу всё выставить по полям (предварительно выделив любой фрейм из цепочки):
Код:
var myDoc = app.activeDocument;
myDoc.viewPreferences.rulerOrigin = RulerOrigin.SPREAD_ORIGIN;
var myTF = app.activeDocument.selection[0];
var mySel = myTF.parentStory.textContainers;

for (i=0;i<mySel.length;i++){
    var myPage = mySel[i].parentPage;
    var myPB = myPage.bounds;
    var myMar = myPage.marginPreferences;
    if (myPage.side == PageSideOptions.RIGHT_HAND){
        var gb = [myMar.top,myMar.left,myMar.bottom,myMar.right];
        }
    else{
        var gb = [myMar.top,myMar.right,myMar.bottom,myMar.left];
        }
    mySel[i].geometricBounds = [myPB[0]+gb[0],myPB[1]+gb[1],myPB[2]-gb[2],myPB[3]-gb[3]];
    }
 
  • Спасибо
Реакции: nextourian
Ответ: Изменение размера текстового фрейма при изменении мастера

Вообще, судя по сообщению №3, Вам надо всю цепочку выставить по полям? Тогда действительно можно было не мучить сдвиги по полсантиметра (тем более, что точно ли там именно такой сдвиг?), а сразу всё выставить по полям (предварительно выделив любой фрейм из цепочки):

Оо, вот это то, что надо))'beer1'
 
Ответ: Изменение размера текстового фрейма при изменении мастера

Вопросик! А что делать, если мне нужно сделать почти тоже самое, но менять нужно ширину всех связанных блоков. например на 2 мм. У всех связанных блоков на левой полосе относительно левого края, а на правой относительно правого края....
 
Ответ: Изменение размера текстового фрейма при изменении мастера

1. Отключить Layout Adjustments (см. сообщ. № 5, птицы должны быть сняты).
2. На шаблонах переопределить поля страниц под новые размеры фреймов.
3. Запустить скрипт из сообщ. № 13, предварительно выделив любой фрейм из цепочки.
 
Доброго времени! Возникла подобная ситуация -- в книге надо было опустить весь текст ниже от имени автора и названия разделов, которые были заданы в мастер-шаблоне. С написанием скриптов не работал и не понимал что и как... В общем что сделал я, как ламмер: в шаблонах страниц изменил размер в "поля и колонки..." (в моем случае прибавил +5 мм к параметру "сверху"), там же поставил галочку "разрешить настройку макета" (может это и не надо, но...). Потом в индизайне: окно >> утилиты >> сценарии -- в правом верхнем углу нажал на кнопку и выбрал "показать в проводнике". Уже в проводнике создал файл, переименовал его в "имя.jsx" и через п.к. "открыть с помощью" -- выбрал БЛОКНОТ и вставил из сообщения №13 код скрипта, сохранил закрыл. Потом в индизайне выделил первую страницу самого текста и дважды щелкнул на сценарии имя.jsx.
То как все получилось -- меня устроило.

Не по теме:
Надеюсь мое описание поможет таким же... новичкам как я. И спасибо Eugenyus, который продлил мою жизнь 197 вручную переделываемых страниц
 
у меня пишет Объект «идентификатор» не может следовать за данным объектом «идентификатор» и выделяет
var myDoc
 
Порядок действий опишите — откуда запускаете скрипт, что выделено в файле, версия Индизайна и т.д. чем подробнее, тем лучше.
 
скрипт вставляю в applescript, хочу сохранить, пишет Объект «идентификатор» не может следовать за данным объектом «идентификатор» и выделяет в первой строке var myDoc. Пробовала просто в блокноте и сохранить с расширением jsx и запустить из индизайна версия CC пишет error number 8 error string syntax error
 
Статус
Закрыто для дальнейших ответов.