使用应用脚本从Google绘图创建png文件

米尔斯先生

我有一个充满Google绘图的文件夹。我已经在Google电子表格中找到了Google绘图的文件名。我可以从Google电子表格中提取文件名,遍历文件名,找到所有Google绘图,然后...就在这里。我想将图形转换为PNG文件,并将PNG文件存储在单独的驱动器文件夹中。

这是我到目前为止的脚本...

function load_list_of_images() {
  var course_workbook_name = "SPREADSHEET"; // Title of spreadsheet to download files
  var course_workbooks = DriveApp.getFilesByName(course_workbook_name); // There may be more than one!
  try{
    var course_workbook_id = course_workbooks.next();
    Logger.log("Spreadsheet ID : " + course_workbook_id);    
  } catch(error) {
    Logger.log("Spreadsheet doesn't exist");
    return(null);
  }
  var course_workbook = SpreadsheetApp.open(course_workbook_id);
  var image_list_sheet = course_workbook.getSheetByName("image_list");
  // Get list of image names (without extensions)
  var list_of_images = [];
  var images = image_list_sheet.getRange(1,1,1000).getValues();
  for (var row in images) {
    for (var col in images[row]) {
      if (images[row][col] == "") {
        return(list_of_images);
      }
      list_of_images.push(images[row][col]);
    }
  }
}

function download_images() {
  var list = load_list_of_images();
  if (list == null){
    return(null);
  }
  for (var row in list){
    var image_name = list[row];
    var image_exists = DriveApp.getFilesByName(image_name);
    // There may be more than one
    if (image_exists.hasNext()) {
      var image = image_exists.next()
      var gDraw_file = DriveApp.getFileById(image.getId());
      DriveApp.createFile(gDraw_file.getBlob());
    }
  }
}

运行此命令时,所有Google绘图都将转换为PDF文件并存储在驱动器文件夹中。

日加诺奇卡

您需要指定要将图形转换为哪个mimeType

但是,不能直接从转换drawingspng,您需要执行以下步骤:

  • 创建一个导出链接以将文件导出为 image/png
  • 使用UrlFetchApp获取此链接
  • 从结果的斑点创建文件

样品

  var id = image.getId(); 
  var exportUrl = "https://www.googleapis.com/drive/v3/files/" + id + "/export?mimeType=image/png";
  var urlFetchOptions = {
    headers: {Authorization : "Bearer " + ScriptApp.getOAuthToken()}
  };
  var blob= UrlFetchApp.fetch(exportUrl, urlFetchOptions).getBlob();
  DriveApp.createFile(blob);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用pyplot从Google Colab中的脚本文件进行绘图?

如何仅使用谷歌应用程序脚本在单元格中创建按钮?不使用插入>绘图选项

使用sip从png文件创建icns文件

应用脚本新的 Google 表格创建问题

Google应用脚本-如何创建具有多张表格的Excel文件并附加到MailApp?

为什么此脚本在Windows上创建损坏的PNG文件?

使用应用程序脚本将文件下载到Google Drive文件夹

使用Google的“应用脚本”在边栏中创建“复制到剪贴板”按钮

Google Sheet API-使用特定的应用脚本创建工作表

每次创建行时,使用Google应用脚本重复某些值

使用Google Apps脚本直接在文件夹中而不是在根文件夹中创建Google Doc文件

从文件路径创建位图/绘图

无法将绘图保存为 png 文件(使用 hgexport 时出错)

使用Google Apps脚本调整两次评估之间的日期的文件创建日期值

使用Google Apps脚本创建和设置文件扩展名

使用Google App脚本在云端硬盘中创建新文件夹

使用Google Apps脚本创建CSV文件时,如何添加逗号?

批量创建 .png 文件

无法使用Ant脚本创建属性文件

如何使用Shell脚本创建zip文件?

使用bash脚本创建XML文件

使用bash脚本创建csv文件

使用Shell脚本创建Excel文件

使用 Google Sheets 的脚本创建散点图?

用于动态创建和排序变量的 Google 应用脚本

使用位于子文件夹中的文件调用 google 应用程序脚本 htmlservice.createTemplateFromFile(file)

如何使用 Google 应用程序脚本在 Google 表格中导入带有 xml 响应的 txt 文件?

使用脚本编辑器将Excel文件从Google云端硬盘复制到新创建的文件夹

使用 for 循环创建多个绘图