Home » Archive

Articles in the Скриптинг Category

Скриптинг »

[23 Окт 2009 | 11 Comments | ]

— Как организовать автоматическое добавление страниц в документ, если текст не помещается во фрейме?
После заполнения текстового фрейма содержимым, например из файла, вызываем эту функцию, которая добавляет новые страницы в конец документа с текстовыми фреймами на них.
Новые страницы с фреймами генерируются до тех пор, пока параметр overset перестанет быть истиной. При помощи функции myGetBounds(doc, pg) рассчитываются координаты и размеры фреймов (текст функции не приводится).

Скриптинг, Скрипты »

[15 Сен 2009 | 16 Comments | ]

Пятое обновление сборника
Добавлено около 30 новых пользовательских скриптов, объектная модель новой версии InDesign CS5, демонстрационные скрипты для версии ID CS5.
setDocPrefs – установка Preference (настроечных параметров)
refoot.jsx – восстановление сносок из тэгированного текста
updateTOCs.jsx – обновление содержания (оглавления) всех открытых документов.
Label Images with their Scale.jsx – показывает масштабирование графики на непечатном слое.
dashes-in-cells.jsx – заполнение пустых ячеек знаками тире.
ResizeSelectedText.jsx – изменение кегля у выделенного текста. Применять, когда в выделение попадает текст разного размера.
addVerticalLineToParagraphs.jsx – добавление вертикальной линии к абзацу
PlaceMultipagePDF_inFrameWithSelectedSizes.jsx – импорт PDF-файлов в InDesign с отступами
BreakStory.jsx – извлечение текстовых фреймов из Story
assignCharstyle.jsx – преобразование …

Скриптинг »

[15 Июл 2009 | No Comment | ]

Иногда требуется проверить работу небольшого кусочка кода без запуска всего скрипта, например, чтобы проверить некоторые объектные свойства или протестировать какой-то промежуточный результат. Конечно, это можно сделать в среде разработки ExtendScript Toolkit, но еще быстрее это может получиться при использовании стандартного интерфейса Индизайна CS4 – панели Script Label (Window > Automation > Script Label), которую мы будем использовать как контейнер для проверяемого кода.

Скриптинг »

[5 Апр 2009 | No Comment | ]

В этом небольшом примере показано, как можно передавать значения элементов списка типа ListBox из одного списка в другой. Продемонстрировано добавление новой панели и реакция на двойное нажатие по элементу списка. Показано применение свойства orientation для окон, панелей и групп элементов управления.

Скриптинг »

[28 Мар 2009 | No Comment | ]

В этом маленьком примере продемонстрировано создание простой таблицы скриптом JavaScript.
Обратите внимание на следующее:
1) как можно задавать размеры объектов в заданных единицах измерения;
2) как JavaScript работает с двумерным массивом.

Скриптинг »

[26 Мар 2009 | No Comment | ]
Работа со списками в JavaScript

Мне всегда хотелось делать хорошие диалоговые окна к скриптам с использованием различного рода списков. Вроде бы они как есть в ExtentedScript, но описания их работы нигде не попадалось. Но вот кое-что нашлось по этому вопросу. Спешу поделиться с вами.

Скриптинг »

[10 Мар 2009 | One Comment | ]

Свойство prototype позволяет расширить функциональность встроенных объектов JavaScript (String, Date, Array и др.) путем добавления методов и свойств ко всем объектам определенного класса. Использование свойства prototype рассмотрим на примере «удобного прокручивания” массивов.
При написании любого JavaScript’а рано или поздно возникает необходимость обработать все элементы массива. Традиционно это делается через конструкцию for:
for (var i =0; i < myArr.length; i++) {
myArr[i].doSomething();
}
Однако почему бы не сделать для себя небольшое удобство и не листать массив вот так:
while (var element = myArr.next() ) {
var current = element;
}
Причем этот метод будет доступен для любого массива, в …

Скриптинг »

[12 Ноя 2008 | One Comment | ]

Создание нового документа
Новый документ создается при помощи метода documents.add()

var myDocument = app.documents.add();

Создание нового документа на основе Preset
Как известно, в Индизайне набор свойств открываемого документа можно сохранять в Preset, чтобы потом, при создании нового такого же документа, не вводить снова все данные, а загрузить их одним махом.
Открыть новый документ на основе присета позволяет и скрипт Индизайна.

//Создание нового документа на основе  preset.
//Замените "myDocumentPreset" во второй строке на тот, который хотите использовать.
var myDocument = app.documents.add(true, app.documentPresets.item("myDocumentPreset"))

;
Создание скрытого документа
Вы можете создать новый документ без отображения его в окне, так называемый «скрытый, спрятанный» документ, документ …

Скриптинг »

[11 Ноя 2008 | 2 Comments | ]

Сейчас мы будем создавать первый скрипт для Индизайна на языке JavaScript, который:
Создаст новый документ;
Создаст текстовый фрейм на определенной странице;
Добавит текст в текстовый фрейм.