AI脚本选择相同重叠文本 以避免文本对象重叠的现象
发布时间:2015-04-27 14:19:40 作者:佚名 我要评论
这篇教程是向脚本之家的朋友AI脚本选择相同重叠文本,以避免文本对象重叠的现象。一起来看看吧
脚本之家的朋友们,大家好。我是脚本之家会员胡说八道。今天给大家带来的这个教程像脚本之家的朋友们介绍用AI脚本选择相同重叠文本,难度中等。算是和朋友们分享一个技巧吧!
该脚本可以选择重叠的文本对象,以避免文本对象重叠的现象产生。
注意:文本对象必须相同,即内容、大小写。
要用“文件-脚本”来使用,以CS3为例应放在"C:\Program Files\Adobe\Adobe Illustrator CS3\预设\脚本"下。
当然,也可以放置在其他文件夹中,通过Ctrl+F12定位到脚本所在处来使用。
复制以下全部文字到记事本中,保存为以.js结尾的脚本文件(如:脚本.js)即可。
复制代码
代码如下://///////////////////////////////////////////////////////////////
//Select Replicated (Overlaping) Text Items v.1 -- CS,CS2
//>=--------------------------------------
// This script removes all duplicate overlaping text items from a document.
// The ONLY parameters it checks are top and left coordinates, and text contents.
// Anchor points within one point of each other are considered the same.
// (tolerance can be adjusted by changing the 'tolerance' value.)
//
// The lower duplicate objects are selected for manual removal.
//
//>=--------------------------------------
// JS code (c) copyright: John Wundes ( john@wundes.com ) www.wundes.com
//copyright full text here: http://www.wundes.com/js4ai/copyright.txt
//////////////////////////////////////////////////////////////////
var selName = "仅本文档中)";
if(selection.length >0){
selName = "current selection";
var sel= activeDocument.selection;
var selectedTextFrames = new Array(0);
for (var all in sel){
if(sel[all].typename == "TextFrame"){
selectedTextFrames.push(sel[all]);
}
}
sel = selectedTextFrames;
} else{
var sel= activeDocument.textFrames;
}
var dupeTextFrames= new Array(0);
var tolerance = 1;
var slen = sel.length;
for(var all=0; all checkDupe(sel,all);
}
//
alert(dupeTextFrames.length + " 个重叠的相同文本对象被找到("+selName+"");
if(dupeTextFrames.length>0){
activeDocument.selection = [];
for (all in dupeTextFrames){
dupeTextFrames[all].selected = true;
}
}
//---------------------------------------
function checkDupe(ob,n){
//t == objects so far
for(var t=0; t <n></n> if(ob[t].typename == "TextFrame"){
if (isWithin(ob[n].left,ob[t].left,tolerance) &&
isWithin(ob[n].top,ob[t].top,tolerance) &&
ob[n].contents == ob[t].contents){
dupeTextFrames.push(ob[n]);
break;
}
}
}
}
function isWithin(YposA,YposB,tol){
if(YposA==YposB){return true};
if(findDiff(YposA,YposB) return true;
}
return false;
}
function findDiff(a,b){
if( a>0 && b>0 && b>a ||
a<0 && b>0 ||
a<0 && b<0 && a>b ){
return Math.abs(b-a);
}
return Math.abs(a-b);
}
//Select Replicated (Overlaping) Text Items v.1 -- CS,CS2
//>=--------------------------------------
// This script removes all duplicate overlaping text items from a document.
// The ONLY parameters it checks are top and left coordinates, and text contents.
// Anchor points within one point of each other are considered the same.
// (tolerance can be adjusted by changing the 'tolerance' value.)
//
// The lower duplicate objects are selected for manual removal.
//
//>=--------------------------------------
// JS code (c) copyright: John Wundes ( john@wundes.com ) www.wundes.com
//copyright full text here: http://www.wundes.com/js4ai/copyright.txt
//////////////////////////////////////////////////////////////////
var selName = "仅本文档中)";
if(selection.length >0){
selName = "current selection";
var sel= activeDocument.selection;
var selectedTextFrames = new Array(0);
for (var all in sel){
if(sel[all].typename == "TextFrame"){
selectedTextFrames.push(sel[all]);
}
}
sel = selectedTextFrames;
} else{
var sel= activeDocument.textFrames;
}
var dupeTextFrames= new Array(0);
var tolerance = 1;
var slen = sel.length;
for(var all=0; all checkDupe(sel,all);
}
//
alert(dupeTextFrames.length + " 个重叠的相同文本对象被找到("+selName+"");
if(dupeTextFrames.length>0){
activeDocument.selection = [];
for (all in dupeTextFrames){
dupeTextFrames[all].selected = true;
}
}
//---------------------------------------
function checkDupe(ob,n){
//t == objects so far
for(var t=0; t <n></n> if(ob[t].typename == "TextFrame"){
if (isWithin(ob[n].left,ob[t].left,tolerance) &&
isWithin(ob[n].top,ob[t].top,tolerance) &&
ob[n].contents == ob[t].contents){
dupeTextFrames.push(ob[n]);
break;
}
}
}
}
function isWithin(YposA,YposB,tol){
if(YposA==YposB){return true};
if(findDiff(YposA,YposB) return true;
}
return false;
}
function findDiff(a,b){
if( a>0 && b>0 && b>a ||
a<0 && b>0 ||
a<0 && b<0 && a>b ){
return Math.abs(b-a);
}
return Math.abs(a-b);
}
相关文章
ai怎么混合两种颜色? illustrator混合两个色块的颜色的方法
ai填充不同颜色的图形重叠以后,想要将两种颜色混合,该怎么混合颜色呢?下面我们就来看看详细的教程2024-07-18- ai网格线间距默认的不是很喜欢,想要自己调整一下,该怎么调整呢?今天我们就来看看参考线调整技巧2024-05-28
ai路径平均效果怎么用? illustrator使用平均路径的教程
Adobe Illustrator中有一个路径平均功能,如何使用呢?下面小编为大家演示路径平均功能的一种使用方法2024-05-21ai保存pdf格式出现多余内容怎么解决? 去掉pdf文件多余内容的技巧
ai保存pdf格式出现多余内容怎么解决?ai中的文档保存为pdf文件的时候,发现有多余内容,该怎么操作呢?下面我们就来看看去掉pdf文件多余内容的技巧2023-12-19- ai描边在哪里?ai中想要设置描边,该怎么操作呢?下面我们就来看看ai设置描边的多种方法2023-12-19
- ai原位复制怎么用?复制图形的时候,想要原位复制粘贴,该怎么操作呢?下面我们就来看看ai原位复制快捷键介绍2023-12-19
ai怎么让文字随着路径变形? illustrator区域文字不跟着变换方向问题的
ai怎么让文字随着路径变形?选中文字后,发现文字不跟随变换区域旋转该怎么办呢?下面我们就来看看illustrator区域文字不跟着变换问题的解决办法2023-11-30ai渐变色怎么调方向? illustrator将渐变颜色反向的技巧
ai渐变色怎么调方向?ai中给图形填渐变色,想要进行反向,该怎么操作呢?下面我们就来看看illustrator将渐变颜色反向的技巧2023-11-30Ai彩色logo怎么做反白反黑效果? ai彩色logo转化为黑白稿的技巧
Ai彩色logo怎么做反白反黑效果?设计的彩色logo想要做黑白稿,就是反黑反白效果,下面我们就来看看ai彩色logo转化为黑白稿的技巧2023-11-12- ai怎么设计迷宫字体效果?我们需要使用分割网格结合形状生成器工具,制作迷宫字体,下面我们就来看看详细的设计过程2023-11-02
最新评论