Пакетное преобразование JPG в Google Документы - PullRequest
0 голосов
/ 09 декабря 2018

У меня есть папка jpgs на Google Диске, которую я хотел бы преобразовать в Документы 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")
    );
  }
}

Может кто-нибудь помочь?

Спасибо.

1 Ответ

0 голосов
/ 10 декабря 2018
  • Вы хотите преобразовать файлы Jpeg в папке как Документ Google.
  • Когда файл Jpeg конвертируется в Документ Google, вы хотите использовать OCR.

Если мое понимание верно, как насчет этой модификации?

Точки модификации:

  • В измененном вами скрипте MimeType.JPG возвращает undefined.Так что скрипт в while не запускается.
    • Пожалуйста, используйте MimeType.JPEG.
  • Сценарий этот ответ используется для экспорта документа Google в формате Microsoft Word.К сожалению, этот сценарий нельзя напрямую использовать для преобразования файла JPEG в документ Google.

Если вы хотите изменить сценарий этого ответа , как насчет изменения следующим образом?

Когда вы используете этот скрипт, пожалуйста, включите Drive API в Advanced Services и консоли API.Вы можете увидеть, как включить Drive API на здесь .

Модифицированный скрипт:

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
  }
}

Примечание:

Ссылки:

Если я неправильно понимаю ваш вопрос, пожалуйста, сообщите мне.Я хотел бы изменить его.

...