pars.nextltem(curr_para).applyStyle(pS[pSA['Table Footer']],true) if (table_W==Obj.w.wide)

pars.itemByRange(startP, endP).leftlndent = 0 alert("Готово!")

)

else

{

alert("Курсор не в таблице!")}

}else{

alert("Нет нужных стилей абзаца!")}

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

DEFAULT_SIDE_INSET = DEFAULT_STROKE_WIDTH = "0.5 mm" ;

VERTICAL_IN SET = "1 mm"; narrow_colurnn_width = "120 mm"; wide_column_width= "174 mm"; Используем нестандартный метод задания параметров- в явном виде - в миллиметрах, что зачастую более наглядно. Поскольку в таком случае они будут восприняты уже не в виде чисел, а как текстовые строки, оформим их соответствующим образом, заключив с обеих сторон в кавычки. Интересно, что InDesign понимает такую запись без каких-либо дополнительных действий с нашей стороны - правильно считывает единицы измерения и устанавливает требуемые значения.

Также нам придется использовать цвета для заливки ячеек таблицы. В отличие от названия стиля, который непосредственно в скрипте задать нельзя (как мы его видим в палитре Paragraph Styles, например, "Table"), с цветом ситуация значительно проще. InDesign понимает их названия такими, какими мы видим их в окне Swatches. Таким образом, для цвета содержимого таблицы можно записать: alterFill = "alterFillColor"; и для шапки:

headerFill = "headerFillColor"; Разумеется, эти цвета перед запуском скрипта должны присутствовать в публикации. Устанавливаем ссылки на объекты, с которыми будем работать:

myDocument = арр.activeDocument; Стандартная строка для работы с любым выделенным объектом:

mySelection = myDocument.selection[0]; Для упрощения требований к начальным условиям договоримся, что таблицу будем обозначать установкой в нее курсора (необходимо, если на странице несколько таблиц). При этом для обращения ко всей таблице получим:

myTable = mySelection.parent.parent; Прямой родитель у точки вставки - ячейка, а родитель у ячейки - таблица. У таблицы родительским объектом будет текстовый фрейм, в котором она находится.

myTextFrame = myTable.parent; Для использования стилей публикации создаем ссылки на них:

parStyles = myDocument.paragraphStyles; Следующий шаг-- проверка публикации на наличие требуемых стилей - это позволит избежать возникновения ошибки в случае, если какого-то необходимого стиля не существует. Перебираем по очереди все стили и в случае нахождения нужного устанавливаем соответствующий признак. InDesign хранит стили не по названиям, как цвета, а по их индексам, поэтому присвоить стиль непосредственно по его названию не получится. Соответственно, запоминать будем индексы стилей, по которым в дальнейшем и станем обращаться.

Создадим временное хранилище для них:

paragraphStylesStorage = new Array О;// Хранилище для индексов стилей flag = new Array О; // Здесь будем хранить признаки наличия

// требуемых стилей.

Запоминаем индексы используемых стилей (листинг 8.13).

| Листинг 8.13. Сохранение индексов используемых стилей

for (i=0; i< parStyles.length; i++){ switch(parStyles[i].name)


⇐ вернуться назад | | далее ⇒