2017-04-24 63 views
0

我正在尋找一種在Adobe Illustrator中使用JXA(JavaScript for Automation)創建路徑項的方法。我多次搜索了整個互聯網,找不到任何東西......蘋果開發人員網站上只介紹了JXA的基本信息:JavaScript for Automation Release Notes (10.10) Adob​​e根本沒有涉及到這個主題。 這裏是我的代碼,我就開始想一個橢圓添加到現有的文檔:通過JXA(JavaScript for Automation)在Adobe Illustrator中創建一個新路徑項目

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) 

任何幫助,將不勝感激,謝謝! :)

回答

2

不要浪費你的時間。就像之前的ScriptingBridge一樣,JXA不能正常工作:它會做簡單的事情達到某個程度......然後它會對你產生影響;在這一點上,你被擰了。蘋果公司從來沒有記錄過或支持過它,甚至沒有構建AS的一小部分觀衆,所以如果/當蘋果推出他們修改後的自動化戰略時,我不會感到驚訝的是,它在命中榜上名列第一。 (這是上個自動化項目經理被解僱的原因,我敢說在6月9日以後我們會有更好的想法)。

如果你想使用JavaScript自動化AI,使用它的內置JavaScript(JSX)解釋器。否則堅持AppleScript這是唯一正式支持選項,知道如何說話蘋果事件正確†。編寫非平凡腳本時這一點尤爲重要,因爲在自動化大型,複雜,陳舊的可編寫腳本的應用程序(如Illustrator,Excel,FileMaker等)時,較差的AE橋很可能會用完蒸汽/中斷兼容性錯誤。


†也有py-appscript/SwiftAutomation(這是我用於我自己的高端Illustrator自動化,並全面踢AppleScript的屁股),但經過多年的蘋果公司的擰我不再推薦或提供支持,所以你將是你自己的。

+0

謝謝您的回覆。這聽起來相當清醒...也許6月9日帶來一些好消息:) – blauzahn

相關問題