3

Google ドキュメントの画像のサイズを変更するスクリプトを作成しようとしています。私が持っているものは次のとおりです。

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% を占めるようにし、高さを比例してスケーリングすることは可能ですか? そうでない場合は、ピクセル数を手動で設定できますが、それも機能しません。何か案は?

4

3 に答える 3

1

参考までに、getBlob() を呼び出す必要はありません... getBlob() を持つものはすべて、Blob が必要な場所に直接渡すことができます。

于 2012-08-29T13:37:35.287 に答える
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);
  }
}

配列インデックス、セル番号などは 1 ではなく 0 から始まることに注意してください。

于 2012-08-28T07:47:59.013 に答える
-2

やってみました:

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

または、幅が 100% のクラスを割り当ててみてください。

于 2012-08-28T03:39:30.753 に答える