【问题标题】:InDesign CS6 scripting - Add overflowing content on next page(s)InDesign CS6 脚本 - 在下一页添加溢出内容
【发布时间】:2014-02-25 15:42:55
【问题描述】:

将 XML 数据导入 InDesign 文档后,我在第一页末尾的文本框中看到了那个红色加号。

如何使用脚本在下一页上插入/移动该内容?

【问题讨论】:

    标签: scripting adobe-indesign


    【解决方案1】:

    这个脚本应该做你想做的事。 :)

    var myDoc = app.activeDocument;
    var myFrames = myDoc.textFrames;
    while (myFrames[0].overflows === true) {
        var myNewPage = myDoc.pages.add();
        var myMargin = myNewPage.marginPreferences;
        var myBounds = [myMargin.top, myMargin.left, myDoc.documentPreferences.pageHeight - myMargin.bottom, myDoc.documentPreferences.pageWidth - myMargin.right];
        var myOldRuler = myDoc.viewPreferences.rulerOrigin;
        myDoc.viewPreferences.rulerOrigin = RulerOrigin.pageOrigin;
        with(myDoc.pages[-1].textFrames.add()) {
            geometricBounds = myBounds;
            previousTextFrame = myDoc.pages[-2].textFrames[0];
            }
        myDoc.viewPreferences.rulerOrigin = myOldRuler;
        }
    

    【讨论】:

    • @Brett:不错!有效,应该是公认的答案。
    • 我又试了一次。它一遍又一遍地添加页面。我不得不在 800 页后停止使用该脚本。我没有那么多内容。
    • 很抱歉听到它不起作用 Kody。我对这个错误很感兴趣,听起来好像代码看到你的 textFrame 处于永久溢出状态。当您查看 InDesign 文件时,textFrame 的右下角是否有一个红色的加号?
    • 只是出于兴趣,页面上有多少个文本框?而且,你确定你指的是正确的吗?如果对 textFrame 有混淆,您可以尝试使用脚本标签而不是 myFrames[0],它现在将读取 myFrames.item("script label name")。如果这不起作用,请告诉我。
    【解决方案2】:

    TextFrame 对象有一个属性overflows:布尔型,只读。如果属实,则该故事的文字有溢流。

    TextFrame 对象还有一个属性nextTextFrame:r/w 线程中的下一个文本框。可以返回:TextFrame 或 TextPath。也可以接受:NothingEnum 枚举器。

    http://jongware.mit.edu/idcs6js/pc_TextFrame.html

    【讨论】:

    • 好的,谢谢你的信息。但是如何解决我的问题呢?
    • 如果app.activeDocument.textFrames[0].overflows 比创建页面,创建框架,与nextTextFrame 链接框架。或者像@Brett 那样用previousTextFrame 链接框架。
    【解决方案3】:

    不确定您是否需要编写脚本...如果将文档设置为模板,只需单击加号并“捕获”内容。然后移至下一页并单击您希望文本重排到的位置。根据需要调整文本框。

    【讨论】:

    • 我已经知道这可以手动完成,但肯定要通过脚本来完成。
    【解决方案4】:

    对于流动溢出文本框架的非脚本解决方案,在添加新页面后,按住 shift 再单击。这将导致文本在尽可能多的页面上自动流动,直到不再有溢出的文本框。

    【讨论】:

      【解决方案5】:

      从 CS4 开始,我们可以启用“智能文本重排”以自动将文本流向可用内容。它会自动插入页面。

      Edit Menu \ Preferences \ Type \ Smart Text Reflow

      另外,它自带“删除空页”,所以当内容变少时,它会自动相应地删除空页。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-07-22
        • 1970-01-01
        • 2013-03-17
        • 1970-01-01
        • 1970-01-01
        • 2014-11-27
        • 2012-07-02
        相关资源
        最近更新 更多