Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save Wgalter1/23417bbea9223283b2172a5db88c283e to your computer and use it in GitHub Desktop.
Save Wgalter1/23417bbea9223283b2172a5db88c283e to your computer and use it in GitHub Desktop.
Create a PDF file from a google sheet using apps script
function generatePdf() {
var ss, source, newTab, newSheet;
source = SpreadsheetApp.openById("10wh47mXtvXEdfgdfgdfgdfgdfgdfg").getSheetByName('PrintFATURAFINAL');
ss = SpreadsheetApp.openById("10wh47mXtvXEVUHdfgdfgdfgdfgdfgdfgd");
var pdfName = source.getRange('E10').getDisplayValue();
/*By using the value on a cell as the name for pdf file you be dynamically changed it to be display as a distinct list with no repetition
ei: client A.pdf
client B.pdf
,etc...
*/
newTab = source.copyTo(ss) // copy sheet to the same spreadsheet
newTab.getDataRange().setValues(newTab.getDataRange().getDisplayValues())
newSheet = SpreadsheetApp.create('Temp');
newTab.copyTo(newSheet);
newSheet.deleteSheet(newSheet.getSheets()[0]);
var folderId = '16ZABtdfgdfgdfgdfgdfgdfgdfgdfg';
var folder = DriveApp.getFolderById(folderId);
// Save to pdf.
var theBlob = newSheet.getBlob().getAs('application/pdf').setName(pdfName);
var newFile = folder.createFile(theBlob);
var delet = ss.deleteSheet(newTab);
DriveApp.getFileById(newSheet.getId()).setTrashed(true);
}
@makasulap
Copy link

Hi there Thanks for this code...I have faced a #ref problem with other codes. this code works perfectly.

@Slowly-learn
Copy link

Thanks for the code.

The PDF is auto save in Portrait page orientation, how can it be save auto save as Landscape page orientation?

@AbeerJamal
Copy link

Hi sir/madam, Wgalter1, your code is brilliantly written, absolutely working perfectly

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment