我在这里和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的低级别。
答案 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" );