【问题标题】:Change document orientation when exporting to PDF导出为 PDF 时更改文档方向
【发布时间】:2016-03-10 06:57:05
【问题描述】:

我有这个脚本,可以定期将电子表格的内容通过电子邮件发送给所有协作者。

function myFunction() {
  var document = SpreadsheetApp.openById("123documentid456");

  var editors = document.getEditors();
  for(var i = 0; i < editors.length; i++){
    MailApp.sendEmail(editors[i].getEmail(), "Subject", "Some message", {
      attachments : [document.getAs(MimeType.PDF)]
    });
  }
}

它会创建一个 PDF 并通过电子邮件发送。问题是内容不能很好地显示,因为 PDF 的方向是纵向的。有没有办法让它导出到横向?

【问题讨论】:

    标签: pdf google-apps-script google-sheets


    【解决方案1】:

    来自here,此代码可能会有所帮助

    *************************************************
    
    function savePDFs() {
      SpreadsheetApp.flush();
    
      var ss = SpreadsheetApp.getActiveSpreadsheet();
      var sheet = ss.getActiveSheet();
    
      var url = ss.getUrl();
    
      //remove the trailing 'edit' from the url
      url = url.replace(/edit$/,'');
    
      //additional parameters for exporting the sheet as a pdf
      var url_ext = 'export?exportFormat=pdf&format=pdf' + //export as pdf
      //below parameters are optional...
      '&size=letter' + //paper size
      '&portrait=false' + //orientation, false for landscape, true for portrait
      '&fitw=true' + //fit to width, false for actual size
      '&sheetnames=false&printtitle=false&pagenumbers=false' + //hide optional headers and footers
      '&gridlines=false' + //hide gridlines
      '&fzr=false' + //do not repeat row headers (frozen rows) on each page
      '&gid=' + sheet.getSheetId(); //the sheet's Id
    
      var token = ScriptApp.getOAuthToken();
    
      var response = UrlFetchApp.fetch(url + url_ext, {
          headers: {
            'Authorization': 'Bearer ' +  token
          }
        });
    
      var blob = response.getBlob().setName(sheet.getName() + '.pdf');
    
      //from here you should be able to use and manipulate the blob to send and email or create a file per usual.
      //In this example, I save the pdf to drive
    
      DocsList.createFile(blob);
      //OR DriveApp.createFile(blob);
    }
    
    *************************************************
    

    注意这一点:'&amp;portrait=false' + //orientation, false for landscape, true for portrait

    【讨论】:

      猜你喜欢
      • 2022-11-17
      • 2013-06-26
      • 2017-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多