Как встроить слайд в документ Google с помощью скрипта приложения

В настоящее время я создаю документ Google, который предоставляет обзор всех слайдов в презентации с использованием сценариев приложений. На данный момент для каждого слайда я создаю эскиз изображения и добавляю его в документ Google.

Что было бы лучше, так это встраивание слайда в документ (чтобы такие вещи, как анимация и т. Д. Отображались в документе Google) - это было бы похоже на нажатие копии на слайде с последующей вставкой в ​​документы Google.

Кто-нибудь знает, как этого можно достичь с помощью сценариев приложений?

Для справки это функция, которую я сделал для эскизов:

// Gets thumbnail URL
function getThumbnail(presentation, slideId) {
  var presentationId = presentation.getId()
  var baseUrl = "https://slides.googleapis.com/v1/presentations/{presentationId}/pages/{pageObjectId}/thumbnail?thumbnailProperties.thumbnailSize=SMALL"
  var url = baseUrl
      .replace("{presentationId}", presentationId)
      .replace("{pageObjectId}", slideId);

  var parameters = {
    method: "GET",
    headers: { Authorization: "Bearer " + ScriptToken },
    contentType: "application/json",
    muteHttpExceptions: true
  };

  var response = JSON.parse(UrlFetchApp.fetch(url, parameters));
  return response.contentUrl
}

// Update Thumbnails in Doc
function updateThumbnailCell(row, contentUrl) {
  var thumbnailCell = row.getCell(THUMBNAIL_DOC_COLUMN)
  thumbnailCell.clear()
  var imageBlob = UrlFetchApp.fetch(contentUrl).getBlob()
  thumbnailCell.insertImage(0, imageBlob).setWidth(200);
}

Ваше здоровье,

Шади


person Shadi Almosri    schedule 29.01.2020    source источник


Ответы (1)


Добавление слайдов Google в документ

function slides2Document() {
  var pres = SlidesApp.openById('slides id');
  var doc = DocumentApp.getActiveDocument();
  var body = doc.getBody();
  var slides = pres.getSlides();
  for(var i = 0; i < slides.length; i++) {
    var slide = slides[i];
    var images = slide.getImages();
    for(var j = 0; j < images.length; j++) {
      var img = images[j];
      var imgblob = img.getBlob().getAs('image/gif');
      body.appendImage(imgblob);
    }
  }
}
person Cooper    schedule 29.01.2020
comment
Спасибо за ответ, Купер. Кажется, что это извлекает отдельные изображения из слайда, а затем добавляет их в документ, а не встраивает слайд. Это вызывает проблемы, например, если у нас есть несколько изображений, которые затем сгруппированы. Я вижу, к чему все идет, но в идеале мы можем внедрить полный слайд, а не брать отдельные части слайда. Надеюсь это имеет смысл? - person Shadi Almosri; 30.01.2020