На официальном форуме InDesign в разделе InDesign Feature Requests есть тема, где люди просят сделать Pasteboard как в PageMaker-е. В подробности дискуссии особо не стал вникать, но заметил код простенького скрипта, который полностью не решает проблему, но для кого-то может быть вполне полезным. Он перемещает объекты со всех Pasteboard-ов на текущий Pasteboard. Вот собственно сам код скрипта:
//DESCRIPTION: Moves all Pasteboard Items to Pasteboard of Current Spread
if (app.documents.length == 0) { exit() }
movePBitems(app.documents[0]);
function movePBitems(myDoc) {
if (app.activeWindow.constructor.name == "StoryWindow") { return }
var uO = myDoc.viewPreferences.rulerOrigin;
var uZP = myDoc.zeroPoint;
myDoc.viewPreferences.rulerOrigin = RulerOrigin.spreadOrigin;
myDoc.zeroPoint = [0,0];
myObjs = myDoc.pageItems.everyItem().parent;
var moveables = new Array();
for (var j = myObjs.length - 1; j >= 0; j--) {
if (myObjs[j].constructor.name == "Page") { continue }
moveables.push(myDoc.pageItems[j].id);
}
var mySpread = app.activeWindow.activeSpread;
var targSpreadWidth = getSpreadWidth(mySpread);
for (var j = moveables.length - 1; j >= 0; j--) {
var myObj = myDoc.pageItems.itemByID(moveables[j]);
var sourceSpread = myObj.parent;
if (sourceSpread == mySpread) { continue }
var sourceWidth = getSpreadWidth(sourceSpread);
var Shift = 0;
if (myObj.geometricBounds[3] > 0) {
Shift = targSpreadWidth - sourceWidth;
}
var myBounds = myObj.geometricBounds;
if (myObj.locked) { continue }
try {
myObj.move(mySpread);
} catch(e) { continue } // myObj must be on locked layer
myObj.move([myBounds[1] + Shift, myBounds[0]]);
}
myDoc.viewPreferences.rulerOrigin = uO;
myDoc.zeroPoint = uZP;
function getSpreadWidth(spread) {
var my1stBounds = spread.pages[0].bounds;
var myLastBounds = spread.pages[-1].bounds;
return myLastBounds[3] - my1stBounds[1];
}
} // end function movePBitems
Скрипт должен быть с расширением *.jsx
Проверял. Работает.
Взято здесь:
http://www.adobeforums.com/cgi-bin/webx/.ef9bb49.3bc2f9d7