2014-01-23 33 views
0

我對插畫師的腳本編程相對陌生,而且我很難將它放在頭上。插圖畫家使用Javascript設置字體屬性

我想選擇一些文本(整個範圍)並設置一些屬性。

我已經在圖層面板中命名文本對象,如果可能,我想按名稱選擇它。 (或者你可能建議的任何其他簡單/直接的方式)

這就是我如何通過名稱引用我的對象。

doc = app.activeDocument; 
doc.pageItems.getByName('myname'); 

我希望我能做到保持簡單,像這樣....

doc.pageItems.getByName('myname').characterAttributes.size = 30; 

不用說,這似乎並沒有工作。我正在研究製作characterStyles,但這更復雜,因此設置個人屬性將是我的第一步。

任何幫助將不勝感激!

回答

1

好的,所以我想通了....我錯過了.textRange選擇器。

doc.pageItems.getByName('myname').textRange.characterAttributes.size = 500; 

這偉大工程最重要的屬性,我似乎仍不能設置由字體名稱.textFont屬性。我可以使用索引來設置它,但這並不好,因爲我經常更新字體。

doc.pageItems.getByName('myname').textRange.characterAttributes.textFont = app.textFonts[7]; 

即使檢索的字體,我不能設置它...的名字後,我假設的方式會是這樣的......

doc.pageItems.getByName('myname').textRange.characterAttributes.textFont = "Arial"; 

沒有運氣雖然...

+0

嘗試'..textFont.name ='Arial';'(參見[參考]中的'textFont'屬性(http://jongware.mit.edu/iljscs6html/iljscs6/pc_CharacterAttributes.html ))。 – usr2564301

0

您可以設置屬性:

doc.pageItems.getByName('myname').setAttribute("id","foo"); 

來源:http://www.w3schools.com/jsref/met_element_setattribute.asp

您可以設置樣式:

doc.pageItems.getByName('myname').style.fontSize = "medium"; 

的東西,你可以把後面的」整個列表.style 'is here: http://www.w3schools.com/jsref/dom_obj_style.asp

+1

感謝回覆的人,問題是你的答案是關於標準的JavaScript。我的問題是針對Adobe Illustrator的JavaScript。我感謝你的時間:) – VIDesignz

0

您可以使用getByName(name)其中name是字體的(即包括字體樣式),而不是全名

textRef.textRange.characterAttributes.textFont = app.textFonts.getByName("FiraSans-Book");