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

如何在Apps Script中调整Google Sheets导出PDF的页面尺寸?

自定义Google Sheets导出PDF的纸张尺寸/匹配实际大小

原脚本使用getBlob()导出PDF时无法自定义纸张参数,要实现自定义尺寸或匹配文档实际大小,需要改用构造导出URL并通过OAuth授权请求的方式,具体方案如下:

核心思路

通过Google Sheets的导出API URL,添加自定义参数控制PDF的纸张尺寸、适配方式等,再用Drive API保存生成的PDF文件。

修改后的完整脚本

function exportSheetToCustomPDF() {
  var sheetName = "你的工作表名称";
  var ssId = "你的Spreadsheet ID";
  var ss = SpreadsheetApp.openById(ssId);
  var targetSheet = ss.getSheetByName(sheetName);
  
  // 修正原脚本的变量错误:获取R3单元格作为文件名
  var pdfName = targetSheet.getRange("R3").getValue();
  
  // 构造PDF导出URL,添加自定义参数
  var exportUrl = "https://docs.google.com/spreadsheets/d/" + ssId + "/export?";
  var exportParams = [
    "format=pdf",
    "size=A4", // 可选值:Letter/A4/A3/Legal/Tabloid/Statement/Executive等
    "fitw=1", // 设置为1表示适配页面宽度,0则按纸张尺寸固定
    "sheetnames=false", // 是否显示工作表名称
    "printtitle=false", // 是否显示文档标题
    "pagenumbers=false", // 是否显示页码
    "gridlines=false", // 是否显示网格线
    "fzr=false", // 是否冻结首行
    "portrait=true", // true为纵向,false为横向
    "gid=" + targetSheet.getSheetId() // 指定导出的工作表ID
  ].join("&");
  
  var fullUrl = exportUrl + exportParams;
  
  // 获取OAuth授权令牌,用于访问导出URL
  var token = ScriptApp.getOAuthToken();
  
  // 发送请求获取PDF blob
  var response = UrlFetchApp.fetch(fullUrl, {
    headers: {
      "Authorization": "Bearer " + token
    }
  });
  var pdfBlob = response.getBlob().setName(pdfName);
  
  // 保存到Google Drive
  DriveApp.createFile(pdfBlob);
}

参数说明

  • size: 指定纸张尺寸,常用值有A4、A3、Legal、Tabloid等,替换成你需要的尺寸即可
  • fitw=1: 开启后会自动适配工作表的实际宽度,无需手动设置纸张尺寸,适合内容宽度不固定的场景
  • portrait: 控制纸张方向,true为纵向,false为横向
  • gid: 确保只导出目标工作表,避免导出整个文档

注意事项

  1. 原脚本中var name = sheet.getRange("r3").getValue();存在变量未定义的问题,已修正为targetSheet.getRange("R3").getValue()
  2. 确保脚本有足够的权限(首次运行时会提示授权)
  3. 如果需要导出多个工作表,可修改gid参数为多个工作表ID用逗号分隔(如gid=12345,gid=67890)

内容的提问来源于stack exchange,提问作者Clown Aspirant

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 20:02:24