illustrator插件--常用功能开发--文本段落分行--js脚本开发--AI插件

illustrator是矢量编辑软件,画板是绘制处理的重要容器,在印刷方面的一个重要功能就是文本段落分行,开发一个文本段落分行功能,以下功能仅用于学习交流,请勿用于非法用途和商业用途,源代码如下所示:

if (activeDocument.selection[0].contents.indexOf("\n") != -1) {

} else {
    var lineArr = fieldToArray(activeDocument.selection[0]);
    tfTop = activeDocument.selection[0].top;
    tfLeft = activeDocument.selection[0].left;
    activeDocument.selection[0].contents = lineArr[0];
    var tr = activeDocument.selection[0].story.textRange;
    var vSpacing = tr.leading;
    for (var j = 1; j < lineArr.length; j += 1) {
        bob = activeDocument.selection[0].duplicate(activeDocument, ElementPlacement.PLACEATBEGINNING);
        bob.contents = lineArr[j];
        bob.top = tfTop - (vSpacing * j);
        bob.left = tfLeft;
        bob.selected = false;
    }
}

function fieldToArray(myField) {
    if (myField.typename == "TextFrame") {
        retChars = new Array("�", "", "\r", "\n");
        var ct = 0;
        var tmpTxt = myField.contents.toString();
        for (var all in retChars) {
            tmpArr = tmpTxt.split(retChars[all]);
            ct += tmpArr.length;
        }
        ct += 1;
        while (ct > 0) {
            tmpTxt = tmpTxt.replace(/[\x03]|[\f]|[\r\n]|[\r]|[\n]/, "_:X:_");
            ct--;
        }
        return tmpTxt.split("_:X:_");
    }
}

  合理的脚本代码可以有效的提高工作效率,减少重复劳动。

文章引用至 作者知了-联系方式1

文章引用至 作者知了-联系方式2

你可能感兴趣的:(illustrator插件--常用功能开发--文本段落分行--js脚本开发--AI插件)