Автоматизация Photoshop с помощью JavaScript
Быстрая навигация
- Hello World
- Создание новой страницы через Events Manager
- Практические рекомендации и чек-листы

Введение
Что общего между JavaScript и графическим редактором? JavaScript — кросс-платформенный скриптовый язык, с помощью которого Photoshop предоставляет API для автоматизации задач. Скрипты (.jsx или .js) позволяют администраторам, дизайнерам и разработчикам автоматизировать повторяющиеся операции, создавать шаблоны документов и запускать цепочки действий по событию.
Краткое определение: ExtendScript — это реализация JavaScript от Adobe для запуска скриптов в приложениях Creative Suite/Creative Cloud; файлы традиционно имеют расширение .jsx.
Важно: современные версии Photoshop также поддерживают UXP-плагины на JavaScript — это другой (и более современный) путь расширения функциональности. В этой статье фокус на традиционных скриптах (.jsx), которые работают в широком диапазоне версий.
Hello World

Первый и самый простой пример — скрипт, который создаёт документ нужного размера и добавляет текст «Hello, World». Основные шаги:
- Создать текстовый файл в любом редакторе: Notepad, Visual Studio Code, Komodo Edit или аналогах.
- Сохранить его как .JSX или .JS — Photoshop читает оба формата.
- В Photoshop выбрать File > Scripts > Browse и загрузить файл.
Минимальные проверки перед запуском:
- Убедитесь, что файл сохранён в кодировке UTF-8 без BOM, если в тексте есть не-ASCII символы.
- Для удобства хранения можно положить скрипты в папку Dropbox или сетевой диск.
Пример упрощённого скрипта “Hello World” (иллюстративно):
// Пример Hello World для Photoshop (псевдо-пример)
var originalUnit = preferences.rulerUnits;
preferences.rulerUnits = Units.INCHES;
var docRef = app.documents.add(2, 4, 72); // ширина 2", высота 4", dpi 72
var layer = docRef.artLayers.add();
layer.kind = LayerKind.TEXT;
layer.textItem.contents = "Hello, World.";
// Сброс ссылок и восстановление единиц
docRef = null;
app.preferences.rulerUnits = originalUnit;Примечание: в официальном руководстве по скриптингу Photoshop (Scripting Guide) вы найдёте готовые примеры и подробные описания API — рекомендуется копировать примеры прямо из PDF, чтобы избежать опечаток.
Как запустить скрипт из Photoshop

- В Photoshop откройте File > Scripts > Browse.
- Найдите ваш .jsx или .js файл и откройте его.
- Photoshop выполнит команды, описанные в скрипте (создаст документ, добавит текст и т. п.).

Создание новой страницы через Script Events Manager

Можно не только вручную запускать скрипты, но и привязать их к событиям приложения. Пример: создать стандартную страницу формата Letter (8.5” × 11”) при старте Photoshop.
Ниже — готовый скрипт, который создаёт новый документ 8.5” × 11” с разрешением 300 dpi. Скопируйте и сохраните как .jsx:
// New Canvas Script
// Сохраняем текущие настройки единиц, затем устанавливаем дюймы
var originalUnit = preferences.rulerUnits;
preferences.rulerUnits = Units.INCHES;
// Создаём новый документ 8.5 x 11 дюймов с разрешением 300 dpi
var docRef = app.documents.add(8.5, 11, 300);
// Освобождаем ссылки
docRef = null;
artLayerRef = null;
textItemRef = null;
// Восстанавливаем прежние единицы измерения
app.preferences.rulerUnits = originalUnit;
Сохраните файл где удобно (локально или в Dropbox). Затем в Photoshop откройте File > Scripts > Script Events Manager.

В диалоге Script Events Manager выберите событие Start Application (Запуск приложения) и укажите путь к вашему .jsx файлу. После сохранения и перезапуска Photoshop документ будет создаваться автоматически при старте.

Добавьте и подтвердите — затем перезапустите Photoshop, чтобы убедиться, что скрипт сработал.

