Изменение размера изображения 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%