Javascript 如何在InDesign中设置(textFrame)pageItem,以便在页面中手动更改后从母版页更新位置/大小?
我有一个脚本可以执行以下操作:Javascript 如何在InDesign中设置(textFrame)pageItem,以便在页面中手动更改后从母版页更新位置/大小?,javascript,adobe-indesign,Javascript,Adobe Indesign,我有一个脚本可以执行以下操作: var document = app.documents.item(0); var layer = document.layers.itemByName("Normal"); var allTextFrames = toArray(layer.textFrames); var moved = selectWhere("moved", "label", allTextFrames)[0]; var notMoved = sel
var document = app.documents.item(0);
var layer = document.layers.itemByName("Normal");
var allTextFrames = toArray(layer.textFrames);
var moved = selectWhere("moved", "label", allTextFrames)[0];
var notMoved = selectWhere("notMoved", "label", allTextFrames)[0];
var instance = selectWhere("instance", "label", allTextFrames)[0];
$.writeln("Moved : " + moved.geometricBounds.join(", "));
$.writeln("Moved overr: " + moved.overriddenMasterPageItem.geometricBounds.join(", "));
$.writeln("notMoved : " + notMoved.geometricBounds.join(", "));
$.writeln("notMoved overr: " + notMoved.overriddenMasterPageItem.geometricBounds.join(", "));
var overr = moved.overriddenMasterPageItem;
moved.geometricBounds = [moved.overriddenMasterPageItem.geometricBounds[0]
,moved.overriddenMasterPageItem.geometricBounds[1]
,moved.overriddenMasterPageItem.geometricBounds[2]
,moved.overriddenMasterPageItem.geometricBounds[3]];
moved.visibleBounds = [moved.overriddenMasterPageItem.visibleBounds[0]
,moved.overriddenMasterPageItem.visibleBounds[1]
,moved.overriddenMasterPageItem.visibleBounds[2]
,moved.overriddenMasterPageItem.visibleBounds[3]];
但是如果我在母版页中更改文本框,它不会更新“移动的”文本框
例如,pageItem有一个属性,当设置为“-1”时,它将使用母版页值。我一直在寻找这样的东西,但位置和大小
fillTint number readonly页面项填充颜色中使用的色调百分比。(若要指定着色百分比,请使用0到100之间的数字;若要使用继承的或替代的值,请使用-1。)
src:我不会标记为anwser,因为有时不起作用强> 下面是将删除文本框并还原的脚本。然后它向它提供旧文本框的数据。它还将文本框链接到上一个和下一个文本框 如何使用:
- 创建脚本并粘贴以下内容
- 选择移动的文本框并运行脚本
- 完成
#target "indesign" #targetengine "mySessionX" var SCRIPT_NAME = "Restore moved text frames"; try{ app.doScript(main, ScriptLanguage.JAVASCRIPT, undefined, UndoModes.ENTIRE_SCRIPT, SCRIPT_NAME); }catch(e){ alert(e); } function main(){ removeOverrides(app.selection[0]); } function removeOverrides(textFrame){ if(textFrame.constructor.name != "TextFrame"){ throw new Error("No text frame selected"); } // save data var contents = textFrame.contents; var contentType = textFrame.contentType; var nextTextFrame = textFrame.nextTextFrame; var previousTextFrame = textFrame.previousTextFrame; var masterPageTextFrame = textFrame.overriddenMasterPageItem; var page = textFrame.parentPage; if(nextTextFrame){ nextTextFrame.previousTextFrame = null; } if(previousTextFrame){ previousTextFrame.nextTextFrame = null; } // remove overrides textFrame.removeOverride(); // restore state var newTextFrame = masterPageTextFrame.override(page); newTextFrame.contents = contents; newTextFrame.contentType = contentType; // update right and left if(nextTextFrame){ nextTextFrame.previousTextFrame = newTextFrame } if(previousTextFrame){ previousTextFrame.nextTextFrame = newTextFrame } newTextFrame.recompose(); alert("Restored"); }