为什么覆盖后项目位置会搞砸
Why is the Item Position messed up after override?
>情况:
我的脚本使用母版页作为模板创建周计划。
脚本中发生的事情是:
- 创建页面
- 应用母版页
- 覆盖每个项目
- 更改每个项目的内容
- 对整个日期数组长度执行此操作
问题:
覆盖后主页项的位置被搞砸了。我做了两个截图作为演示。
现在真正奇怪的是,它在"自定义大小"的文档上搞砸了,但在 A4 格式上却没有搞砸......
我已经尝试在覆盖每个项目后恢复每个项目的几何边界,但这似乎也不起作用......
您知道是什么导致了这种行为吗?
母版页:https://i.stack.imgur.com/u0PAh.png
覆盖后搞砸了:https://i.stack.imgur.com/0AWvh.png
编辑:为了证明恢复几何边界不起作用,我做了以下工作:
function OverrideMasterItems(currPage) {
var allItems = currPage.masterPageItems;
var itemPos;
for(var i=0;i<allItems.length;i++){
try{
itemPos = allItems[i].geometricBounds;
allItems[i].override(currPage);
allItems[i].geometricBounds = itemPos;
$.writeln("Original itemPos: " + itemPos);
$.writeln("New itemPos: " + allItems[i].geometricBounds);
if(itemPos == allItems[i].geometricBounds) {
$.writeln("same position");
}
}
catch(e){}
}
}
如您所见,我再次为项目分配原始几何边界,并在控制台中显示它是相同的值 - 但它看起来像屏幕截图中一样。它也没有写"相同的位置" - 这意味着 if 语句不是真的......
我解决了!供将来参考:
这不是一个编程错误,而是一些尴尬的InDesign"Bug(?!("导致了这种奇怪的行为:
我从具有不同尺寸的其他文档中复制了母版页的元素,我只是调整了文本字段的大小以适应新格式。
这就是导致该行为的原因 - 似乎文本字段仍然包含我从另一个文档中获取的一些信息,并且此信息不可删除/编辑。
因为即使删除段落样式等也没有改变奇怪的行为......
由于我对 InDesign 脚本很陌生,我不知道这是否是你们知道的常见事情,但这让我头疼...... ;)
编辑1:我没有解决!有时仍然不起作用!
好吧,它仍在发生,我只是不明白为什么...当脚本对项目执行"覆盖"时,该项目被重新定位到完全错误的位置......
- 使用ASP.NET将谷歌地图添加到项目中,并从数据库中检索位置
- xml文件在js项目目录结构中的位置
- 在位置更改时为阵列项目制作动画
- 是否可以设置柔盒插入、移除和项目位置的动画
- 如何滚动到DIV顶部表格的最后一个位置(项目10)
- 如何在拖动时使项目恢复到其原始位置
- 轨道:-位置.Href 不在项目中工作
- 在使用可排序排序期间/之后显示使用 JSON 创建的列表中的项目位置
- 使用 UI 可排序,在单击按钮时根据给定值将项目移动到新位置
- 使用 ng 重复从可排序列表中获取每个项目的位置
- 我们将 npm 安装的节点模块放在 Meteor 项目中的什么位置
- 为什么覆盖后项目位置会搞砸
- jQuery计算项目在可滚动窗口中的位置并滚动到它
- 使用每个项目在KnockoutJS中创建编号列表's在可观测数组中的位置
- Fabric.js取消分组项目会更改它们的位置
- 如何计算新项目在转换容器中的位置
- 新手,不知道如何使用jQuery在Rails应用程序中保存HTML中可拖动项目的位置
- 如何将控制器源代码从app.js移动到angular项目中所需的文件夹位置
- 如何检查PHP和jquery项目中代码重定向的位置
- 第一个项目编号显示在最右边,但所有其他项目都向左浮动,我如何将1放在它应该放的位置