Рассмотрим задачу подробнее. Допустим, на странице обнаружен текст, имеющий заданный стиль. Каким образом найти фрейм, отведенный под колонтитул? Анализ документации по InDesign подсказал удачное решение: у фрейма предусмотрено свойство label - его название. Другими словами, тот фрейм, который мы создали на мастер-странице, должен иметь уникальный идентификатор, которым выступит label и по которому мы найдем его среди остальных фреймов на странице. По умолчанию InDesign это свойство не задействует, оставляя его для задач пользователя, т. е. его можно спокойно менять в отличие от некоторых других, специфических свойств объектов. Задается оно непосредственно в открытом документе через палитру Automation/Script Label. Итак, допустим, мы создали на мастер-страницах фреймы назначения необходимых размеров и назвали расположенный на левой полосе фрейм "Left", на правой- "Right". В результате все страницы, основанные на этих мастер-страницах, обновятся дополнительными элементами, и к ним можно будет обратиться по соответствующему имени на любом развороте.

Далее. В InDesign, находясь на обычной странице, непосредственно изменять содержимое, унаследованное от родительского объекта (мастера), нельзя - даже выделение его элементов запрещено. Сделано это специально, во избежание разных случайных ситуаций, поскольку в таком случае отмена может не помочь - ведь в данном случае речь идет о целой публикации. Однако нам оно потребуется, т. к. мы собираемся менять содержимое фреймов, заданных в мастерах. Для этого в скриптинге предусмотрена специальная операция Override (или <Ог1>+<5ЫЛ>+щелчок на объекте), которая позволяет изменить любой элемент, связанный с мастером, на обычной странице - иными словами, она позволяет выполнить локальное переформатирование объекта. Например, нужно локально изменить цвет- <Ctrl>+<Shifi>+ +щелчок - и задача решена. При этом открепляется от мастер-страницы не весь объект, а только те атрибуты, которые были переопределены локально. В нашем случае на объект продолжат распространяться все модификации мастера, кроме изменения цвета- перемещения, повороты и т.п., но не цвет, - причем в случае локального изменения насыщенности плашечного цвета сам цвет связь с мастером сохранит. В скриптинге такая операция имеет СВОЙ аналог-фуНКЦИЮ override ().

Таким образом, возможность расстановки колонтитулов принципиально существует. Осталось решить несколько связанных вопросов. Основной - как пользователь укажет, какой именно искать стиль текста? Можно было бы обойтись встроенным методом JavaScript (promptо), но в данном случае его недостаточно, поскольку единственной строкой в окне, выводимом этим методом, никак не обойтись. Будем использовать собственные возможности InDesign по созданию пользовательских диалоговых окон: такой опыт обязательно пригодится, если вы захотите заниматься скриптингом самостоятельно.

Далее. Чтобы скрипт знал, в каких фреймах публикации выполнять поиск, их нужно каким-то образом указать. Чтобы не делать это вручную, договоримся, что поиск будет проводиться только в той цепочке фреймов, у которой хотя бы один текстовый блок выделен. В результате нам останется только выделить любой фрейм, после чего будут просмотрены все остальные (через ме тод nextTextFrameO). Место, куда скрипт будет вставлять найденный текст, - это созданный нами фрейм на мастер-странице.


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