适用于页面的Google Apps脚本PDF

时间:2019-12-08 14:05:58

标签: google-apps-script

我正在使用脚本创建工作表的PDF文件并保存。一切工作正常,但我不知道如何使其“适合整个页面”。下面的代码用于“适合宽度”(fitw = true),它在很多地方都进行了介绍-但我找不到如何适合页面的内容。

function savePdf(spreadsheetId, sheetName, pdfName, pdfFolderId) {
  
  var sheetId = spreadsheetId.getSheetByName(sheetName).getSheetId();
  var url_base = spreadsheetId.getUrl().replace(/edit$/,'');
  
  var url_ext = 'export?exportFormat=pdf&format=pdf'
  + '&gid=' + sheetId
  // following parameters are optional...
  + '&range=D4:AX74'
  + '&size=A4'      // paper size: legal / letter / A4
  + '&portrait=false'    // orientation, false for landscape
  + '&fitw=true'        // fit to width, false for actual size
  + '&top_margin=0.50'
  + '&bottom_margin=0.50'
  + '&left_margin=0.50'
  + '&right_margin=0.50'
  + '&sheetnames=false' // 
  + '&printtitle=false'
  + '&pagenumbers=false'  //hide optional headers and footers
  + '&gridlines=false'  // hide gridlines
  + '&fzr=true';       // false = do not repeat row headers (frozen rows) on each page
  var url_options = {headers: {'Authorization': 'Bearer ' + ScriptApp.getOAuthToken(),}};
  var response = UrlFetchApp.fetch(url_base + url_ext, url_options);
  var blob = response.getBlob().getAs('application/pdf').setName(pdfName + '.pdf');
  var folder = DriveApp.getFolderById(pdfFolderId);
  folder.createFile(blob);
}

2 个答案:

答案 0 :(得分:0)

fitw参数应该可以正常工作,但是我发现报告了一个issue,并且我也遇到了这个问题。使用或不使用它没有任何区别。

您可以单击问题编号旁边的星号以接收更新并为该错误赋予更高的优先级。

答案 1 :(得分:0)

我找到了解决方案! 这是要添加   +'&scale ='+比例尺
  // 1 =正常100%-2 =适合宽度-3 =适合高度-4 =适合页面