You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Google Apps Script为含横竖页的Google Docs添加指定页眉

实现带横竖页的Google文档自定义页眉(兼容docx导出)

要实现这个需求,核心是利用Google Docs的**节(Section)**特性——横竖页切换时文档会自动分节,我们需要为每个节的页眉设置统一格式,同时用无边框表格来保证左右对齐在docx导出时不会失效(直接用段落对齐可能在跨格式导出时出现偏移)。

以下是完整的脚本实现:

function addCustomHeader() {
  const doc = DocumentApp.getActiveDocument();
  const docName = "Test Document"; // 自定义文档名称
  const currentDate = Utilities.formatDate(new Date(), Session.getScriptTimeZone(), "yyyy-MM-dd"); // 日期格式可按需修改

  // 获取文档中所有节(横竖页会自动生成独立节)
  const sections = doc.getSections();
  
  // 遍历每个节,为对应页面设置页眉
  sections.forEach(section => {
    const header = section.getHeader();
    // 清除页眉原有内容,避免重复叠加
    header.clear();
    
    // 创建1行2列的无边框表格,实现左右对齐布局
    const table = header.appendTable();
    const row = table.appendTableRow();
    
    // 第一列:文档名称,左对齐
    const leftCell = row.appendTableCell(docName);
    leftCell.setHorizontalAlignment(DocumentApp.HorizontalAlignment.LEFT);
    leftCell.setBorderWidth(0); // 隐藏边框,视觉上和单行文本一致
    
    // 第二列:日期,右对齐
    const rightCell = row.appendTableCell(currentDate);
    rightCell.setHorizontalAlignment(DocumentApp.HorizontalAlignment.RIGHT);
    rightCell.setBorderWidth(0);
    
    // 设置表格宽度匹配页面宽度,确保内容贴边显示
    table.setWidth(doc.getPageWidth());
  });
}

关键细节说明:

  • 节遍历逻辑:横竖页切换时Google Docs会自动创建新节,遍历所有节才能确保每一页都被覆盖
  • 表格布局优势:用无边框表格承载左右内容是跨格式导出最可靠的方案,直接用段落对齐在docx中可能出现排版错乱
  • 日期格式自定义:修改formatDate的第三个参数即可调整日期样式,比如改为"MM/dd/yyyy"或"yyyy年MM月dd日"
  • 清除原有内容:避免多次运行脚本后页眉内容重复叠加

使用步骤:

  1. 打开目标Google文档
  2. 点击顶部菜单栏「扩展程序」→「Apps Script」
  3. 粘贴上述代码,保存项目
  4. 运行addCustomHeader函数,完成授权后即可生效
  5. 导出为docx格式时,页眉的左右对齐格式会正常保留

内容的提问来源于stack exchange,提问作者Kalpa Welivitigoda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 08:29:55