如何解决我可以在 Google Docs 文件的页脚中自动添加标题文本吗? 代码:
我有一份大约 20 章的文档,分为 60 页。每个新章节都从新页面的顶部开始。我想做的是自动将活动章节标题添加到该页面的页脚。我知道这种行为在 Microsoft Word 中是可能的,但我在 Google 文档中找不到。
可以通过插入分节符手动完成,但这对我来说很不方便,因为我想在 1.000 多个不同的文档中使用此过程。
示例:
第 1 章称为“测试章”,从第 1 页开始 第 2 章称为“另一章”,从第 4 页开始
然后在第 1、2 和 3 页的页脚应包含文本“测试章节”。在第 4 页上,页脚应包含文本“另一章”。
先谢谢你!
解决方法
遗憾的是,目前仍无法使用此功能,并且自 bug 发布以来没有更新。
我一直试图通过 Apps Script 来规避这个问题,但一直没有找到合适的解决方案,因为页脚和页眉被视为一个整体。
默认情况下,更改页脚部分将应用于所有页脚部分,如果它们由分节符分隔,则它们不是按页面排序,而是按它们添加到文档中的顺序进行排序,因此这会很棘手并且会要求您按此顺序添加它们以使我的代码正常工作。
对象顺序:
在 mapcan
之后,文档的下一个子元素应该交替 BODY_SECTION
和 HEADER_SECTION
。
注意:
- Logger.log 部分代码显示了文档的对象顺序。如果看起来像上面的顺序,那么下面的代码将起作用。
代码:
FOOTER_SECTION
如果它们在 function setHeaderAsFooter() {
var d = DocumentApp.getActiveDocument();
var p = d.getBody().getParent();
for ( var i = 0; i < p.getNumChildren(); i += 1 ) {
var c = p.getChild(i);
var t = c.getType();
// Check what type is the object
// Comment out if-block below to see if what is the object order in your document
Logger.log(t);
// Every header you encounter,set it as footer value of the next object
if ( t === DocumentApp.ElementType.HEADER_SECTION) {
var f = c.getNextSibling();
f.asFooterSection().setText(c.asHeaderSection().getText());
}
}
}
之后不是 HEADER
-> FOOTER
交替顺序,那么上面的代码将不起作用。
很可能,这不是您希望的答案,所以我真诚地道歉。我希望这个答案至少能以任何方式帮助你。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。