tiantian 发表于 2025-1-18 15:30:54

本帖最后由 tiantian 于 2025-1-18 15:41 编辑

面板已经完成,将脚本添加进去就可以了,下周推出【V1.3】【S1.3】二个版本,敬请期待!

tiantian 发表于 2025-1-18 21:43:59

由于合集中的内角线脚本在高版本的AI中无法使用,
所以这二天开发一款【极速角线】,包含内角线功能。

willsuntan 发表于 2025-1-21 09:26:46

【V1.3】【S1.3】楼主出来了没有?

tiantian 发表于 2025-1-21 09:29:54

本帖最后由 tiantian 于 2025-1-21 09:43 编辑

willsuntan 发表于 2025-1-21 09:26
【V1.3】【S1.3】楼主出来了没有?
/面板A--------------------------------------------
cyzhu = mban1.add("panel", , "常用");
cy001 = cyzhu.add("button", , "标注横尺寸");
cy002 = cyzhu.add("button", , "标注纵尺寸");
cy003 = cyzhu.add("button", , "极速标注V4.6");
cy004 = cyzhu.add("button", , "超速标注V1.2");
cy005 = cyzhu.add("button", , "标注尺寸增强");
cy006 = cyzhu.add("button", , "连续标注尺寸");
cy007 = cyzhu.add("button", , "打开多页PDF");
cy008 = cyzhu.add("button", , "置入多页PDF2.1");
cy009 = cyzhu.add("button", , "置入多页PDF2.3");
cy010 = cyzhu.add("button", , "导PDF拆分画板");
cy011 = cyzhu.add("button", , "统一图片分辨率");
cy012 = cyzhu.add("button", , "选择范围另存AI");
cy013 = cyzhu.add("button", , "嵌入图转链接图");
cy014 = cyzhu.add("button", , "批量替换链接图");
cy015 = cyzhu.add("button", , "链接图建文档名");
cy016 = cyzhu.add("button", , "全部选中链接图像");
cy017 = cyzhu.add("button", , "全部选中嵌入图像");
cy018 = cyzhu.add("button", , "对象偏移路径");

hbzhu = mban1.add("panel", , "画板");
hb001 = hbzhu.add("button", , "按对象创建画板");
hb002 = hbzhu.add("button", , "选择对象创建画板");
hb003 = hbzhu.add("button", , "根据选择创建画板");
hb004 = hbzhu.add("button", , "排序/加框/分割");
hb005 = hbzhu.add("button", , "画板划分Pro");
hb006 = hbzhu.add("button", , "画板垂直两分");
hb007 = hbzhu.add("button", , "画板水平两分");
hb008 = hbzhu.add("button", , "修改画板");
hb009 = hbzhu.add("button", , "修改画板加框");
hb010 = hbzhu.add("button", , "移除画板");
hb011 = hbzhu.add("button", , "删除空白画板");
hb012 = hbzhu.add("button", , "画板批量命名");
hb013 = hbzhu.add("button", , "重命名画板");
hb014 = hbzhu.add("button", , "调整画板和对象");
hb015 = hbzhu.add("button", , "旋转画板和对象");
hb016 = hbzhu.add("button", , "统一画板尺寸");
hb017 = hbzhu.add("button", , "画板增减尺寸");
hb018 = hbzhu.add("button", , "当前画板加矩形");
hb019 = hbzhu.add("button", , "全部画板加矩形");
hb020 = hbzhu.add("button", , "所有画板编号");
hb021 = hbzhu.add("button", , "对象适合画板1.0");
hb022 = hbzhu.add("button", , "对象适配界面");
hb023 = hbzhu.add("button", , "页面适配对象");
hb024 = hbzhu.add("button", , "画板适合对象");
hb025 = hbzhu.add("button", , "群组所有页面");
hb026 = hbzhu.add("button", , "画板对象裁切");
hb027 = hbzhu.add("button", , "多图层转多画板");
hb028 = hbzhu.add("button", , "画板反序");
hb029 = hbzhu.add("button", , "选择对象对齐画板");
hb030 = hbzhu.add("button", , "对象居中画板");

