Change document orientation when exporting to PDF

前端 未结 1 581
你的背包
你的背包 2021-01-20 18:20

I have this script that emails the content of a speadsheet to all the collaborators on a regular basis.

function myFunction() {
  var document = SpreadsheetA         


        
1条回答
  •  醉话见心
    2021-01-20 19:05

    From here, this code could help

    *************************************************
    
    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);
    }
    
    *************************************************
    

    Notice this bit: '&portrait=false' + //orientation, false for landscape, true for portrait

    0 讨论(0)
提交回复
热议问题