繁体   English   中英

Select InDesign (Javascript) 的所有奇数页中的所有文本框架和 ALIGN RIGHT

[英]Select all text frames and ALIGN RIGHT in all ODD numbered pages of InDesign (Javascript)

我想 select 所有文本框架,然后仅使用 Javascript 将其内容对齐到 InDesign 中我的文档的所有奇数页的页面右侧。

这是我到目前为止的进展,我知道我可以确定奇数,但仍然无法选择页面,因此 select 的文本框架也没有进展。

main();
function main() {
  var myDocument = app.documents.item(0);
  var myPage = myDocument.pages.item(0);
  var i = 0;

  for (i = 1; i < myDocument.pages.count(); i = i + 2) {
    \\  select  the page, then find all text frames in that page,  then align right
  }
}

任何帮助表示赞赏。 谢谢你。

这是一个最简单的解决方案:

var pages = app.activeDocument.pages;

for (var i = 1; i < pages.length; i = i + 2) {
    app.select(pages[i].textFrames);
    try {
        app.menuActions.item("$ID/Horizontal Page Align Left").invoke()
    } catch(e) {}
}

它依赖于选择对象并调用菜单操作。 有时这不是最好的主意(这就是为什么try/catch )。 该解决方案可以更加复杂和稳健。 这取决于您的限制和其他详细信息。

更新

我不知道您需要对齐框架的内容而不是框架。 可以做到,但链接和非链接文本框架的解决方案不同。 除非一个段落属于两个相邻的页面。

要获取页面上的所有框架:

var myFrames = myDocument.pages[i].textFrames;

然后,您可以遍历框架及其段落并应用(使用不同的计数器变量,例如“c”和“b”)

myFrames[c].paragraphs[b].justification = Justification.RIGHT_ALIGN;

你也可以试试everyItem()

myDocument.pages[i].textFrames.everyItem().paragraphs.everyItem().justification = Justification.RIGHT_ALIGN;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM