我正在尝试制作一个可以调整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%并按比例缩放高度?如果不是我可以处理手动设置像素数,但这也不起作用。有什么想法吗?
答案 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%
的类