Редактировать, оригинал копировать, указанный ниже: Мне удалось создать полуфункциональный скрипт. Я понял, к большому разочарованию, что ошибки синтаксиса были «отметками редактирования текста». Он работает в том же режиме, что он перезагружает некоторые файлы и, как правило, заканчивается ошибкой, «placeArt не существует» после нескольких циклов. Я чувствую, что XML находит больше «stRef: filePath», чем существует в файле. Пример: файл с двумя изображениями находит путь для каждого файла дважды. Какие-нибудь советы?Иллюстратор редактировать ссылку filepath через javascript
var counter = 0;
var doc = app.activeDocument;
var x = new XML(doc.XMPString);
var m = x.xpath('//stRef:filePath');
if (m !== '') {
for (var i=0, len=m.length(); i < len ; i++) {
var link_path = m[i];
if (File(link_path).exists === false) {
link_path = link_path.split('/Projects').join('/Volumes/Projects')
link_path = link_path.split('O:').join('/Volumes/Projects');
link_path = link_path.split('P:').join('/Volumes/Projects');
link_path = link_path.split('\\SERVER').join('Volumes');
link_path = link_path.split("\\").join("/");
if (File(link_path).exists === true){
placedArt = app.activeDocument.placedItems[i];
placedArt.relink(new File (link_path));}
alert(File(link_path).fsName);
counter++;
}
};}
if (counter > 0) {
alert("Attempted to relink " + counter + " links");}
else {
alert("No links replaced");}
Orginal размещать
Хорошо, я очень неопытный XML, но я пытаюсь изменить части FilePath ссылки в Adobe Illustrator с помощью сценария. Ниже приведено то, что у меня есть до сих пор:
var doc = app.activeDocument;
var x = new XML(doc.XMPString);
var m = x.xpath('//stRef:filePath');
if (m !== '') {
for (var i=0, len=m.length(); i < len ; i++) {
var link_path = m[i];
if (File(link_path).exists === false) {
var link_path2 = String(link_path)
link_path2 = link_path2.replace(‘%5C’, ‘/‘)
alert(File(link_path2));
}
};
}
Это возвращает ошибку: 8 синтаксическая ошибка. на линии link_path2 = link_path2.replace ('% 5C', '/'). Таким образом, делает любые попытки пересмотреть link_path2, такие как
link_path2 = 'cow';
В настоящее время я меняюсь, то link_path к link_path2, чтобы преобразовать его в строку, предполагая, что тот факт, что переменная link_path возвращает TYPEOF XML является проблемой для переопределения, или редактирования значения.
Конечная цель - отредактировать путь к файлу с пути к серверу Windows до пути к файлу macOS, чтобы скрипт исправить неработающие ссылки. Я искал часы на этом и продолжаю тупик.
Мне нужно будет изучить это более внимательно и попытаться смешать это с моим. На самом деле я получил полуфункциональную версию, используя сочетание помещенных элементов и XML. Я столкнулся с проблемой размещения элементов неработающих ссылок, не имеющих .fsname, .url или .file.name для редактирования (предупреждение показывает [помещенный элемент]/или неизвестно). Возможно, это изменение проблемы с платформой, но я перестал открывать файл, мне придется попробовать переделать нераспечатанный файл. К сожалению, серверы здесь представляют собой кластер F, и он редко использует те же два пути. В любом случае, вы дали мне новый маршрут тестирования/изучения так, merçi beaucoup. – KernelPan1c