[AI CC-CC2021] Как пропустить отсутствующие линки при открытии файла

keramer82

Участник
Топикстартер
Сообщения
52
Реакции
3
я думал он не хочет открывать файл, если там есть битые линки, вот это можно предусмотреть. а диалоги по идее должны подавляться вот этим app.userInteractionLevel = UserInteractionLevel.DONTDISPLAYALERTS;



я не о том. у вас имя переменной SaveOptions совпадает с именем enumeration SaveOptions, я бы так не делал. Назовите хоть mySaveOptions.
А как не открывать файл с битыми линками?
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
А как не открывать файл с битыми линками?

я же написал все ) открываете на чтение XMP, в нем есть все линки, проверяете каждый на .exists
информация по работе с XMP есть в JavaScript Tools Guide, 10-я глава
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Заодно прокачаете свой кодерский скилл, парсить XMP руками - это удовольствие еще то '))'
Вдобавок, если AI весит несколько сотен метров, вытащить из него XMP тоже весьма занятно ;)
 
Последнее редактирование:

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835

keramer82

Участник
Топикстартер
Сообщения
52
Реакции
3
Помогите с кодом, пожалуйста... 'otbline' Я не программист, я дизайнер. У меня 500 файлов с линками (некоторые битые). Задача, встроить все линки, которые не битые, которые битые - пропустить. Руками это делать очень долго...
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Для начала все ж попробуйте совет из #7 - получается или нет?
 
  • Спасибо
Реакции: keramer82

keramer82

Участник
Топикстартер
Сообщения
52
Реакции
3
Для начала все ж попробуйте совет из #7 - получается или нет?
Пробовал:
JavaScript:
var doc = app.activeDocument
var NameFiles = doc.path //файл текущего документа
app.userInteractionLevel = UserInteractionLevel.DONTDISPLAYALERTS;
//Встроить линки, не трогать настройки по умолчанию
var SaveOptions=new IllustratorSaveOptions();
SaveOptions.pdfCompatible = true;
SaveOptions.embedICCProfile = false;
SaveOptions.compressed = true;
SaveOptions.embedLinkedFiles = true;
doc.saveAs(NameFiles, SaveOptions);
doc.close(SaveOptions.DONOTSAVECHANGES);
app.quit();
не помогает, нажимаю "Пропустить", скрипт выполняется...
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Так я не пойму он у вас линки просит на каком этапе - открытия документа или сохранения?
Вы вставили эту строку уже в момент когда файл открыт
И где именно в скрипте открытие?
Или я чего то не догоняю?
 
  • Спасибо
Реакции: keramer82 и Skvoznyak

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Судя по приложенному куску кода при запуске и иллюстратор и документ уже открыты а при отработке закрываются 'hmmm' 'hz'
 
  • Спасибо
Реакции: keramer82

keramer82

Участник
Топикстартер
Сообщения
52
Реакции
3
Я просто не видел разницы, открывать файл из скрипта, или из проводника. Написал, так сказать, для идеальных условий (все ссылки на линки действующие). Затем столкнулся с тем, что в некоторых файлах ссылки на линки битые...
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
открывать файл из скрипта, или из проводника.
Давайте еще раз по порядку - как именно вы открываете активный документ и в какой момент у вас сообщения о битых линках выскакивают?
Из вас просто каждую подробность клещами вытягиваем ей б-гу
 
  • Спасибо
Реакции: keramer82

keramer82

Участник
Топикстартер
Сообщения
52
Реакции
3
2 раза клик по файлу, открывается иллюстратор (документ пока не открыт), выскакивает окно с просьбой указать, что делать с отсутствующим линком, нажимаю "пропустить", открывается документ, срабатывает скрипт... Кажется, до меня дошло, скрипт срабатывает после загрузки документа, а не до... Значит нужно открывать документ (не иллюстратор) из скрипта? Еще бы понять, как это сделать... Может тогда подавление диалогов сработает?
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
  • Спасибо
Реакции: keramer82

keramer82

Участник
Топикстартер
Сообщения
52
Реакции
3
Вот тут поподробнее
Почему сразу за открытием документа срабатывает скрипт - как именно вы это настроили?
Создал папку "Startup Scripts" по пути:
c:\Program Files\Adobe\Adobe Illustrator CC (64 Bit)\Startup Scripts
туда закинул скрипт. При запуске открытии любого документа иллюстратора, скрипт срабатывает, если все линки в документе есть. Если нет, то возникает окно, где нужно нажать пропустить, и скрипт продолжает свою работу.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
ааа вон оно что
так у вас действительно код скрипта срабатывает только когда документ уже загружен
По идее процесс должен выглядеть так - вы кликаете на скрипте он открывает документ и сохраняет его
 
  • Спасибо
Реакции: keramer82

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
ну а предупреждение об отсутствующих линках до запуска скрипта выдается
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
  • Спасибо
Реакции: keramer82