InDesign脚本 - 设置打开文档的边距

时间:2017-01-20 16:09:36

标签: javascript scripting adobe-indesign margins

我在这里和Google上搜索过,但我无法找到解决问题的方法。

我想创建一个(java)脚本,根据打开的InDesign文件设置边距,而不是创建一个新的。

以下是一个示例代码(并不像我想的那样工作):

var doc = app.documents.add({
    });
var page = doc.pages.item(0);
page.marginPreferences.properties = {
    top : 30,
    left: 30,
    right: 30,
    bottom:30
    };

- 这会创建一个新文档(使用默认格式),但我希望脚本能够在InDesign中打开的文件上运行。 我怎么能这样做?

- 我还想通过使用页面大小来设置边距。这是一个例子:top margin =(width-height)/ 12 我怎么能做到这一点?

非常感谢你的帮助。

Ps:对不起我的英语和我在JS的低级别。

1 个答案:

答案 0 :(得分:1)

var main = function() {
	var doc = app.properties.activeDocument, pgs, pg, b, w, h, m;
	if ( !doc ) return;
	pgs = doc.pages.everyItem().getElements();
	
	while ( pg = pgs.pop() ) {
		
		b = pg.bounds;
		w = Math.abs( b[3]-b[1]);
		h = Math.abs( b[2]-b[0]);
		m = Math.abs(w-h)/12;
		
		pg.marginPreferences.properties = {
			top : m,
			left: m,
			right: m,
			bottom:m
		};
	}
}

var u;

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