Docs 脚本 - setSpacingBefore 与 ListItems

问题描述 投票:0回答:2

我在通过脚本创建列表项间距时遇到问题。

我试图迭代列表项并在每个项目之前应用间距,但该间距仅在列表中的第一个项目上有效。 MS Word 有一个选项,可以不在相同样式的段落之间添加空格,并且 Google Docs 似乎对列表默认采用这种方式。

手动编辑文档时,可以在每个列表项之前和之后添加空格,但不能从脚本中添加空格。

例如:

var listItems = document.getBody().getListItems();

for (var i = 0, len = listItems.length; i < len; i++) {

    paragraph.setLineSpacing(1.15);
    paragraph.setSpacingBefore(6);
    paragraph.setSpacingAfter(0);

}

有什么想法可以实现这一点吗? (我意识到我可以在每个列表项中包含换行符以添加空间,但这并不完全是我想要的)

google-apps-script google-docs
2个回答
1
投票

如果在 UI 中向列表项添加或删除了空间,则 setSpacingBefore 和 setSpacingAfter 方法将按所述工作。如果他们还没有,那么该方法适用于列表本身,而不是子项。

我将其称为错误,并且我已将其添加到问题跟踪器中。给它加星标以引起关注。


0
投票

我最近遇到了这个问题,发现 setSpacingMode 它采用 SpacingMode ,可用于控制如何将段落间距应用于列表项。在我的具体情况下,setSpacingBefore 仅应用于列表中的第一项。将间距模式设置为 NEVER_COLLAPSE 修复了此问题,以便将之前的间距应用于所有列表项。

© www.soinside.com 2019 - 2024. All rights reserved.