Поправьте или научите, пожалуйста

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

axor

Участник
Топикстартер
Сообщения
23
Реакции
0
Здавствуйте, уважаемые гуру!

Предыстория.
Впервые делаю скрип, который должен из шаблонного файла (открывается ранее созданный (шаблонный файл) *.indd с моими мастер-страницами и прочими деталями) сделать n-страничный документ, на каждой странице которого должен содержаться текстовый фрейм, связанный (линк) с аналогичным на следующей странице.

Шаблонный файл уже содержит 2 страницы (разворот), с двумя мастер страницами (левый и правый).

Скрипту задаются параметры:
1. Кол-во страниц в будущем документе.
2. Номер первой страницы в документе.

Проблема такая, если задаю номер страницы четным, то скрипт отрабатывает нормально. Если этот номер нечетный, то фреймы на страницах ставятся не правильно и соответсвенно линкуются тоже не верно.

Вот кусок скрипта:
-------
Код:
var FirstPage = 2
var qPage = 10
var myColumn = 8
var myGutter = 4

// Открываем шаблонный файл
	app.open("Шаблон.indd");
	var myDocument = app.activeDocument;

//Нумерация страниц
	mySec = myDocument.sections.add();
	with (mySec) 
	{
	continueNumbering = false; // Запретить продолжение нумерации с предыдущей секции
	pageStart = myDocument.pages.item(0); // Страница для начала новой секции
	pageNumberStart = FirstPage ; // Новая нумерация в секции (номер первой страницы)
	}

//Добавляем страницы в документ
marg = myDocument.marginPreferences
doc_y1 = marg.top
doc_x1 = marg.right
doc_y2 = myDocument.documentPreferences.pageHeight - marg.bottom
doc_x2 = myDocument.documentPreferences.pageWidth - marg.left
doc_seek = myDocument.documentPreferences.pageWidth - marg.left*2

myBigFrames = Array (qPages)

for (i=0; i < qPages; i++)
{
	myBigFrames[i] = myDocument.pages.item(i).textFrames.add();
	x0 = (i)%2
	myBigFrames[i].geometricBounds = [doc_y1, doc_x1+(x0 * doc_seek), doc_y2, doc_x2+(x0 * doc_seek)];

//Задаем фрейму кол-во колонок и средник
	myBigFrames[i].textFramePreferences.textColumnCount = myColumn
	myBigFrames[i].textFramePreferences.textColumnGutter = myGutter

	if (i<qPages-2) //минус 2 т.к. у нас в каждом шаблоне уже будет 2 страницы!
	{
	newPage = myDocument.pages.add();
	}
}	
//"Связываем" (линкуем) фреймы
for (i=0; i < qPages-1; i++)
	{
	myBigFrames[i].nextTextFrame = myBigFrames[i+1]
	}
-------

Помогите, плиз, победить проблемку.
 
Ответ: Поправьте или научите, пожалуйста

Потому, что на развороте разные поля внутреннее и внешнее, а ты берешь поля только одной страницы
 
Ответ: Поправьте или научите, пожалуйста

Спасибо. Теперь хоть знаю куда "копать"!
 
Ответ: Поправьте или научите, пожалуйста

Что-то совсем запутался. А как взять внутренние и внешние поля разворота?
 
Ответ: Поправьте или научите, пожалуйста

var myMarginPreferences = app.activeWindow.activePage.marginPreferences;

var myTopMargin = myMarginPreferences.top;
var myLeftMargin = myMarginPreferences.left;
var myBottomMargin = myMarginPreferences.bottom;
var myRightMargin = myMarginPreferences.right;
 
Ответ: Поправьте или научите, пожалуйста

Благодарю. Надеюсь теперь в скрипте продвинусь дальше.
 
Статус
Закрыто для дальнейших ответов.