使用谷歌应用程序脚本创建一个充满图像的文档

问题描述

我正在尝试使用谷歌应用程序脚本制作一个充满图像的谷歌文档,每个文档下方都有图像的名称。所有的图像都在一个谷歌驱动器文件夹中。 这是我尝试过的:

function myFunction() {
  
  var doc = DocumentApp.create('This document is a test');
  var body = doc.getBody();
  
  var folderID = 'FOLDER_ID_HERE';
  var folder = DriveApp.getFolderById(folderID);
  var contents = folder.getFiles();
  
  var file;
  
  while (contents.hasNext()){
    var file = contents.next();
    var name = file.getName();
    var url = file.getUrl();
    body.appendParagraph(name);
    //Add image to document here somehow???
  }
  doc.saveAndClose();
}

从此处加载文件的正确方法是什么?

解决方法

解决方案:

body.appendImage(blob) 方法将转换为 blob 的图像附加到 Google 文档中。请注意,我在底部包含的参考资料包括调整 appendImage() 函数返回的内嵌图像大小的方法,以防您的图像不适合文档。

示例代码:

function myFunction() {
  
  var doc = DocumentApp.create('This document is a test');
  var body = doc.getBody();
  
  var folderID = 'FOLDER-ID-HERE';
  var folder = DriveApp.getFolderById(folderID);
  var contents = folder.getFiles();

  while (contents.hasNext()){
    var file = contents.next();
    var name = file.getName();
    var url = file.getUrl();
    body.appendParagraph(name);
    body.appendImage(file.getBlob());
  }
  doc.saveAndClose();
}

示例文档:

enter image description here

参考:

appendImage()

Inline Images