var dialog = new Window("dialog"); dialog.text = "打印拼贴软件 使用前请看规则"; dialog.orientation = "row"; dialog.alignChildren = ["left","top"]; dialog.spacing = 10; dialog.margins = 16; // GROUP1 // ====== var group1 = dialog.add("group", undefined, {name: "group1"}); group1.orientation = "column"; group1.alignChildren = ["fill","top"]; group1.spacing = 10; group1.margins = 0; // PANEL1 // ====== var panel1 = group1.add("panel", undefined, undefined, {name: "panel1"}); panel1.text = "S/O样自动连晒"; panel1.preferredSize.height = 205; panel1.orientation = "column"; panel1.alignChildren = ["left","top"]; panel1.spacing = 10; panel1.margins = 10; var statictext1 = panel1.add("statictext", undefined, undefined, {name: "statictext1"}); statictext1.text = "宽高设定(cm):"; // GROUP2 // ====== var group2 = panel1.add("group", undefined, {name: "group2"}); group2.orientation = "row"; group2.alignChildren = ["left","center"]; group2.spacing = 10; group2.margins = 0; var statictext2 = group2.add("statictext", undefined, undefined, {name: "statictext2"}); statictext2.text = "宽度"; var edittext1 = group2.add('edittext {properties: {name: "edittext1"}}'); edittext1.preferredSize.width = 60; var statictext3 = group2.add("statictext", undefined, undefined, {name: "statictext3"}); statictext3.text = "宽度"; var edittext2 = group2.add('edittext {properties: {name: "edittext2"}}'); edittext2.preferredSize.width = 60; // GROUP3 // ====== var group3 = panel1.add("group", undefined, {name: "group3"}); group3.orientation = "row"; group3.alignChildren = ["left","center"]; group3.spacing = 10; group3.margins = 0; var statictext4 = group3.add("statictext", undefined, undefined, {name: "statictext4"}); statictext4.text = "字体属性:"; var dropdown1_array = ["文件名"]; var dropdown1 = group3.add("dropdownlist", undefined, undefined, {name: "dropdown1", items: dropdown1_array}); dropdown1.selection = 0; dropdown1.preferredSize.width = 100; // GROUP4 // ====== var group4 = panel1.add("group", undefined, {name: "group4"}); group4.orientation = "row"; group4.alignChildren = ["left","center"]; group4.spacing = 10; group4.margins = 0; var statictext5 = group4.add("statictext", undefined, undefined, {name: "statictext5"}); statictext5.text = "字体方向:"; var dropdown2_array = ["以下对齐"]; var dropdown2 = group4.add("dropdownlist", undefined, undefined, {name: "dropdown2", items: dropdown2_array}); dropdown2.selection = 0; dropdown2.preferredSize.width = 100; // GROUP5 // ====== var group5 = panel1.add("group", undefined, {name: "group5"}); group5.orientation = "row"; group5.alignChildren = ["left","center"]; group5.spacing = 10; group5.margins = 0; var statictext6 = group5.add("statictext", undefined, undefined, {name: "statictext6"}); statictext6.text = "字体大小:"; var edittext3 = group5.add('edittext {properties: {name: "edittext3"}}'); edittext3.text ="60" edittext3.preferredSize.width = 60; // PANEL1 // ====== var group6 = panel1.add("group", undefined, {name: "group6"}); group6.orientation = "row"; group6.alignChildren = ["left","center"]; group6.spacing = 10; group6.margins = 0; var statictext7 = group6.add("statictext", undefined, undefined, {name: "statictext7"}); statictext7.text = "文件路径:"; var button1 = group6.add("button", undefined, undefined, {name: "button1"}); button1.text = "输出文件夹目录"; button1.preferredSize.width = 100; // GROUP1 // ====== var progressbar1 = group1.add("progressbar", undefined, undefined, {name: "progressbar1"}); progressbar1.maxvalue = 100; progressbar1.value = 50; progressbar1.preferredSize.width = 50; progressbar1.preferredSize.height = 4; // GROUP6 // ====== var group6 = dialog.add("group", undefined, {name: "group6"}); group6.orientation = "column"; group6.alignChildren = ["fill","top"]; group6.spacing = 10; group6.margins = 0; var ok = group6.add("button", undefined, undefined, {name: "ok"}); ok.text = "执行"; ok.alignment = ["center","top"]; var cancel = group6.add("button", undefined, undefined, {name: "cancel"}); cancel.text = "取消"; cancel.alignment = ["fill","top"]; var button3 = group6.add("button", undefined, undefined, {name: "button3"}); button3.text = "关于"; button3.alignment = ["right","top"]; var button4 = group6.add("button", undefined, undefined, {name: "button4"}); button4.text = "规则"; button4.alignment = ["right","top"]; button1.onClick=function(){ button1.text =Folder.selectDialog ("输出文件夹目录").fsName; } button3.onClick = function () { alert("by jimi 2022.8.9 裁片自动排版软件18620223577",dialog.text+"----关于"); } button4.onClick = function () { alert("须在D盘建立一个名为*输入*的文件夹",dialog.text+"----使用须知"); } //处理函数 ok .onClick=function(){ //~ //~ if (myEditText!="") { var myFolder=new Folder(button1.text) //打开文件夹中的每一个文件开始处理 var myFiles=myFolder.getFiles ("*.tif*") for(i=0 ;i< myFiles.length;i++){ //开始处理每一个文件 //断判是文件格式 if(myFiles[i] instanceof File) app.open(myFiles[i]) var document =app.activeDocument //合并图层 document.flatten() //预设图案 var 当前文档名称=activeDocument.name var idMk = charIDToTypeID( "Mk " ); var desc14 = new ActionDescriptor(); var idnull = charIDToTypeID( "null" ); var ref3 = new ActionReference(); var idPtrn = charIDToTypeID( "Ptrn" ); ref3.putClass( idPtrn ); desc14.putReference( idnull, ref3 ); var idUsng = charIDToTypeID( "Usng" ); var ref4 = new ActionReference(); var idPrpr = charIDToTypeID( "Prpr" ); var idfsel = charIDToTypeID( "fsel" ); ref4.putProperty( idPrpr, idfsel ); var idDcmn = charIDToTypeID( "Dcmn" ); var idOrdn = charIDToTypeID( "Ordn" ); var idTrgt = charIDToTypeID( "Trgt" ); ref4.putEnumerated( idDcmn, idOrdn, idTrgt ); desc14.putReference( idUsng, ref4 ); var idNm = charIDToTypeID( "Nm " ); desc14.putString( idNm, """当前文档名称""" ); executeAction( idMk, desc14, DialogModes.NO ); // //重设宽高 //记录宽高以调整宽高 //-.../-.--/-.-./..-./..../-.-- var sWidth=Number (edittext1.text); //宽; var sHeight=Number (edittext2.text); //宽; var fontsz=Number (edittext3.text); //宽; //将图片裁切成指定宽高 app.activeDocument.crop([UnitValue("0px"),UnitValue("0px"),UnitValue(sWidth,"cm"),UnitValue(sHeight,"cm")]); //填充当前文档图案 var idMk = charIDToTypeID( "Mk " ); var desc111 = new ActionDescriptor(); var idnull = charIDToTypeID( "null" ); var ref20 = new ActionReference(); var idcontentLayer = stringIDToTypeID( "contentLayer" ); ref20.putClass( idcontentLayer ); desc111.putReference( idnull, ref20 ); var idUsng = charIDToTypeID( "Usng" ); var desc112 = new ActionDescriptor(); var idType = charIDToTypeID( "Type" ); var desc113 = new ActionDescriptor(); var idPtrn = charIDToTypeID( "Ptrn" ); var desc114 = new ActionDescriptor(); var idNm = charIDToTypeID( "Nm " ); desc114.putString( idNm, """当前文档名称""" ); var idIdnt = charIDToTypeID( "Idnt" ); desc114.putString( idIdnt, """当前文档名称""" ); var idPtrn = charIDToTypeID( "Ptrn" ); desc113.putObject( idPtrn, idPtrn, desc114 ); var idpatternLayer = stringIDToTypeID( "patternLayer" ); desc112.putObject( idType, idpatternLayer, desc113 ); var idcontentLayer = stringIDToTypeID( "contentLayer" ); desc111.putObject( idUsng, idcontentLayer, desc112 ); executeAction( idMk, desc111, DialogModes.NO ); //记录字体大小并修改 //r textsz= Number(dialog.group5.statictext6.edittext3.text); //宽; //新建图层 activeDocument.artLayers.add() //将新建图层变成文本图层 activeDocument.activeLayer.kind=LayerKind.TEXT //将文本内容改为当前文档name activeDocument.activeLayer.textItem.contents=activeDocument.name //字体大小 activeDocument.activeLayer.textItem.size= fontsz //文字字体 activeDocument.activeLayer.textItem.font="微软雅黑" //文字层边界 x=activeDocument.width-activeDocument.activeLayer.bounds[2] //文字层边界 y=activeDocument.activeLayer.bounds[1] //对齐 activeDocument.activeLayer.translate(x,-y) //偏移 activeDocument.activeLayer.translate(UnitValue("-1cm"),UnitValue("+0.5cm")) //电白 var myCopyLayer=activeDocument.activeLayer.duplicate (activeDocument.activeLayer,ElementPlacement.PLACEAFTER) myCopyLayer.rasterize(RasterizeType.ENTIRELAYER) //T填充颜色参数 var myColor=new SolidColor() myColor.rgb.red=255 myColor.rgb.green=255 myColor.rgb.blue=255 activeDocument.activeLayer=myCopyLayer fillType=myColor mode=ColorBlendMode.NORMAL oacity=100 preserveTransparency=true activeDocument.selection.fill(fillType,mode,oacity,preserveTransparency) //白边 activeDocument.activeLayer.applyMinimum(10) document.flatten() //保存输出 //r CSyFolder=File(button2.text) saveIn=File("d:/输入/"+activeDocument.name); tifSaveOpt = new TiffSaveOptions(); tifSaveOpt.imageCompression = TIFFEncoding.TIFFLZW; tifSaveOpt.byteOrder = ByteOrder.IBM; asCopy=true app.activeDocument.saveAs(saveIn,tifSaveOpt,asCopy); activeDocument.close(SaveOptions.DONOTSAVECHANGES); } } dialog.show();