Создайте новый элемент пути в Adobe Illustrator через JXA (JavaScript для автоматизации)
Я ищу способ создания элементов пути в Adobe Illustrator с использованием JXA (JavaScript для автоматизации). Я несколько раз погуглил весь интернет и ничего не смог найти... На сайте Apple для разработчиков есть только базовое введение в JXA: Примечания к выпуску JavaScript для автоматизации (10.10) Adobe вообще не затрагивает эту тему. Вот мой код, где я попытался добавить эллипс в существующий документ:
illuApp = Application('Illustrator')
docPath = "/Users/userOne/Desktop/Document_One.ai"
illuApp.open(docPath)
currentDoc = illuApp.currentDocument
console.log(currentDoc.name())
// Ellipse constructor
newEllipse = illuApp.Ellipse({left: 512.5, top: 87.5, width: 425.0, height: 75.0, reversed: false, inscribed: true})
// This doesn't work **(Error -1700: Can't convert types.)**
currentDoc.pathItems.push(newEllipse)
Любая помощь будет оценена, спасибо!:)
1 ответ
Не трать свое время. Как и ScriptingBridge до этого, JXA не работает должным образом: он будет делать простые вещи до определенного момента... а затем он обрушится на вас; в этот момент вы облажались. Apple никогда не документировала и не поддерживала это из-за дерьма, и ей не удалось собрать хотя бы небольшую часть аудитории, которая есть у AS, поэтому я не удивлюсь, если она окажется первой в списке попаданий, если / когда Apple развернет свою пересмотренную стратегию автоматизации. (Есть причина, по которой последний менеджер проекта автоматизации был уволен. Полагаю, у нас будет лучшая идея после 9 июня.)
Если вы хотите автоматизировать AI с помощью JavaScript, используйте его встроенный интерпретатор JavaScript (JSX). В противном случае придерживайтесь AppleScript - это единственный официально поддерживаемый вариант, который знает, как правильно произносить события Apple †. Это особенно важно при написании нетривиальных сценариев, так как более слабые мосты AE, скорее всего, исчерпывают партию / обрыв в ошибках совместимости при автоматизации больших, сложных устаревших сценариев, таких как Illustrator, Excel, FileMaker и т. Д.
† Существует также py-appscript/SwiftAutomation(именно это я и использую для своей собственной высокопроизводительной автоматизации Illustrator, а также всесторонне надрываю задницу AppleScript), но после нескольких лет провалов Apple я больше не рекомендую и не предоставляю поддержку, так что вы были бы сами по себе.