Переадресую в форум вопрос, который получил по email. Надеюсь, автор не против.
=== Цитата ===
Приветствую!
В [url=http://forum.rudtp.ru/showthread.php?t=5023] посоветовали обратиться к Вам за советом по скриптингу в AI. Все описано в топике. Проблема, собственно в том, что приведенные JS и VBS версии скрипта Swatch&Symbols_remover не работают. Откомпилированный exe работает. Ниже само сообщение и EPS_CLEANER.zip в скрепке.
EPS_CLEANER
Комплект из одного скрипта и двух экшенов предназначен для пакетной обработки большого количества eps-файлов.
ФУНКЦИОНАЛЬНОСТЬ
Преобразование всех текстовых объектов в кривые
Удаление всех stray-points
Удаление всех swatches и symbols
Преобразование всех объектов в CMYK или Grayscale (в зависимости от выбранного экшена)
Сохранение в формат Illustrator EPS 8.0. Форматы превью - TIFF (8-bit Color) и TIFF (Black&White) соответственно.
ИНСТРУКЦИЯ ПО УСТАНОВКЕ
Набор из двух экшенов - EPS cleaner.aia необходимо считать из меню палитры Actions: Load Actions
Swatch&Symbols_remover.exe необходимо скопировать в папку
Program FilesAdobeIllustratorPresetsScripts
Перезапустить Illustrator
ИНСТРУКЦИЯ ПО ПРИМЕНЕНИЮ
В меню палитры Actions выбираем Batch
Выбираем Set EPS cleaner и нужный по случаю Action: ' EPS cleaner -> CMYK' или ' EPS cleaner -> Gray'
Выбираем папку-источник с eps-файлами
Выбираем папку-приемник
Флажок 'Override Action "Save" Commands' должен быть включен (в противном случае все файлы будут записываться поверх прописанного в экшене F:!WorkmyEPS-file.eps)
Выбираем 'Log Errors to File' и указываем место для лог-файла (если этого не сделать, экшен будет останавливаться на ошибках)
Жмем OK и идем курить
ПРИМЕЧАНИЕ
Swatch&Symbols_remover.exe является результатом компиляции крайне простого vb-кода (см. приложенный BAS-файл):
Код:
Dim myILL As Illustrator.Application
Dim myDoc As Illustrator.Document
Sub Main()
Set myILL = CreateObject("Illustrator.Application")
myILL.ActiveDocument.Swatches.RemoveAll
myILL.ActiveDocument.Symbols.RemoveAll
End Sub
По неизвестной причине js-версия этого скрипта:
Код:
var docRef = documents[0];
docRef.swatches.removeAll
docRef.symbols.removeAll
не приводит ни к какому результату,
а VBS-версия:
Код:
Dim appRef As Illustrator.Application
Dim frontDocument As Illustrator.Document
frontDocument.Swatches.RemoveAll
frontDocument.Symbols.RemoveAll
и вовсе выдает ошибку.
--
С уважением
GoldyZ
=== Конец цитаты ===
Файл EPS_CLEANER.zip лежит здесь.[/url]