在InDesign

时间:2016-06-01 01:28:43

标签: scripting com adobe-indesign

我的任务是拍摄一组产品图片和文字,然后将它们放在一张小册子中(带有相对的页面),并将产品说明放在图片旁边。

大多数图像都是横向的,而书是纵向的,因此需要旋转。对于必须旋转的图像,我将文本放在文本框架中,使框架适合内容,然后计算最大图像大小,然后调整大小,然后放置图像并旋转90/270度,具体取决于页面是左侧还是右侧页面。对于放置图像和文本以及旋转的相当简单的操作,这是相当冗长的。

InDesign中是否有更自动化的方法,它会根据页面是左手还是右手来正确旋转图像和文本框架?

1 个答案:

答案 0 :(得分:0)

以下是您可以调用的javascript脚本:

const cs = CoordinateSpaces.pasteboardCoordinates,
ap = AnchorPoint.centerAnchor;

var main = function() {
	var doc = app.properties.activeDocument,
	gfxs, gfx, pg, par,
	mx90 = app.transformationMatrices.add({counterclockwiseRotationAngle:90}),
	mx270 = app.transformationMatrices.add({counterclockwiseRotationAngle:270});
	
	if ( !doc ) return;
	
	gfxs = doc.allGraphics;
	
	while ( gfx = gfxs.pop() ) {
		par = gfx.parent;
		par.locked = false;
		pg = par.parentPage;
		
		if  (pg instanceof Page) {
			par.transform ( cs, ap, pg.side==PageSideOptions.RIGHT_HAND? mx270 : mx90 );
		}

	}
}

var u;
app.doScript ( "main();", u, u, UndoModes.ENTIRE_SCRIPT );

对于实时执行,您需要将其与事件侦听器结合使用。