当文档设置在 InDesign (CEP/JavaScript) 中为“对开页面”时,形状不会绘制在好页面上
Posted
技术标签:
【中文标题】当文档设置在 InDesign (CEP/JavaScript) 中为“对开页面”时,形状不会绘制在好页面上【英文标题】:Shapes aren't drawn on the good page when the document setup is 'facing page' in InDesign (CEP/JavaScript) 【发布时间】:2022-01-13 15:36:00 【问题描述】:我正在创建一个 InDesign 插件,其中一个功能是在给定页面上绘制形状。
我从后端得到一张图纸,上面有应该绘制的页码。
为此,我这样做:
app.activeDocument.pages[index]
获取我想要的页面。
不幸的是,我意识到这种技术只有在页面没有像这样面对面时才有效:
当页面像这样面对面时:
,第 3 页的形状将绘制在第 2 页而不是第 3 页。
这里,图纸在右页:
但是在这里,矩形不在正确的页面上:
我还尝试通过app.activeDocument.spreads[indexSpread].pages[1]
以原始方式绘制形状,这在逻辑上应该在相关板的第二页上写下注释,除了它始终绘制在板的第一页上。
这是我绘制矩形的代码:
var doc = app.activeDocument;
var page = doc.pages[pageIndex-1];
var myRectangle = page.rectangles.add();
【问题讨论】:
【参考方案1】:要寻址跨页内的页面,请使用页面原点坐标:
app.activeDocument.viewPreferences.rulerOrigin = RulerOrigin.PAGE_ORIGIN;
var doc = app.activeDocument;
var page = doc.spreads[indexSpread].pages[1];
var myRectangle = page.rectangles.add();
【讨论】:
非常感谢@Yuri Khristich,它似乎工作得很好!如果我理解正确的话,这个 ruleOrigin 就在 RulerOrigin.SPREAD_ORIGIN 上? 没错。实际上,最好的做法是在脚本开始时存储原始首选项并在结束时恢复它。以上是关于当文档设置在 InDesign (CEP/JavaScript) 中为“对开页面”时,形状不会绘制在好页面上的主要内容,如果未能解决你的问题,请参考以下文章