Skip to content

Commit

Permalink
Create GSlides-To-Images
Browse files Browse the repository at this point in the history
  • Loading branch information
urwa committed Dec 15, 2018
1 parent 8b91ccc commit a13435e
Showing 1 changed file with 37 additions and 0 deletions.
37 changes: 37 additions & 0 deletions GSlides-To-Images
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
function onOpen() {
SlidesApp
.getUi()
.createMenu('Custom')
.addItem('Create Images', 'createImages')
.addToUi()
}

function createImages() {
var ss = SpreadsheetApp.openById("YOUR_SPREADSHEET_ID");
var sheet = ss.getSheetByName("YOUR_SHEET_NAME");

var presentation = SlidesApp.getActivePresentation();
var presentationId = presentation.getId();
var slides = presentation.getSlides();

var userSlidesStr = SlidesApp.getUi().prompt("Enter slides you would like to convert [seperated by comma]").getResponseText();
var userSlides = JSON.parse("[" + userSlidesStr + "]");

slides.forEach(function(slide, i) {
if(userSlides.indexOf(i+1) != -1) {
var thumbnail = Slides.Presentations.Pages.getThumbnail(presentationId, slide.getObjectId(), {'thumbnailProperties.thumbnailSize': 'LARGE'});
var response = UrlFetchApp.fetch(thumbnail.contentUrl);
var blob = response.getBlob();
blob.setName('candidate.png');

var slideNote = Slides.Presentations.Pages.get(presentationId, slide.getObjectId());
var emailId = JSON.parse(slideNote).slideProperties.notesPage.pageElements[1].shape.text.textElements[1].textRun.content.replace(/\n/g, '');

var folder = DriveApp.getFolderById('FOLDER_ID_TO_SAVE_IMAGES');
var file = folder.createFile(blob);
var time = new Date();
var fileId = file.getId();
sheet.appendRow([time, emailId, fileId]);
}
});
}

0 comments on commit a13435e

Please sign in to comment.