Ai JSX 脚本笔记
记录Adobe Illustrator JSX脚本代码
当前运行脚本的路径
//当前运行脚本的完整路径名
var jsFilePath = new File($.fileName);
//当前运行脚本的文件夹路径
var jsFolderPath = jsFilePath.parent.fsName;
alert(jsFolderPath);
创建文件夹,获取文件数量
// new文件夹路径,但不会创建文件夹
var myFolder = new Folder("~/Desktop/333");
// 判断文件夹在不在
if (!myFolder.exists) {
alert("文件夹不存在,将会创建");
// 如果不存在则create()创建文件夹
myFolder.create();
}
// 获取该文件夹下的所有pdf文件
myFiles = myFolder.getFiles("*.pdf");
// 打印pdf文件的数量
alert('该文件下的pdf文件数量是:'+myFiles.length);
打开 文档/选中链接 所在的文件夹
/*
execute()是打开文件夹的方法
在win中打开相同文件夹只会打开一次,所以就不用去 重相同路径
*/
//当前选中
var s = app.selection;
//判断有没有选中对象
if (s.length == 0) {
//没有则打开当前文件所在的文件夹
app.activeDocument.path.execute();
} else {
//如果有选中物体,循环判断是不是链接图
for (i = 0; i < s.length; i++) {
//如果是链接图
if (s[i].typename == "PlacedItem") {
s[i].file.parent.execute();
}
}
}
剪切蒙版
/*
clipped属性是剪切蒙版
值是true或false
true表示剪切蒙版生效,必须是一个群组对象
false是释放剪切蒙版
剪切蒙版一定是群组的,由最上层的图形剪切蒙版
*/
var doc = app.activeDocument;
//当前选中的物体
var obj = app.selection[0];
//clipped是剪切蒙版,false是释放剪切蒙版
obj.clipped=false
//选中内部的对象时,操作父对象群组的剪切蒙版
//obj.parent.clipped=false
矩阵算角度
/*
角度没有直接能取到的值
根据 矩阵matrix 算角度
*/
var doc=app.activeDocument;
var sel=doc.selection;
matrix =sel[0].matrix;//链接图单一对象
rotation = 180/Math.PI * Math.atan2(matrix.mValueC, matrix.mValueD)
if(rotation<0){
alert('逆时针 '+(180+Number(rotation)).toFixed(3)+' 度')
}else{
alert('顺时针 '+(180-Number(rotation)).toFixed(3)+' 度')
}
打印设置
var printJobOptions = new PrintJobOptions();
var options = new PrintOptions();
options.jobOptions = printJobOptions;
options.printerName = "打印机名称"; // 指定打印机
printJobOptions.copies = 打印数量;
doc.print(options); // 打印