批量将 jpg 转换为 Google 文档

Pac*_*ood 4 google-docs google-apps-script

我在 Google 云端硬盘中有一个 jpg 文件夹,我想将其转换为 Google 文档。现在,我可以手动选择每个文档,并在上下文菜单“在 Google 文档中打开”中,这将创建一个新文档,其中图像位于页面顶部,OCR 文本位于下方。我只想对我的所有图像执行此操作。

这里有一个脚本可以将 gdoc 转换为 docx,我应该能够适应我的情况,但我似乎无法让它工作。

这是我改编的脚本:

function convertJPGtoGoogleDocs() {
  var srcfolderId = "~~~~~~~~~Sv4qZuPdJgvEq1A~~~~~~~~~"; // <--- Please input folder ID.
  var dstfolderId = srcfolderId; // <--- If you want to change the destination folder, please modify this.
  var files = DriveApp.getFolderById(srcfolderId).getFilesByType(MimeType.JPG);
  while (files.hasNext()) {
    var file = files.next();
    DriveApp.getFolderById(dstfolderId).createFile(
      UrlFetchApp.fetch(
        "https://docs.google.com/document/d/" + file.getId() + "/export?format=gdoc",
        {
          "headers" : {Authorization: 'Bearer ' + ScriptApp.getOAuthToken()},
          "muteHttpExceptions" : true
        }
      ).getBlob().setName(file.getName() + ".docx")
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?

谢谢。

Tan*_*ike 5

  • 您想要将文件夹中的 Jpeg 文件转换为 Google 文档。
  • 当 Jpeg 文件转换为 Google 文档时,您需要使用 OCR。

如果我的理解是正确的,那么这个修改怎么样?

修改要点:

  • 在您修改的脚本中,MimeType.JPG返回undefined. 所以里面的脚本while没有运行。
    • 请用MimeType.JPEG
  • 该答案的脚本用于将 Google 文档导出为 Microsoft Word。不幸的是,该脚本不能直接用于将 Jpeg 文件转换为 Google 文档。

如果你想修改这个答案的脚本,修改如下怎么样?

当您使用此脚本时,请在高级 Google 服务中启用 Drive API。这样,API 就会在 API 控制台自动启用。Google Apps 脚本项目的规范已于 2019 年 4 月 8 日更改

修改后的脚本:

function convertJPGtoGoogleDocs() {
  var srcfolderId = "~~~~~~~~~Sv4qZuPdJgvEq1A~~~~~~~~~"; // <--- Please input folder ID.
  var dstfolderId = srcfolderId; // <--- If you want to change the destination folder, please modify this.
  var files = DriveApp.getFolderById(srcfolderId).getFilesByType(MimeType.JPEG); // Modified
  while (files.hasNext()) {
    var file = files.next();
    Drive.Files.insert({title: file.getName(), parents: [{id: dstfolderId}]}, file.getBlob(), {ocr: true}); // Modified
  }
}
Run Code Online (Sandbox Code Playgroud)

笔记:

参考:

如果我误解了你的问题,请告诉我。我想修改它。