Диаграмма экспорта сценария Google лист в виде векторного изображения (SVG / EPS) - PullRequest
0 голосов
/ 15 января 2020

Мне нужно сделать много диаграмм с помощью google sheet и загрузить их, чтобы сделать публикацию.

Поскольку мне нужно много, мне понадобится слишком много времени, чтобы использовать правильный кли c - > экспортировать как решение для изображений.

Я нашел способ экспортировать изображения в виде изображений jpg с помощью такого вида кода:

  function Export() {
  var Spreadsheet = SpreadsheetApp.getActive();     
  var sheet = Spreadsheet.getActiveSheet();
  var spreadsheetId =  SpreadsheetApp.getActiveSpreadsheet().getId();
  var spreadsheetFile =  DriveApp.getFileById(spreadsheetId);
  var folderID = spreadsheetFile.getParents().next().getId();
  var folder = DriveApp.getFolderById(folderID); 

  // take the first chart of the sheet
  var chart = sheet.getCharts()[0];
  var Nom = sheet.getRange('A2').getValue();

  //save to image
  var theBlob = chart.getBlob().getAs("image/jpeg").setName(NomFerme); //save the image into a blob
  var newFile = folder.createFile(theBlob); //save the image into the spreadsheet folder
  return true;
 }

Но для моего проекта мне нужно экспортировать векторные изображения, как в .svg или .eps.

Я уверен, что есть способ сделать это, потому что он работает с правильным кликом c -> экспорт в качестве решения для изображения.

Но как сделать это в скрипте Google?

1 Ответ

0 голосов
/ 15 января 2020

Я проверил эту пользовательскую функцию:

function exportToSvg() {
  var ss = SpreadsheetApp.getActiveSheet().getCharts()[0];
  DriveApp.createFile(ss.getBlob().getAs('image/jpeg'));
};

Она загружает ваш первый график как jpeg в папку Drive root


но как насчет этих типов MIME:

  • image / svg + xml возвращает ошибку

Преобразование из image/png до image/svg+xml не поддерживается. (строка 3, файл "макросы")

  • application / pdf также возвращает ошибку

Преобразование из image/png до application/pdf не поддерживается. (строка 3, файл "макросы")


Затем я проверил официальную документацию на getAs (contentType) метод:

Для большинства BLOB-объектов, 'application / pdf' является единственным допустимым вариантом. Для изображений в формате BMP, GIF, JPEG или PNG также допустимы любые изображения: «image / bmp», «image / gif», «image / jpeg» или «image / png».


К сожалению, это плохие новости, и невозможно сделать то, что вы пытаетесь сделать с Apps Script

...