illustrator脚本编写(illustrator插件-常用功能开发-流水号生成器-js脚本开发-AI插件)

illustrator是矢量编辑软件,画板是绘制处理的重要容器,在印刷方面的一个重要功能就是流水号生成器,开发一个流水号生成器功能,以下功能仅用于学习交流,请勿用于非法用途和商业用途,源代码如下所示:,我来为大家科普一下关于illustrator脚本编写?以下内容希望对你有帮助!

illustrator脚本编写(illustrator插件-常用功能开发-流水号生成器-js脚本开发-AI插件)

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Ëò¸æSRà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(); }

2.使用方式

AI源代码转执行脚本


>文章引用至 作者联系方式

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页