Экспорт листа Google в PDF: getDataAsString () возвращает пустой PDF - PullRequest
1 голос
/ 08 января 2020

У меня есть одна электронная таблица с некоторыми данными в первых строках и столбцах. Моя конечная цель - сделать снимки указанных листов c и экспортировать их в PDF-файлы. Следующая функция правильно экспортирует PDF, но вызов getDataAsString () возвращает пустой PDF.

function export() {
  var spreadsheet = SpreadsheetApp.openById(SOURCE);
  var exportFile= DriveApp.getFileById(PDF_EXPORT_FILE);
  var pdfContent =   spreadsheet.getBlob().getAs('application/pdf').getDataAsString();
  exportFile.setContent(pdfContent);
}

Что мне нужно сделать, чтобы создать PDF-файл аналогично тому, как работает элемент Print в меню File?

1 Ответ

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

Чтобы перезаписать pdf при сохранении URL, вы можете использовать Drive.Files.update():

function export() {
  var spreadsheet = SpreadsheetApp.openById(SOURCE);
  var exportFile= DriveApp.getFileById(PDF_EXPORT_FILE);
  var pdfContent =   spreadsheet.getBlob().getAs('application/pdf');
  Drive.Files.update({
    title: exportFile.getName(), mimeType: exportFile.getMimeType()
  }, exportFile.getId(), pdfContent);
}

или, если вы просто хотите , создать новый pdf и сохранить его в папке :

function export() {
  var spreadsheet = SpreadsheetApp.openById(SOURCE);
  var exportFolder = DriveApp.getFolderById(EXPORT_FOLDER_ID);
  var pdfContent = spreadsheet.getBlob().getAs('application/pdf').setName("new-name");
  exportFolder.createFile(pdfContent);
}

Примечание: если вы получаете “Drive” is not defined ошибку, пожалуйста, включите Drive Api (Ресурсы -> Дополнительные службы Google -> Включить Drive Api)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...