单个图像或图表没有任何问题,但2个或更多似乎相当困难。
这就是为什么我选择这个选项和你的经验作为我的最后选择。
非常感谢您的每一个提示并祝您度过愉快的一天。
迈克尔
“短”代码示例:
第1步:打开Google表格
var reportDataStorage = SpreadsheetApp.openByUrl('https://docs.google.com/.../edit');
var sheet = reportDataStorage.getSheetByName(...);
第2步:创建表
var daten_besucher_nach_quelle = Charts.newDataTable()
...
daten_besucher_nach_quelle.addRow([sheet.getRange('O'+y).getValue(), sheet.getRange('P'+y).getValue(), sheet.getRange('Q'+y).getValue(); sheet.getRange('R'+y).getValue()]);
...
daten_besucher_nach_quelle.build();
第3步:从表中创建图表
var chart_besucher_nach_quelle = Charts.newPieChart()
.setDataTable(daten_besucher_nach_quelle)
.setDimensions(300, 300)
...
.build();
第4步:追加图片
body.appendImage(chart_besucher_nach_quelle.getAs('image/png'));
这够了吗?
答案 0 :(得分:1)
正如您所注意到的,当您在文档中插入图像时,会自动将新段落添加到文档的正文中。
可以使用image.getParent()
方法访问此段落容器。一旦我们得到这个段落,我们就可以在其中添加另一个图像,这个图像将直接并排排列(只要总宽度小于边距之间的最大尺寸)。
尝试这个简单的小代码,并在下面的scren捕获中查看结果:
function importImageTest(){
var doc = DocumentApp.getActiveDocument();
var body = doc.getBody();
var image1 = DriveApp.getFileById("0B3qSFd3iikE3TUFFLWY0ZWJjNzM2LWFiNDYtNGU1OC1hMGNhLTViM2UxNTBlMTE3Nw");// some image in my drive
var image2 = DriveApp.getFileById("0B3qSFd3iikE3TUFFLWI3Y2JiOTU1LWM0OGYtNDVkMS05ZTRiLTkzNjQ5NDBlZGFkNA");
var firstImage = body.appendImage(image1).setWidth(150).setHeight(100);// an arbitrary size
var currentParagraph = firstImage.getParent();// the container of first image
currentParagraph.asParagraph().appendInlineImage(image2).setWidth(150).setHeight(100);// add the second image to this parent paragraph
doc.saveAndClose();
}