Создайте новый элемент пути в 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)

Любая помощь будет оценена, спасибо! :)


person blauzahn    schedule 24.04.2017    source источник


Ответы (1)


Не тратьте свое время. Как и ScriptingBridge до него, JXA не работает правильно: он будет делать простые вещи до определенного момента… а потом он вас вырубит; в этот момент вы облажались. Apple никогда не документировала и не поддерживала это дерьмо, и ей не удалось создать даже часть аудитории, которая есть у AS, поэтому я не удивлюсь, если она окажется первой в списке хитов, если/когда Apple развернет свою пересмотренную стратегию автоматизации. (Есть причина, по которой был уволен последний руководитель проекта автоматизации. Осмелюсь предположить, что после 9 июня у нас появится идея получше.)

Если вы хотите автоматизировать ИИ с помощью JavaScript, используйте его встроенный интерпретатор JavaScript (JSX). В противном случае придерживайтесь AppleScript, это единственная официально поддерживаемая опция, которая знает, как правильно говорить о событиях Apple†. Это особенно важно при написании нетривиальных сценариев, так как более слабые мосты AE, скорее всего, выйдут из строя из-за ошибок совместимости при автоматизации больших, сложных, устаревших приложений с поддержкой сценариев, таких как Illustrator, Excel, FileMaker и т. д.


† Существует также py-appscript/SwiftAutomation (это то, что я использую для своего собственного высококлассного Illustrator). автоматизация, а также всесторонне надрать задницу AppleScript), но после многих лет, когда Apple облажалась, я больше не рекомендую и не предоставляю поддержку для него, так что вы будете предоставлены сами себе.

person foo    schedule 26.04.2017
comment
Спасибо за ваш ответ. Звучит довольно отрезвляюще... Может, 9 июня принесет хорошие новости :) - person blauzahn; 28.04.2017