谷歌脚本图像大小调整(Google Script Image Resizing)

2019-09-21 18:45发布

我试图让一个脚本,将在谷歌文档调整图像。 我所拥有的是:

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%和按比例缩放的高度? 如果不是我能处理手动设置的像素数,但不工作或者。 有任何想法吗?

Answer 1:

问题是,它被插入到表后的影像尺寸应该改变。 下面的代码工作正常

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开始。



Answer 2:

正如一个供参考,您不需要调用getBlob()...任何有getBlob()可以直接在任何需要的Blob传递。



Answer 3:

你有没有尝试过:

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

或尝试指派具有宽的一类:100%



文章来源: Google Script Image Resizing