Практические советы
- Сохраняйте оригиналы скриптов в контроле версий (Git) — это упрощает откат и совместную работу.
- Тестируйте скрипты на резервной копии перед массовым запуском на production-проектах.
- Для автоматических задач с доступом к файлам используйте абсолютные пути или настройте переменные окружения.
Факт-бокс: типичные значения
- Стандартный DPI для печати: 300 dpi
- Пример стандартного размера бумаги (Letter): 8.5” × 11”
- Поддержка скриптов доступна в версиях Photoshop, начиная с CS2 и далее
Когда автоматизация с помощью ExtendScript не подходит
- Вам нужен графический плагин с полной интеграцией UI — лучше использовать UXP-плагин.
- Требуется кроссплатформенная установка с централизованным управлением — возможно, лучше упаковка в отдельное приложение или сервис.
- Скрипт должен работать внутри веб-окружения или браузера — ExtendScript работает только внутри приложений Adobe.
Альтернативные подходы
- UXP-плагины: современная платформа плагинов для Photoshop (современный JS, React-подходы в UI).
- AppleScript / Visual Basic: только если вам нужна тесная интеграция с системой (платформозависимо).
- Внешние инструменты автоматизации (Sikuli, AutoHotkey) — если действия невозможно выразить через API.
Ментальные модели и эвристики
- «API-first»: сначала проверьте, можно ли сделать задачу через публичное API Photoshop — это надёжнее, чем имитация кликов.
- «Малая итерация»: пишите и тестируйте скрипт по шагам — сначала создание документа, затем добавление слоёв, затем текста.
- «Идем от повторяющегося»: автоматизируйте сначала то, что занимает больше всего времени.
Чек-листы по ролям
Дизайнер
- Есть резервная копия исходных файлов
- Скрипт протестирован на одном файле
- Отмечены ожидаемые результаты в документе
Разработчик скриптов
- Код форматирован и задокументирован
- Обработаны ошибки (try/catch) и логирование
- Указаны пути и права доступа
Системный администратор
- Скрипты развернуты в доступную папку (на всех машинах)
- Проверены права файловой системы
- Есть план отката
SOP: быстрая инструкция по созданию и развёртыванию скрипта
- Написать скрипт в редакторе и сохранить как .jsx.
- Протестировать локально через File > Scripts > Browse.
- Настроить Script Events Manager, если требуется привязка к событию.
- Разместить скрипт в общем репозитории или сетевой папке.
- Обновить документацию и уведомить команду о новых автоматизациях.
Критерии приёмки
- Скрипт выполняется без ошибок при запуске на чистой установке Photoshop одной версии.
- Созданный документ соответствует заданным параметрам (ширина, высота, dpi).
- Скрипт не оставляет висящих ссылок и корректно восстанавливает системные настройки (единицы измерения и т. п.).
Тестовые случаи
- Запуск скрипта на пустой системе Photoshop — ожидаемый результат: создан документ 8.5x11@300dpi.
- Запуск повторно — ожидается создание нового документа, без ошибок и утечек памяти.
- Неверный путь к ресурсам — скрипт должен корректно обрабатывать ошибку и выводить понятное сообщение.
Совместимость и миграция
- ExtendScript (.jsx) работает в старых версиях Photoshop (CS2 и далее).
- Современные версии Photoshop поддерживают UXP — при миграции скриптов на UXP потребуется переработка логики и UI.
- Всегда проверяйте официальную документацию Adobe при переходе между версиями.
Безопасность и приватность
- Скрипты, работающие с файлами и сетевыми ресурсами, требуют проверки на утечку данных.
- Не храните в скриптах пароли в открытом виде; используйте безопасное хранилище конфигураций.
Краткое резюме
Автоматизация Photoshop при помощи JavaScript — это мощный способ экономии времени и уменьшения ручного труда. ExtendScript подходит для множества задач и работает в широком диапазоне версий, а Script Events Manager позволяет запускать сценарии по событиям приложения. Для более сложных интеграций стоит рассмотреть UXP-плагины.
Важно: всегда тестируйте скрипты и обеспечивайте резервное копирование. Системный контроль версий и понятная документация значительно упрощают сопровождение автоматизаций.
Примечание
Если вы хотите примеры скриптов для конкретных рабочих задач (пакетная обработка изображений, экспорт ассетов, создание шаблонов), опишите задачу — я подготовлю готовые шаблоны и чек-листы для внедрения.
Похожие материалы
Как изменить раздел «О себе» в Discord
Создание мобильного приложения с Buzztouch
Как подключить Discord к PlayStation Network
Как изменить ник в Discord на сервере
Как удалить старые запросы в друзья на Facebook