App Script: How to view PDF of Google Sheet after

2019-08-26 17:36发布

Needing users to view PDF version of the Google Sheet they have just saved to Google Drive via the function below. How do I add in a view PDF function within this code? Online suggestions are not working entirely.

function checkSheet() {
  var sheetName = "POTemplate";
  var folderID = "Eric";
  var sourceSpreadsheet = SpreadsheetApp.getActive();
  var sourceSheet = sourceSpreadsheet.getSheetByName(sheetName);
  var poNo = sourceSheet.getRange("b2").getValue();
  var pdfName = "Sample PO Hi Eric - Happy Valentine's" + poNo;
  var folder = DriveApp.getFoldersByName(folderID);
  var destSpreadsheet = SpreadsheetApp.open(DriveApp.getFileById(sourceSpreadsheet.getId()).makeCopy(folder));
  var sheets = destSpreadsheet.getSheets();
  for (i = 0; i < sheets.length; i++) {
   if (sheets[i].getSheetName() != sheetName){
     destSpreadsheet.deleteSheet(sheets[i])}};                                                                                               
  var theBlob = 
destSpreadsheet.getBlob().getAs('application/pdf').setName(pdfName);
  var newFile = folder.next().createFile(theBlob);
  DriveApp.getFileById(destSpreadsheet.getId()).setTrashed(true);
}

1条回答
Luminary・发光体
2楼-- · 2019-08-26 17:59

To add a view function you can get the link to the new file using file.getUrl() and present the link to the user in a dialog box like so

  var strUrl = newFile.getUrl()
  var html = HtmlService.createTemplateFromFile("NewTab")
  html.strUrl = strUrl
  SpreadsheetApp.getUi().showModelessDialog(html.evaluate(), "Pdf Link")

You Html file NewTab will be coded like so

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
  </head>
  <body>
    <a href ="<?!= strUrl ?>"> Link </a> to your PDF File
  </body>
  <script>
    var evLink = document.getElementsByTagName('a')[0]
    //evLink.click();  //If you try to programmatically activate link,
    // pop-up blocker stops the link from opening.
   </script>
</html>

Reference:
file.getUrl()
Dialog box
SO query on opening new tab/link

查看更多
登录 后发表回答