title: Using Google Apps Script to save a single sheet from a spreadsheet as pdf in a specific folder
body: <p>I am using a Google spreadsheet to prepare invoices and was looking for a simple script that saves a sheet, where the invoice is in, in a "invoices" folder to build an archive.
  I "borrowed" code from numerous contributors on Stackoverflow and youtube and came up with a code that works. I had to copy the invoice to a newly created spreadsheet, because it seems to be impossible to create a pdf from one single sheet in type spreadsheet. I also had to use a piece of code to move the pdf from the root to an "invoices" folder
  The only thing I am not able to solve is that the spreadsheet created in line 6 consistes of 2 sheets. An empty one and a correctly copied one. The created pdf thus alsa has 2 sheets, one empty and one correct sheet.
  Anyone got a clue how to solve this ? 
  By the way sometimes it takes some minutes before the pdf shows in the folders. </p>
  
  <p>Below is the code</p>
  
  <pre><code>function generatePdf(){
      //Create a temporary spreadsheet, to store the desired sheet from the spreadsheet in. 
      var originalSpreadsheet = SpreadsheetApp.getActive();
      originalSpreadsheet.setActiveSheet(originalSpreadsheet.getSheets()[4]);
      var name = "Testname"
      var newSpreadsheet = SpreadsheetApp.create(name);
      var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
      sheet = originalSpreadsheet.getActiveSheet();
      sheet.copyTo(newSpreadsheet);
      //Save the desired sheet as pdf
      var pdf = DriveApp.getFileById(newSpreadsheet.getId()).getAs('application/pdf');
      var saveCopy = DriveApp.createFile(pdf);
      //Delete temporary spreadsheet
      DriveApp.getFilesByName(name).next().setTrashed(true);
      //Move the pdf file from the rootfolder to the folder where invoices are to be stored.
      var files = DriveApp.getRootFolder().getFiles();
      while (files.hasNext()) {
          var file = files.next();
          var destination = DriveApp.getFolderById("0B3ok04PZOVbgLXA2dy14MVlLRXM");
          destination.addFile(file);
          var pull = DriveApp.getRootFolder();
          pull.removeFile(file);    
      }
  }
  </code></pre>