wbzhu = mban1.add("panel", , "文本");
wb001 = wbzhu.add("button", , "文本段落转换");
wb002 = wbzhu.add("button", , "文本段落分行");
wb003 = wbzhu.add("button", , "文本段落合并");
wb004 = wbzhu.add("button", , "大小写转换");
wb005 = wbzhu.add("button", , "单行拆单字");
wb006 = wbzhu.add("button", , "文字转曲");
wb007 = wbzhu.add("button", , "选择字号相同字");
wb008 = wbzhu.add("button", , "修改字串及大小");
wb009 = wbzhu.add("button", , "插入页码等");
wb010 = wbzhu.add("button", , "正则文本属性");
wb011 = wbzhu.add("button", , "正则查找替换");
wb012 = wbzhu.add("button", , "高级查找替换");

//面板B--------------------------------------------
yqzhu1 = mban2.add("panel", , "印前1");
yq001 = yqzhu1.add("button", , "查看文件版本");
yq002 = yqzhu1.add("button", , "检查文本溢出");
yq003 = yqzhu1.add("button", , "印前检查");
yq004 = yqzhu1.add("button", , "标注四色值");
yq005 = yqzhu1.add("button", , "统一四色黑");
yq006 = yqzhu1.add("button", , "全部颜色转黑");
yq007 = yqzhu1.add("button", , "颜色取整");
yq008 = yqzhu1.add("button", , "专色转为印刷色");
yq009 = yqzhu1.add("button", , "删除文档专色");
yq010 = yqzhu1.add("button", , "查找白色叠印");
yq011 = yqzhu1.add("button", , "移除叠印属性");
yq012 = yqzhu1.add("button", , "移除非纯黑叠印");
yq013 = yqzhu1.add("button", , "文档优化");
yq014 = yqzhu1.add("button", , "删除游离点");
yq015 = yqzhu1.add("button", , "刀线属性设置");
yq016 = yqzhu1.add("button", , "刀线生成出血线");
yq017 = yqzhu1.add("button", , "刀板出血框生成器");
yq018 = yqzhu1.add("button", , "刀线出血画板");

yqzhu2 = mban2.add("panel", , "印前2");
yq019 = yqzhu2.add("button", , "印前角线V27.2");
yq020 = yqzhu2.add("button", , "印前角线X9.1");
yq021 = yqzhu2.add("button", , "轮转角线V3.5");
yq022 = yqzhu2.add("button", , "极速角线");
yq023 = yqzhu2.add("button", , "自动角线");
yq024 = yqzhu2.add("button", , "设置版材咬口");
yq025 = yqzhu2.add("button", , "裁切标记");
yq026 = yqzhu2.add("button", , "裁切线");
yq027 = yqzhu2.add("button", , "色号生成器V2.2");
yq028 = yqzhu2.add("button", , "极速色标V1.1");
yq029 = yqzhu2.add("button", , "自订图层名/专色");
yq030 = yqzhu2.add("button", , "缩放中心阵列");
yq031 = yqzhu2.add("button", , "一键拼版");
yq032 = yqzhu2.add("button", , "自动拼版");
yq033 = yqzhu2.add("button", , "群组拼版");
yq034 = yqzhu2.add("button", , "阵列复制");
yq035 = yqzhu2.add("button", , "阵列复制V1.2");
yq036 = yqzhu2.add("button", , "极速拼版V2.6");

ljzhu = mban2.add("panel", , "路径");
lj001 = ljzhu.add("button", , "测量路径周长");
lj002 = ljzhu.add("button", , "计算周长面积");
lj003 = ljzhu.add("button", , "黄金比例绘图");
lj004 = ljzhu.add("button", , "等分路径");
lj005 = ljzhu.add("button", , "锚点分割路径");
lj006 = ljzhu.add("button", , "分割曲线锚点");
lj007 = ljzhu.add("button", , "建立等分圆");
lj008 = ljzhu.add("button", , "创建内切圆");
lj009 = ljzhu.add("button", , "创建外接圆");
lj010 = ljzhu.add("button", , "多段路径连接");
lj011 = ljzhu.add("button", , "点到点连线");
lj012 = ljzhu.add("button", , "闭合开放路径");
lj013 = ljzhu.add("button", , "角加圆点形状");
lj014 = ljzhu.add("button", , "创建公切线");
lj015 = ljzhu.add("button", , "选择节点类型");
lj016 = ljzhu.add("button", , "自动画角平分线");
lj017 = ljzhu.add("button", , "剪切路径");
lj018 = ljzhu.add("button", , "修改圆滑路径");
lj019 = ljzhu.add("button", , "反向路径");
lj020 = ljzhu.add("button", , "锚点选择");
lj021 = ljzhu.add("button", , "删除选择的锚点");
lj022 = ljzhu.add("button", , "锚点手柄变形");
lj023 = ljzhu.add("button", , "所有锚点变圆角");
lj024 = ljzhu.add("button", , "快速锐化角");

