ごんれのラボ

iOS、Android、Adobe系ソフトの自動化スクリプトのことを書き連ねています。

全てのPageItemのクリッピングパスを外す

ドキュメント内の全てのPageItemのクリッピングパスを外します。

手作業が鬱陶しいと思って作ってみたの。

先輩たちに大喜びされたお。

<仕様>

・グループされたアイテムは変更されません

・インラインオブジェクトにも対応してます

var docObj = app.activeDocument ;

for (i = 0 ; i < docObj.pages.length ; i ++) {

var myPage = app.activeDocument.pages[i];

for (j = 0 ; j < myPage.pageItems.length ; j ++) {

myPage.pageItems[j].select();

var selObj = app.selection[0];

//テキストフレームが選択されている場合

if (selObj.constructor.name == "TextFrame") {

for (h = 0 ; h < selObj.rectangles.length ; h ++) {

selObj.rectangles[h].select();

//alert(selObj.rectangles.length)

var selObj = app.selection[0];

var targetObj = selObj;

setTrim(targetObj);

}

}

//図形が選択されている場合

if (selObj.constructor.name == "Rectangle") {

var targetObj = selObj;

//alert(targetObj.images.length)

if (targetObj.images.length > 0 || targetObj.epss.length > 0) {

setTrim(targetObj);

}

}

}

}

var master = app.activeDocument.masterSpreads[0] ;

for (j = 0 ; j < master.pageItems.length ; j ++) {

master.pageItems[j].select();

var selObj = app.selection[0];

//テキストフレームが選択されている場合

if (selObj.constructor.name == "TextFrame") {

for (h = 0 ; h < selObj.rectangles.length ; h ++) {

selObj.rectangles[h].select();

//alert(selObj.rectangles.length)

var selObj = app.selection[0];

var targetObj = selObj;

setTrim(targetObj);

}

}

//図形が選択されている場合

if (selObj.constructor.name == "Rectangle") {

var targetObj = selObj;

//alert(targetObj.images.length)

if (targetObj.images.length > 0 || targetObj.epss.length > 0) {

setTrim(targetObj);

}

}

}

//クリッピングパスを一時的に設定し、クリッピングパス解除

function setTrim(targetObj) {

try {chkErr = targetObj.epss[0].clippingPath.clippingType =1685349735;

tmpObj = targetObj.epss[0];

} catch(chkErr) {

tmpObj = targetObj.images[0];

}

tmpObj.clippingPath.clippingType =1852796517;//なし

}