在 Apps 脚本中用 "Page Break" 元素替换文本关键字
Replace a text keyword with a "Page Break" element in Apps Script
我想用分页符替换特定的文本关键字。这是我尝试过的:
body.findText("%PAGE_BREAK%").getElement().appendPageBreak()
和
body.replaceText("%PAGE_BREAK%", "").asBody().appendPageBreak()
我正在尝试编辑在某处有 %page_break%
的现有文档,并将其替换为实际的分页符元素。
假设“%page_break%”出现在段落末尾或单独的段落中,以下内容就足够了。该脚本搜索此模式的文本,并将 PageBreak 元素附加到包含找到的文本的元素(段落)的末尾。然后它会删除模式。
function pageBreaks() {
var searchPattern = "%page_break%";
var body = DocumentApp.getActiveDocument().getBody();
var found = body.findText(searchPattern);
while (found) {
found.getElement().getParent().appendPageBreak();
found = body.findText(searchPattern, found);
}
body.replaceText(searchPattern, "");
}
在段落内放置分页符没有多大意义,但 Google Docs 支持这一点,并且有 Paragraph.insertPageBreak
方法。但是,要使用它,您需要首先拆分包含搜索模式的文本元素,以便分页符可以位于两个文本之间。 (文本元素不能包含任何其他元素。)
我想用分页符替换特定的文本关键字。这是我尝试过的:
body.findText("%PAGE_BREAK%").getElement().appendPageBreak()
和
body.replaceText("%PAGE_BREAK%", "").asBody().appendPageBreak()
我正在尝试编辑在某处有 %page_break%
的现有文档,并将其替换为实际的分页符元素。
假设“%page_break%”出现在段落末尾或单独的段落中,以下内容就足够了。该脚本搜索此模式的文本,并将 PageBreak 元素附加到包含找到的文本的元素(段落)的末尾。然后它会删除模式。
function pageBreaks() {
var searchPattern = "%page_break%";
var body = DocumentApp.getActiveDocument().getBody();
var found = body.findText(searchPattern);
while (found) {
found.getElement().getParent().appendPageBreak();
found = body.findText(searchPattern, found);
}
body.replaceText(searchPattern, "");
}
在段落内放置分页符没有多大意义,但 Google Docs 支持这一点,并且有 Paragraph.insertPageBreak
方法。但是,要使用它,您需要首先拆分包含搜索模式的文本元素,以便分页符可以位于两个文本之间。 (文本元素不能包含任何其他元素。)