//面板C--------------------------------------------
dxzhu = mban3.add("panel", , "对象");
dx001 = dxzhu.add("button", , "超级批量替换对象");
dx002 = dxzhu.add("button", , "批量替换保留对象");
dx003 = dxzhu.add("button", , "批量替换删除对象");
dx004 = dxzhu.add("button", , "批量替换对象");
dx005 = dxzhu.add("button", , "批量替换刀线上方");
dx006 = dxzhu.add("button", , "对象A替换B");
dx007 = dxzhu.add("button", , "对象替换V2.0");
dx008 = dxzhu.add("button", , "对象按中心互换");
dx009 = dxzhu.add("button", , "交换对象支持透明");
dx010 = dxzhu.add("button", , "对象复制到锚点");
dx011 = dxzhu.add("button", , "对象排列");
dx012 = dxzhu.add("button", , "按对象拆分图层");
dx013 = dxzhu.add("button", , "对象移到新图层");
dx014 = dxzhu.add("button", , "沿路径复制对象");
dx015 = dxzhu.add("button", , "选中对象去重线");
dx016 = dxzhu.add("button", , "解锁全部对象");
dx017 = dxzhu.add("button", , "调整对象大小");
dx018 = dxzhu.add("button", , "校正对象水平");
dx019 = dxzhu.add("button", , "对象随机排版");
dx020 = dxzhu.add("button", , "对象吸附路径锚点");
dx021 = dxzhu.add("button", , "统计所选对象");

bzzhu = mban3.add("panel", , "包装");
bz001 = bzzhu.add("button", , "极速手提袋V4.6");
bz002 = bzzhu.add("button", , "绘制手提袋");
bz003 = bzzhu.add("button", , "手提袋Pro");
bz004 = bzzhu.add("button", , "包装盒型1.0");
bz005 = bzzhu.add("button", , "包装盒型2.0");
bz006 = bzzhu.add("button", , "天地盖盒子");
bz007 = bzzhu.add("button", , "绘制纸箱");
bz008 = bzzhu.add("button", , "绘制外箱");
bz009 = bzzhu.add("button", , "轻松画纸箱");
bz010 = bzzhu.add("button", , "精装书封面");
bz011 = bzzhu.add("button", , "书籍封面版型");
bz012 = bzzhu.add("button", , "条形码识别");
bz013 = bzzhu.add("button", , "条形码制作");
bz014 = bzzhu.add("button", , "条形码及二维码");
bz015 = bzzhu.add("button", , "二维码生成器");

sjzhu1 = mban3.add("panel", , "设计1");
sj001 = sjzhu1.add("button", , "选择相同增强");
sj002 = sjzhu1.add("button", , "选择同类型");
sj003 = sjzhu1.add("button", , "流水号生成器");
sj004 = sjzhu1.add("button", , "调整尺寸");
sj005 = sjzhu1.add("button", , "统一尺寸");
sj006 = sjzhu1.add("button", , "统一线宽");
sj007 = sjzhu1.add("button", , "解散全部群组");
sj008 = sjzhu1.add("button", , "自动群组");
sj009 = sjzhu1.add("button", , "智能群组");
sj010 = sjzhu1.add("button", , "描边快速虚线");
sj011 = sjzhu1.add("button", , "随机虚线");
sj012 = sjzhu1.add("button", , "虚线打散");
sj013 = sjzhu1.add("button", , "圆角工具V2.3");
sj014 = sjzhu1.add("button", , "智能填充");
sj015 = sjzhu1.add("button", , "圆形随机填充");
sj016 = sjzhu1.add("button", , "创建无缝拼接图");
sj017 = sjzhu1.add("button", , "拼图分割");
sj018 = sjzhu1.add("button", , "图片恢复100%");
sj019 = sjzhu1.add("button", , "—键随机颜色");
sj020 = sjzhu1.add("button", , "随机填色");
sj021 = sjzhu1.add("button", , "随机透明度");
sj022 = sjzhu1.add("button", , "命名查找器");
sj023 = sjzhu1.add("button", , "CMYK查找潘通色");
sj024 = sjzhu1.add("button", , "CMYK图表生成器");

//面板D--------------------------------------------
sjzhu2 = mban4.add("panel", , "设计2");
sj025 = sjzhu2.add("button", , "快速创建对开页");
sj026 = sjzhu2.add("button", , "对象批量蒙板");
sj027 = sjzhu2.add("button", , "删除所有蒙版");
sj028 = sjzhu2.add("button", , "重新缩放");
sj029 = sjzhu2.add("button", , "随机缩放大小透明");
sj030 = sjzhu2.add("button", , "随机缩放旋转");
sj031 = sjzhu2.add("button", , "创建参考线");
sj032 = sjzhu2.add("button", , "页面缩放和居中");
sj033 = sjzhu2.add("button", , "加高光/阴影色板");
sj034 = sjzhu2.add("button", , "统—角度方向");
sj035 = sjzhu2.add("button", , "批量镜像和旋转");
sj036 = sjzhu2.add("button", , "批量加边框");
sj037 = sjzhu2.add("button", , "批量图片填充形状");
sj038 = sjzhu2.add("button", , "选中文本创建图层");
sj039 = sjzhu2.add("button", , "删除空白图层");
sj040 = sjzhu2.add("button", , "移动复制镜像");
sj041 = sjzhu2.add("button", , "创建近似圆");
sj042 = sjzhu2.add("button", , "融合圆球");
sj043 = sjzhu2.add("button", , "融合圆球(弧)");
sj044 = sjzhu2.add("button", , "创建时钟表盘");
sj045 = sjzhu2.add("button", , "自动创建日历");
sj046 = sjzhu2.add("button", , "AI变量导入");
sj047 = sjzhu2.add("button", , "AI变量巫术师");
sj048 = sjzhu2.add("button", , "文件夹AI批量PDF");
sj049 = sjzhu2.add("button", , "按图层另存pdf");
sj050 = sjzhu2.add("button", , "选择导出-PSD");
sj051 = sjzhu2.add("button", , "JPG/PDF选择导出");
sj052 = sjzhu2.add("button", , "多文件批量导jpg");
sj053 = sjzhu2.add("button", , "链接文件打包");
sj054 = sjzhu2.add("button", , "链接文件转曲打包");

由于合集中的【内角线】脚本无法使用,前二天刚刚开发一个【极速角线】包含内角线功能,替换无法使用的【内角线】脚本。
现在合集面板好了,这二天就可以完工了,最晚星期四可以发布。

tiantian 发表于 2025-1-21 21:22:46

本帖最后由 tiantian 于 2025-1-21 21:28 编辑

【V1.3】代码全部加进已经全部完工了,
【S1.3】做好一个版面,明晚可以完工,
后天测试一下,二款都可以发布了。
由于面板太多,所以增加面板提示功能。

yuanhua 发表于 2025-1-22 14:48:57

本帖最后由 yuanhua 于 2025-1-22 14:55 编辑

tiantian 发表于 2024-8-12 19:46
【链入多页PDF】和还有几个这位作者的脚本还是老问题,有的版本AI无法使用,这是原作者的脚本需要调用动作 ...
      if(aFile.exists){
            for(j=1;j<=pageCount;j++){
                var pdfOptions = app.preferences.PDFFileOptions;
                pdfOptions.pageToOpen = j;//此处选择置入页码
                var myPlacedItem = doc.placedItems.add();
                myPlacedItem.file = aFile;
                myPlacedItem.embed();
            }

      }
