illustrator脚本编写(illustrator插件-常用功能开发-流水号生成器-js脚本开发-AI插件)
illustrator是矢量编辑软件,画板是绘制处理的重要容器,在印刷方面的一个重要功能就是流水号生成器,开发一个流水号生成器功能,以下功能仅用于学习交流,请勿用于非法用途和商业用途,源代码如下所示:,我来为大家科普一下关于illustrator脚本编写?以下内容希望对你有帮助!
![illustrator脚本编写(illustrator插件-常用功能开发-流水号生成器-js脚本开发-AI插件)](http://img.studyofnet.com/upimg/322939985.jpg)
illustrator脚本编写
1 方法原理illustrator是矢量编辑软件,画板是绘制处理的重要容器,在印刷方面的一个重要功能就是流水号生成器,开发一个流水号生成器功能,以下功能仅用于学习交流,请勿用于非法用途和商业用途,源代码如下所示:
var dat1 = new Date();
var year1 = dat1.getFullYear();
var mon1 = dat1.getMonth();
if (mon1 < 9) {
mon1 = 0 mon1 1.toString();
} else {
mon1 = Number(mon1) 1;
}
var day1 = Number(dat1.getDate());
if (day1 <= 9) {
day1 = 0 day1.toString();
} else {
day1;
}
var today = year1 mon1 day1;
var doc = app.activeDocument;
var lay = doc.activeLayer;
var arr = new Array(0);
var sel = doc.selection;
var arr1 = new Array(sel.length);
if (sel.length == 0) {
alert("请选取文本框再执行脚本");
} else {
if (sel.length > 0) {
snMaker();
}
}
function snMaker() {
var win = new Window("dialog", "流水号产生器", undefined);
win.spacing = 5;
var g11 = win.add("group");
g11.orientation = "row";
g11.alignChildren = "fill";
g11.spacing = 42;
var st11 = g11.add("statictext", undefined, "前辍字");
var st12 = g11.add("statictext", undefined, "连结符");
var st13 = g11.add("statictext", undefined, "* 起始值");
var st14 = g11.add("statictext", undefined, "后辍字");
var g12 = win.add("group");
g12.orientation = "row";
g12.alignment = "fill";
var et11 = g12.add("edittext", [0, 0, 80, 25], today);
var et12 = g12.add("edittext{justify:'center',text:'-'}", [0, 0, 30, 25]);
var et13 = g12.add("edittext{justify:'right',text:'0000001'}", [0, 0, 125, 25]);
var et14 = g12.add("edittext{justify:\"right\",text:\"CPC\"}", [0, 0, 40, 25]);
var g13 = win.add("group");
g13.orientation = "row";
g13.alignment = "right";
var bt11 = g13.add("button", [0, 0, 95, 25], "回复为默认值");
var bt12 = g13.add("button", [0, 0, 95, 25], "以上全部清空");
bt11.onClick = function() {
et11.text = today;
et12.text = "-";
et13.text = "00001";
et14.text = "CPC";
et31.text = "";
rb21.value = true;
et21.text = 1;
};
bt12.onClick = function() {
et11.text = "";
et12.text = "";
et13.text = "* 此栏必填 *";
et14.text = "";
st61.text = "";
et31.text = "";
et13.active = true;
};
var p1 = win.add("panel", undefined, "");
p1.alignment = "fill";
var g21 = win.add("group");
g21.spacing = 3;
var st21 = g21.add("statictext", undefined, "选项:");
var rb21 = g21.add("radiobutton", [0, -5, 50, 10], "顺序");
rb21.value = true;
var rb22 = g21.add("radiobutton", [0, -5, 50, 10], "反序");
var rb23 = g21.add("radiobutton", [0, -5, 50, 10], "乱序");
var st22 = g21.add("statictext", undefined, "* 累进值:");
var et21 = g21.add("edittext{justify:\"center\",text:1}", [0, 0, 35, 25]);
var p2 = win.add("panel", undefined, "");
p2.alignment = "fill";
var g31 = win.add("group");
g31.orientation = "row";
g31.alignment = "right";
var et31 = g31.add("edittext{justify:\"right\",text:\"\"}", [0, 0, 250, 25]);
var btn31 = g31.add("button", [0, 0, 40, 25], "预览");
btn31.onClick = function() {
var len1 = et13.text.length;
var len2 = et21.text.length;
var len3 = Number(et21.text) * Number(sel.length).toString().length;
function sortNum(a, b) {
return b - a;
}
var arr1 = new Array(3);
arr1[0] = len1;
arr1[1] = len2;
arr1[2] = len3;
var arr2 = arr1.sort(sortNum);
var lenB = arr2[0];
if (et13.text == "" || et13.text == "* 此栏必填 *" || et21.text == "") {
alert("起始值或累进值不能为空值");
if (et21.text == "") {
et21.text = "1";
}
} else {
var et131 = "000000000000000" Number(et13.text).slice(-lenB);
var et132 = "000000000000000" Number(et13.text) Number(et21.text).slice(-lenB);
var et133 = "000000000000000" Number(et13.text) (Number(et21.text) * (sel.length - 1)).slice(-lenB);
var et134 = "000000000000000" Number(et13.text) (Number(et21.text) * (sel.length - 2)).slice(-lenB);
if (rb21.value == true) {
et31.enabled = true;
et31.text = et11.text et12.text et131 et14.text " , " et11.text et12.text et132 et14.text " , ...";
st61.text = "共选取" sel.length "个文本框,由前依序递增值为" et21.text;
} else if (rb22.value == true) {
et31.enabled = true;
et31.text = et11.text et12.text et133 et14.text " , " et11.text et12.text et134 et14.text " , ...";
st61.text = "共选取" sel.length "个文本框,由后依序递减值为" et21.text;
} else {
if (rb23.value == true) {
et31.enabled = false;
et31.text = "乱序不提供预览 !";
st61.text = "乱序不提供预览 !";
}
}
}
};
var p4 = win.add("panel", undefined, "即时讯息及处理进度");
p4.alignment = "fill";
var g6 = p4.add("group");
g6.orientation = "column";
g6.alignment = "fill";
var st61 = g6.add("statictext", [0, 0, 270, 25], "");
var pgb = g6.add("progressbar", undefined, 0, undefined);
pgb.alignment = "fill";
st61.fillBrush = st61.graphics.newBrush(st61.graphics.BrushType.SOLID_COLOR, [1, 0, 0, 0.001]);
st61.textPen = st61.graphics.newPen(st61.graphics.PenType.SOLID_COLOR, [0.9, 0, 0, 1], 1);
st61.onDraw = customDraw;
function customDraw() {
with(this) {
graphics.drawOSControl();
graphics.rectPath(0, 0, size[0], size[1]);
graphics.fillPath(fillBrush);
if (text) {
graphics.drawString(text, textPen, (size[0] - graphics.measureString(text, graphics.font, size[0])[0]) / 2, 3, graphics.font)
}
}
}
var p3 = win.add("panel", undefined, "重要备注");
p3.alignment = "fill";
var g4 = p3.add("group");
g4.alignment = "fill";
var st41 = g4.add("statictext", undefined, "● * 星号为必填的项目");
var st42 = g4.add("statictext", undefined, "● 总值支持至16位数");
var g41 = win.add("group");
g41.orientation = "row";
g41.alignment = "center";
var btn42 = g41.add("button{justify:\"center\",text:\"点击生成流水号!\"}", undefined);
btn42.fillBrush = btn42.graphics.newBrush(btn42.graphics.BrushType.SOLID_COLOR, [0, 0.5, 0, 1]);
btn42.textPen = btn42.graphics.newPen(btn42.graphics.PenType.SOLID_COLOR, [1, 1, 1, 1], 1);
btn42.onDraw = customDraw;
function customDraw() {
with(this) {
graphics.drawOSControl();
graphics.rectPath(0, 0, size[0], size[1]);
graphics.fillPath(fillBrush);
if (text) {
graphics.drawString(text, textPen, (size[0] - graphics.measureString(text, graphics.font, size[0])[0]) / 2, 3, graphics.font)
}
}
}
var giSign = win.add("group");
var cpcImg = "‰PNG\r\n\n\rIHDR(d×=tEXtSoftwareAdobe ImageReadyqÉe<ÄIDATxÚÌVËOaˆÚÖˆÙ\nÑmÏCY¸\\l‹yĤÜ[IƘÒxE‘@à`D!h4áe¤âÁ.^@\"¡
ƒ8l°õa#ZÅ™åÛ¥-†“|Ùô{Ío~ó›ù\npÂ- uâ^Û]?GÇ«§}ÏSö¶ã‡;â~:;ˆçä”s6æƒg~‚\t>f2ă.ütW¯TsE‘b¸°“DãÆ:˜ý\"œÞÚ\nãº/\t’Îl 3¢
Bð %pvv†‚7¶Êª*( SöíÆbð÷†¾‡X,Öƒ{½i\tœiÏ4pgº\rŠ\"Eš“kû‡ó¦¦ ïÔ☳X,¢»µõÈÍÍÎÂGŸ£HD&Ô74‚L§[–áõÈE¬»i.;!ž÷Þ$p©¶ÙØ۱ЛOt–¤¤¹šÚZ@¦é~œÍͺàÈ8ŽƒÛ0®»X6¢ubZ¡p³PÛ<_òzoô@aßsLñÆ!ȦFøk2Ù˜>“,°¸/ûûá\r²hfN‘©`w8´9L%ŒÁîý~å7¯G\"˜F5€6k¸B;,Zý0l’×\nVÝç––º.>é&ý)kL&Ø”½WÓ0›Y‚ÒòrÐ[ãqM5\nš$ɉƒã££ÚÓ¦@š=ÅæxSül{hnÔÁ“À¥Ë]:šdT0©ECÌD£QÈÏÏ×æH¨³0Þïd÷Ï`AI::Ò:Bö!m˜±ý¬ƒQ„”öÁKa\t¾-,(ãg$ÿi/8,úÊz’cUÞÅ‘Ô¡úUîîu¶¡i^ô]ïÆ(—||/nû,ŠÇ•õ:»CP € êP5é `¨¯õnËò¸æSRàp]D“8u‹ŠIF‘.‰là¤è·\nÖŠƒ\n¤¯Ç;É}š.mû.KËË8ƒÁ€—óÊ™ÔB‘··\tѯö1™úK£Œ©åTÞli!\r\n8'f¥A‰£¯ìY[-ðÌÏ•pWjV”‰¢âˆ’Êûžd–êìv0œ1̰ίÛmR_f½>Ÿ¯“µek4\rµ©ìÒ4Èž\"÷ð©µêz%æ(µÞBÀœÇ}SÑÇct>AÕKýRϨxh½&3zO¥l 7w‡'&××ãó““£¤•1GOÌš{@§X¼¸Þ“\t(ž£&ßNO5fj?$\r‡ò ä]‰ç³2\\âb}ŽW‹ˆ4—!uÇ6œ ¡—°/z,N¼ý` Ž²ÖñºÈIEND®B`‚";
var imgSign = giSign.add("image", undefined, cpcImg);
var stSign = giSign.add("statictext", undefined, "CPC中文印刷社区");
var stSign2 = win.add("statictext", undefined, "by calvin530126(#CJJS021scD)");
btn42.onClick = function() {
var len1 = et13.text.length;
var len2 = et21.text.length;
var len3 = Number(et21.text) * Number(sel.length).toString().length;
function sortNum(a, b) {
return b - a;
}
var arr1 = new Array(3);
arr1[0] = len1;
arr1[1] = len2;
arr1[2] = len3;
var arr2 = arr1.sort(sortNum);
var lenB = arr2[0];
if (et13.text == "" || et13.text == "* 此栏必填 *" || et21.text == "") {
alert("起始值或累进值不能为空值,请重新执行脚本");
if (et21.text == "") {
et21.text = "1";
}
} else {
for (var i = 0; i < sel.length; i = 1) {
if (rb21.value == true) {
var et131 = "000000000000000" Number(et13.text) (Number(et21.text) * ((sel.length - 1) - i)).slice(-lenB);
sel[i].contents = et11.text et12.text et131 et14.text;
pgb.value = (i / sel.length) * 100;
win.update();
} else if (rb22.value == true) {
var et131 = "000000000000000" Number(et13.text) (Number(et21.text) * i).slice(-lenB);
sel[i].contents = et11.text et12.text et131 et14.text;
pgb.value = (i / sel.length) * 100;
win.update();
} else {
if (rb23.value == true) {
var et131 = "000000000000000" Number(et13.text) (Number(et21.text) * ((sel.length - 1) - i)).slice(-lenB);
sel[i].contents = et11.text et12.text et131 et14.text;
arr.push(sel[i].contents);
}
}
}
arr.sort(function() {
return Math.random() > 0.5 ? -1 : 1;
});
if (rb23.value == true) {
for (var k = 0; k < sel.length; k = 1) {
sel[k].contents = arr[k];
pgb.value = (k / sel.length) * 100;
win.update();
}
}
}
win.close();
};
win.center();
win.show();
}
AI源代码转执行脚本
>文章引用至 作者联系方式
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com