Google Script Image Resizing

时间:2012-08-28 03:34:47

标签: image google-apps-script google-docs google-apps

我正在尝试制作一个可以调整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 个答案:

答案 0 :(得分: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。

答案 1 :(得分:1)

就像一个FYI,你不需要调用getBlob()......任何有getBlob()的东西都可以直接传入需要Blob的地方。

答案 2 :(得分:-2)

你试过了吗?

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

或者尝试指定宽度为100%

的类