QQ登录

只需一步,快速开始

查看: 5772|回复: 1
收起左侧

AI选择重叠的相同文本

[复制链接]
累计签到:5 天
连续签到:1 天
发表于 2022-8-22 18:37:23 | 显示全部楼层 |阅读模式
//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 <slen;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 ;t++){
   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)<tol){
   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);
}


--------------------------------------------
复制以上代码另存JS格式文件在AI中脚本调用即可。功能如名所示。

累计签到:582 天
连续签到:2 天
发表于 2022-8-30 14:35:50 | 显示全部楼层
可不可以改成AI选择重叠的相同图形(矢量图)经常有些客人做的文件重叠了几层
回复 支持 反对 送花

举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

关闭

注意注意注意:必看

华印网 - 华印社区
Share More 周一至周日:09:00 - 21:00
华印网旗下的设计印刷制作类专业技术站点
请勿发布违反国家法律法规的内容,会员观点不代表本站立场
企鹅群号:119572101

华印网汇集印前印后技术、PDF拼版、防伪包装、数码印刷、合版印刷、图文设计、平面设计、数码印刷及CTP等最新印刷技术,提供软件汉化、插件汉化、cdr插件、ai插件、ps插件、pdf插件、印刷流程、ctp输出、印刷软件、印能捷、esko、CorelDRAW、InDesign、Illustrator、CTP、CDR以及PDF软件下载的综合性印刷论坛社区!

Powered by Discuz! X3.4 © 2001-2021,Tencent Cloud.

站点地图|小黑屋|手机版|Archiver|华印 ( 粤ICP备19020152号-1 )

GMT+8, 2024-12-28 05:00 , Processed in 0.074936 second(s), 21 queries , Gzip On, Yac On.

快速回复 返回顶部 返回列表