如何在Google Apps Script中设置段落的keep with next选项
解决方案
Google Apps Script 的 Paragraph 类(列表项对应的 ListItem 类继承自 Paragraph,可直接调用父类方法)原生提供了 setKeepWithNext() 方法实现「与下段同页(Keep with next)」功能,该方法接收布尔值作为参数,传 true 即可开启对应设置。
你原有代码中拼写的foreach有误,正确的JS写法为驼峰格式forEach,对应逻辑的修改代码如下:
elements.slice(0,-1).forEach((element) => { element.setKeepWithNext(true) })
修改后的完整代码:
data.items.forEach(({ item, options }) => { let elements = []; let itemTextClone = tpl.getListItems()[0].copy(); itemTextClone.setText(item); elements.push(body.appendListItem(itemTextClone).setGlyphType(DocumentApp.GlyphType.NUMBER)); options.forEach((option) => { let itemOptClone = tpl.getListItems()[1].copy() itemOptClone.setText(option); elements.push(body.appendListItem(itemOptClone).setGlyphType(DocumentApp.GlyphType.LATIN_LOWER)); }); // 给除最后一个元素外的所有元素设置与下段同页 elements.slice(0,-1).forEach((element) => { element.setKeepWithNext(true) }) });
普通非列表段落的设置逻辑完全一致,直接对Paragraph实例调用该方法即可。
内容的提问来源于stack exchange,提问作者Pierpaolo Calanna
相关产品推荐
相关产品推荐

