Изменение размера изображения Google Script

Я пытаюсь сделать скрипт, который будет изменять размеры изображений в Google DOC. Что у меня есть:

var imgs = currentDoc.getImages();

for (var i = 1; i < imgs.length; i++)
{
   cell = row.insertTableCell(1);
   imgNew = imgs[i].setWidth(365);

   cell.insertImage(1, imgNew.getBlob());
}

Изображение вставляется правильно, но размер не изменяется независимо от того, какую ширину я установил. Поскольку изображение входит в ячейку (ширина =370), возможно ли просто заставить изображение занимать 100% ширины и пропорционально масштабировать высоту? Если нет, то я могу вручную установить количество пикселей, но это тоже не работает. Есть идеи?

3 ответа

Проблема в том, что размер изображения должен быть изменен после того, как он вставлен в таблицу. Следующий код работает правильно

function test() {
  var doc = DocumentApp.openById('here_is_doc_id');
  var imgs = doc.getImages();
  var table = doc.getTables()[0];
  for (var i = 0; i < imgs.length; i++) {
   var row = table.appendTableRow();
   var cell = row.insertTableCell(0);
   var imgNew = imgs[i].copy();
   cell.insertImage(0, imgNew);
   imgNew.setWidth(365);
  }
}

Обратите внимание, что индексы массивов, номера ячеек и т. Д. Начинаются с 0, а не с 1.

Точно так же, как FYI, вам не нужно вызывать getBlob()... все, что имеет getBlob (), может быть передано непосредственно туда, где нужен Blob.

Ты пытался:

imgs[i].attr('width', '370');

Или попробуйте назначить класс с шириной: 100%

Другие вопросы по тегам