在一个人的动作那看到的代码,创建链接对象指定文件.,
不知道有没有更方便获取PDF页数的动作,使用jsx调用vbs控制Acrobat来获取除外
以下是我以前写的获取PDF页面的动作,根据老动作加记事本查看常用的PDF几种格式得到
//file=new File("C:\\Users\\dell\\Desktop\\新建文档2_OK.pdf")
//app.open(file)
//$.writeln(PDFFile.readln()+"\n"+PDFFile.readln()+"\n"+PDFFile.readln()+"\n"+PDFFile.readln());
//$.writeln("可以打开");
//app.showPresets(file)
//都能打开
//File.eof   如果为 true,则读取尝试导致当前位置位于文件末尾,或者文件未打开。只读。
//$.writeln(InWriting);//一个个加载特别慢//丢到第三四个%%EOF后的部分,防止pitstop加载数据导致PDF页面读取不准
function GetPDFPageNumber(Path){
    var PDFFile=new File(Path);
    if(PDFFile.exists){
      if(PDFFile.open("r",".pdf")){
            var EOF=PDFFile.eof,Index=0,PageNum=0;
            while (!EOF){
            var InWriting=PDFFile.readln();
            var Num=InWriting.match(/\/Type\s*\/Page(?!s)/g);//查找不仅跟s的且中间带有不指定数量空格的/Type/Page
            if(Num!=null){PageNum+=Num.length;};
            if(InWriting.search("%%EOF")>-1){Index+=1;};
            EOF=(Index==2)?true:PDFFile.eof;//只检索到第二个%%EOF所在位置
            var Count=InWriting.match(/\/Count\s+\d+/g);
            if(Count!=null){PageNum=Count.replace(/\/Count\s+/g,"");EOF=true;};
            };
            PDFFile.close();
            }else{alert("文件无法打开!","文件打开错误",true);};
      }else{alert("路径文件不存在!","路径输入错误",true);};
      //$.writeln(Index);
      return PageNum;
    };
//GetPDFPageNumber("C:\\Users\\dell\\Desktop\\新建文档2_OK.pdf")
//GetPDFPageNumber("C:\\Users\\dell\\Desktop\\试验\\PDF格式\\87.pdf")
//GetPDFPageNumber("C:\\Users\\dell\\Desktop\\试验\\15822_Architects_IR_OK.pdf")
//GetPDFPageNumber("C:\\Users\\dell\\Desktop\\新建文档2_OK.pdf");
调用动作的代码也学过----以前在CPC发没啥人理我...首来华印不清楚怎么发,所以直接源码复制黏贴
/*
Code for Import <atarget="_blank">https://scriptui.joonas.me</a> — (Triple click to select):
{"activeId":0,"items":{"item-0":{"id":0,"type":"Dialog","parentId":false,"style":{"varName":null,"text":"动作脚本","preferredSize":,"margins":10,"orientation":"column","spacing":10,"alignChildren":["center","center"]}},"item-1":{"id":1,"type":"Button","parentId":0,"style":{"varName":null,"text":"Button","justify":"center","preferredSize":,"alignment":null,"helpTip":null,"typeName":null}},"item-2":{"id":2,"type":"Button","parentId":0,"style":{"varName":null,"text":"Button","justify":"center","preferredSize":,"alignment":null,"helpTip":null,"typeName":null}}},"order":,"settings":{"importJSON":true,"indentSize":false,"cepExport":false,"includeCSSJS":true,"showDialog":true,"functionWrapper":false,"compactCode":false}}
*/

// DIALOG
// ======
#target illustrator
#targetengine "main"
//String.fromCharCode(parseInt(Bytes,16));//十六进制转十进制,单字节转码
//字符串对象的值为string.valueOf(); valueOf() 方法通常由 JavaScript 在后台自动进行调用,而不是显式地处于代码中。Unicode 字符码;
String.prototype.toUTF_8=function(){
    var Word="",Words="";
    var ASCII=/[\u0000-\u007f]/;//十六进制 Unicode码;
    for(num=0;num<this.length;num+=1){
      Word=this.charAt(num);
      //UTF-16进制编码,ASCII部分与UTF-8共通通用可以直接转.弥补encodeURIComponent转UTF-8转不了的缺陷;
      Words+=ASCII.test(Word)?Number(Word.charCodeAt(0)).toString(16).toLocaleLowerCase():encodeURIComponent(Word).replace(/%/g, "").toLocaleLowerCase();
      //若非ASCII编码区域则去除转UTF-8的百分号并转化为小写字母//$.writeln (Words);
      }
    returnWords;//十六进制UTF-8编码
    }
String.prototype.fromUTF_8=function(){
    var Words="",num
    for(num=0;num<this.length;num+=2){
      Words=Words+"%"+this.substr(num,2);
      }
    return decodeURIComponent(Words);
    }
