如何在InDesign中设置(textFrame) pageItem,以便在页面中手动更改母版页后更新其位置/大小
How to set a (textFrame) pageItem in InDesign to update the position/size from the master page after it was manually changed in a page?
我有一个脚本,做以下事情:
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]];
但是如果我改变母版页中的文本框它不会更新"moved"文本框…
例如,pageItem有一个属性,当它被设置为"-1"时,它将使用母版页值。我正在寻找类似的东西,但位置和大小。
fillTint number readonly在PageItem的填充颜色中使用的颜色百分比。(要指定颜色百分比,请使用0到100范围内的数字;要使用继承或覆盖的值,请使用-1。)src: http://jongware.mit.edu/iccs5_html_3.0.3d/iccs5/pc_PageItem.html
我不会标记为回答,因为有时不工作;
这是将删除文本框架并恢复的脚本。然后为它提供旧文本框的数据。它还会将文本框链接到前一个和下一个文本框。
如何使用:
- 创建脚本并粘贴如下
- 选择移动的文本框并运行脚本
-
完成! !
#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"); }
相关文章:
- 正在SharePoint 2013母版页中添加JQuery移动文件
- 网格视图页眉冻结在母版页中不起作用
- 避免使用母版页在 Javascript 中重复
- Jquery 引导程序验证 asp.net 母版页不起作用
- 母版页中的 JavaScript asp.net 无法加载
- 谷歌分析,jQuery华丽的弹出菜单.NET母版页实现
- 更改母版页中菜单项的类
- 如何在使用flash音乐播放器的母版页中自动播放音乐之前添加延迟
- 如何在子页面上覆盖母版页(模板)中的html代码
- Javascript无法从母版页运行
- 使用asp.net和母版页在ListView中保持回发时的滚动位置
- 使用母版页通过窗体在 asp.net 中调用 JavaScript 函数
- 排除子页中的母版页 JS 文件 asp.net
- 类似于母版页 asp.net 客户端解决方案
- 使用 JavaScript 获取首页(母版页)
- 如何在 SharePoint 母版页中包含共享位置中的 js 文件
- 使用 javascript 获取母版页内容占位符中文本框的值
- 将 jQuery 引用放在母版页有什么好处
- 引用母版页 ContentPlaceholder 时的 JavaScript 错误
- 如何在InDesign中设置(textFrame) pageItem,以便在页面中手动更改母版页后更新其位置/大小