InDesign CS6脚本 - 在下一页添加溢出内容

时间:2014-02-25 15:42:56

标签: scripting adobe-indesign

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

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

5 个答案:

答案 0 :(得分:2)

TextFrame对象有一个属性overflows:Bool,readonly。如果这是真的,那么这个故事就会覆盖文本。

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

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

答案 1 :(得分:2)

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

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;
    }

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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

答案 4 :(得分:0)

在CS4中,我们可以启用“智能文本重排”功能,以将文本自动流到可用内容。它将自动插入页面。

Edit Menu \ Preferences \ Type \ Smart Text Reflow

此外,它还带有“删除空白页”,因此当内容减少时,它将自动相应地删除空白页。