String.prototype.includes=function(Word){
    if(this.search(Word)!=-1){return true;}
    return false;
    }
Object.prototype.ButtonArrayAdd=function(Information){
    var panel = this.add("panel");
    panel.text = Information.name;
    panel.orientation = "column";
    panel.alignChildren = ["left","top"];
    panel.spacing = 10;
    panel.margins = 10;
    panel.alignment = ["fill","center"];
    var num;
    var ChildActions=Information.child;
    for(num=0;num<ChildActions.length;num++){
      var button = panel.add("button");
      button.text = ChildActions;
      button.justify = "center";
      button.alignment = ["fill","center"];
      button.ClickEvent(Information,ChildActions);
      }
    }
Object.prototype.ClickEvent=function(Information,Name){
    this.onClick=function(){
    ActiveAction(Information.own,Information.name,Name)
    }
    }
//*****************************************************************************************************************************************************************************************
var dialog = new Window("palette");
    dialog.text = "动作脚本";
    dialog.orientation = "column";
    dialog.alignChildren = ["center","center"];
    dialog.spacing = 10;
    dialog.margins = 10;

var own=new File($.fileName)
var Actions=own.parent.getFiles("*.aia");
if(Actions.length>0){
    for(num=0;num<Actions.length;num++){
    var Title=new ActionName(Actions);
    dialog.ButtonArrayAdd(Title);
    }
    }
function ActionName(Action){
    $.writeln (typeof Action)
Action.open("r");
var txt=Action.read().split('\n');
Action.close();
var Num,Name;
this.child=[];
this.own=Action;
for (Num=0;Num<txt.length;Num++){
    if(txt.includes("/version")){var Num=Num+2;Name=txt.replace(/\t|\n|\v|\r|\f/g,"").fromUTF_8();this.name=Name;};//$.writeln("Name: "+this.name);
    if(txt.includes("/action-")){var Num=Num+2;Name=txt.replace(/\t|\n|\v|\r|\f/g,"").fromUTF_8();this.child.push(Name);};//$.writeln("child: "+Name);
    };
}
function ActiveAction(Action,fsName,Name){
app.loadAction(Action);//加载动作
app.doScript(Name,fsName);//运行指定动作
app.unloadAction(fsName,"");//全卸载
}
//这个功能没有用到,因为没有调用AI内置API?直接使用的引擎功能?通过动作直接就能运行
/*
function informationTransfer(theInformation){
    var PassTheBridge = new BridgeTalk;
    PassTheBridge.target = "illustrator";
    PassTheBridge.body = theInformation;
    PassTheBridge.send()
    }
    */
dialog.show();


注 以前写的代码,认知不是很全,所以有注释错误请跳过

tiantian 发表于 2025-1-22 22:32:32

【AI脚本合集多功能版V1.3】三栏218款+【AI脚本合集多功能版S1.3】双栏218款
更新日志
新增面板提示功能
新增【全部选中链接图】
新增【全部选中嵌入图】
新增【对象偏移路径】
新增【全部画板居中合并】
新增【重命名画板】
新增【对象适合画板1.0】
新增【画板反序】
新增【删除游离点】
新增【颜色取整】
新增【刀板出血框生成器】
新增【刀线出血画板】
新增【极速角线】
新增【批量替换对象】
新增【批量替换刀线上方】
新增【绘制外箱】
新增【轻松画纸箱】
新增【精装书封面】
新增【条形码识别】
新增【批量图片填充形状】
新增【选中文本创建图层】
新增【文件夹AI批量PDF】
新增【按图层另存PDF】

删除【手绘刀版转线条】,高版本AI无法使用
删除【内角线生成器】,高版本AI无法使用
删除【选择导出PDF/JPG】,版本过期无法使用

willsuntan 发表于 2025-1-23 18:24:41

不错的插件合集,版本更新了,好用!!!!!

Top-ST 发表于 2025-2-7 08:55:44

感谢大佬不辞辛苦更新,收藏了

willsuntan 发表于 2025-2-21 21:43:14

这么好的插件,怎么没有人要呢???
页: 2 3 4 5 6 7 8 9 10 11 [12] 13 14 15
查看完整版本: ★原创★【AI脚本合集多功能版V1.0】免费下载!