【问题标题】:Illustrator Javascript set font attributesIllustrator Javascript 设置字体属性
【发布时间】:2015-01-22 06:41:46
【问题描述】:

我对 Illustrator 脚本编写相对较新,我很难理解它。

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

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

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

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

我希望我能像这样保持简单......

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

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

任何帮助将不胜感激!

【问题讨论】:

    标签: javascript scripting adobe-illustrator extendscript


    【解决方案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";
    

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

    【讨论】:

    • 试试..textFont.name = 'Arial';(参见Reference中的textFont属性)。
    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

      你可以设置属性:

      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

      【讨论】:

      • 感谢您的回复,问题是您的回答是关于标准 JavaScript 的。我的问题是针对 Adob​​e Illustrator 的 JavaScript。不过,我很感激你的时间:)
      猜你喜欢
      • 2010-11-23
      • 2012-11-01
      • 2015-08-19
      • 1970-01-01
      • 1970-01-01
      • 2014-11-18
      • 2013-04-11
      • 1970-01-01
      • 2021-07-09
      相关资源
      最近更新 更多