@niteshade -Старый поток здесь, но проверьте http://codingbat.com/, если вы не так заняты сейчас.Это отличный сайт для практики базовой логики программирования.Языки на этом сайте - Java и Python, но логика применима и к другим языкам, таким как Javascript и PHP.Это на самом деле очень сложный сайт, и на нем много проблем, так что вы, вероятно, получите много понимания, прежде чем решить хотя бы половину из них.Некоторые из них заняли у меня неделю или около того, чтобы выяснить это, такие как эти пресловутые: makeBricks и xyzMiddle . Кроме того, за хорошие книги InDesign обязательно получите Автоматизация InDesign CS5 с использованием XML и JavaScript .Как следует из заголовка, он подробно рассматривает XML, но также включает в себя всю уменьшенную версию « InDesign CS5 JavaScript » (обе книги Grant Gamble).Самым лучшим учебником, который выпустил сам Adobe (о котором я знаю), является Руководство по Javascript Tools CS5 .Это довольно хороший справочник для непонятных функций, и есть хорошие примеры того, как использовать большинство из них.Кроме того, иногда вам может понадобиться установить связь с другими программами в Adobe Creative Suite (например, с помощью отправки изображений InDesign в Photoshop, например).Для этого вам необходимо использовать объект BridgeTalk
(, а не , который следует путать с Adobe Bridge
, хотя он является частью этой программы).Вот лучшая ссылка, которую я нашел на объекте BridgeTalk
- Adobe Bridge SDK .И вам также следует изучить этот сценарий Касьяна Сервецкого - http://kasyan.ho.com.ua/convert_cmyk-rgb_images_to_grayscale.html.Сама Adobe имеет разбросанную и скудную документацию (на мой взгляд, в любом случае), но внешний источник сделал отличную ссылку на объектную модель InDesign - http://jongware.mit.edu/idcs5js/index.html. Аналогично, есть еще один отличный внешний ресурс для объектной модели Photoshop - http://objjob.phrogz.net/pshop/hierarchy. Поначалу их трудно рассмотреть, но для начала рассмотрим две эти функции - app.documents.add()
и app.activeDocument.close()
.Теперь найдите «Приложение» в индексе ссылки на объектную модель, чтобы увидеть эти свойства и методы.«Объектная модель» InDesign во многих отношениях отличается от модели Photoshop.Это означает, что есть разные методы и свойства, к которым скрипт может обращаться в каждой программе.И хотя скрипты в InDesign и Photoshop имеют разные DOM, они имеют одинаковую основу в функциональности и синтаксисе Javascript. И снова - сценарии Adobe в целом не разделяют методы DOM и свойства самого Javascript, поскольку DOM Javascript предназначен для доступа к дереву документов веб-браузера.Это то, что определяет сценарии Adobe как Extendscript
в отличие от Javascript.Также следует отметить, что Extendscript может получать доступ к файловой системе ОС, тогда как Javascript может не (рассмотрим myFolder.execute()
).В любом случае, как следует из названия, именно так я быстро освоил сценарии InDesign всего за последние несколько месяцев.