Помощь - Поиск - Пользователи - Календарь
Полная версия: Не работает скрипт в составе утилиты EPS CLEANER
ProDTP > Графика и препресс > Скриптинг
arhip
Переадресую в форум вопрос, который получил по 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]
azbuka_guest
Сам скрипт работает, не работала js-версия. Спасибо vd, ткнувшему носом.

Код
var docRef = activeDocument

docRef.swatches.removeAll()

docRef.symbols.removeAll()

docRef.graphicStyles.removeAll()


Сохраненям этот код в файл Swatch&Symbols_remover.js и все работает в том числе и на Маках.

Вопрос следующий. Можно ли как-то использовать фильтры из скрипта? Для данной задачи (пакетное "причесывание" EPS) необходимы 'Convert to Grayscale' и 'Convert to CMYK'. Если это решить, то можно будет обойтись без экшенов и сделать культурный батчер.

В принципе, можно было бы обойтись и без фильтров - всю внутреннюю графику можно перегнать в CMYK или Gray через скрипт, но у объектов семейства RasterItems свойство ImageColorSpace является read-only.

Впрочем... есть вариант растрировать графику на лету в нужное разрешение и нужное пространство...

По случаю еще вопрос. Формулы перевода RGB и CMYK в Grayscale-эквивалент не подскажут ли уважаемые? Это нужно для имитации работы фильтра 'Convert to Grayscale'...

Спасибо

Это сообщение было отредактировано:  GoldyZ, 06 Окт, 2004 - 13:02
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2012 Invision Power Services, Inc.

Реклама

   Rambler's Top100    Яндекс цитирования