Публикую свои скрипты: ResetAllPictures

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

SlavaBuck

Участник
Топикстартер
Сообщения
75
Реакции
30
Вот решил поделиться...
Это мой первый опыт написания скриптов под indisign да и вообще на JavaScript так что прошу сильно не пинать если что :). Считаю себя продвинутым Си-шником, но не Java-кодЭ воином :)

Скрипт предназначен для установки определённого стиля для всех внедрённых в документ изображений. Предполагается, что стиль для изображения уже создан или импортирован. Скрипт можно применять для первичной обработки документа, например, сразу после импорта Word-овского файла в Indisign. Таким образом, для всех таких картинок сразу можно задать нужное обтекание и отступы от основного текста.

Из вкусностей - в скрипте есть пример, как можно организовать связанный список элементов управления checkbox, чтобы они вели себя идентично группе управления radiobutton-s. Ещё есть функция CalculateInterval, помогающая определить время исполнения скрипта, которую, думаю, переделать в самостоятельный объект, удобный для замера произвольных интервалов времени между событиями (например замер времени исполнения скриптов).

П.С.
Изучать скриптинг под Индиз начал совсем недавно, большое спасибо таким великим камрадам как Михаил Иванюшин и Eugenyus - с их примеров начал ваять собственный скрипты...
 

Вложения

Да, делаю что-то похожее, но кроме сброса локальных настроек будет ещё применять выбранные стили к заголовочным и обычным ячейкам. Ну а поскольку скрипт будет нацелен на предвёрсточную подготовку, то работать он будет не с selection а с документом целиком.
 
У нас обрабатывает весь документ, если ничего не выделено. А к заголовочным ячейкам и клнцевым стили задаются в табличном стиле.

Скрипты с табличным оформлением работает к сожалению неторопливо... На больших документах можно часами ждать результата :(
 
Кстати именно строки из того скрипта
Код:
// clear overrides in tables   
try   
{   
    myObject.tables.everyItem().cells.everyItem().texts[0].clearOverrides(OverrideType.all);   
}   
catch(e) {}
и послужили идеей написания своего ResetAllTables.jsx ...
 
Статус
Закрыто для дальнейших ответов.