图表内联图像裁剪

chart inline image cropped

我正在尝试将在 google sheet 中创建的图表作为内联图像放入 Gmail html 正文中。它出现了,但被裁剪了(左图),我不知道如何显示整个图表。图表在 sheet(右图)

中显示完整且正常

cropped chart image uncropped chart

代码如下:

//creates chart of tasks to embed an inline image in gmail message
  var chart = sheet.newChart()
     .setChartType(Charts.ChartType.TABLE)
     .addRange(range)
     .setOption('height', 800)
     .setPosition(1,1,0,0)
     .build();

  sheet.insertChart(chart);

  var table = sheet.getCharts()[0];

  var htmlList = '<h2>Tasks:</h2><img src="cid:chart1" />';
      htmlList = htmlList + '<br><br>Click <a href="https://sites.google.com/a/dwightlondon.org/dsl-whole-school-staff-hub/new-students" target="_blank">here</a> to visit Induction page';

table.modify().setOption('height', 800)
  var taskList = table.getAs('image/gif').setName('chart1');



  GmailApp.sendEmail('adadasd@dwightlondon.org', 
                     'Updated induction tasks for '+userType + ' ' + student, 
                     'tasks: ',
                     { htmlBody: htmlList, 
                       inlineImages: {
                          chart1: taskList
                        }});

  sheet.removeChart(table[0]);

我认为图像被裁剪为默认尺寸值。

对于嵌入的图表,我无法更改尺寸,但是,我尝试使用 Charts 服务并能够设置尺寸。

所以稍微修改你的代码我得到了完整的图表:

var chart = Charts.newTableChart().setDataTable(range.getDataTable()).setDimensions(600, 600).build();

var htmlList = '<h2>Tasks:</h2><img src="cid:chart1" />';
      htmlList = htmlList + '<br><br>Click <a href="https://sites.google.com/a/dwightlondon.org/dsl-whole-school-staff-hub/new-students" target="_blank">here</a> to visit Induction page';

  GmailApp.sendEmail('adadasd@dwightlondon.org', 
                     'Updated induction tasks for '+userType + ' ' + student, 
                     'tasks: ',
                     { htmlBody: htmlList, 
                       inlineImages: {
                          chart1: chart.getBlob().setName('chart1')
                        }});

检查这是否适合您。