Illustrator Javascript设置字体属性

时间:2014-01-23 15:36:30

标签: javascript scripting adobe-illustrator extendscript

我对插图画家的脚本相对较新,而且我很难绕过它。

我想选择一些文本(整个范围)并为其设置一些属性。

我在图层面板中命名了文本对象,如果可能,我想按名称选择它。 (或您可能建议的任何其他简单/直接的方式)

这是我按名称引用我的对象的方式。

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

我希望我能做到这么简单......

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

毋庸置疑,这似乎不起作用。我也在考虑制作characterStyles,但这要复杂得多,因此设置个别属性将是我的第一步。

非常感谢任何帮助!

3 个答案:

答案 0 :(得分: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";

没有运气虽然......

答案 1 :(得分:0)

您可以使用getByName(name) name字体的全名(即包括字体样式),而不是姓氏

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

答案 2 :(得分:-1)

您可以使用以下内容设置属性:

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

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

您可以使用以下方式设置样式:

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

你可以把'.style'放在后面的所有内容列表如下: http://www.w3schools.com/jsref/dom_obj_style.asp