[英]Google Sheet - Insert chart image from sheet to attached PDF
您好,我正在嘗試在發送 email 時將我的圖表從另一張表附加到 PDF 附件。 從另一張紙上獲取圖像時,我仍然不知道如何使用 HTML 中的圖像源。
在將圖像附加到 email 主體時,我使用inlineImages:{image: img}
和<img src='cid:image'>
,但與 PDF 一起使用時它不起作用。
function pdfSend() {
const id = <sheet id>;
const ss = SpreadsheetApp.openById(id);
//const ss = SpreadsheetApp.getActive();
const sheet = ss.getSheetByName('Employee Report');
const data = sheet.getDataRange().getValues().slice(1);
const gs = ss.getSheetByName('Graph');
var chart = gs.getCharts();
var img = chart[0].getAs("image/png");
data.forEach((row, i)=> {
let email = row[1];
if (email != "" ) {
let html = `<h1>Hello ${row[0]}</h1>`;
html += `<div>Is your email correct? ${row[1]}</div>`;
html += "<br><p align='center'><imgsrc='???'>/</p> <br><br>";
const blob = Utilities.newBlob(html,MimeType.HTML);
blob.setName(`${row[0]}.pdf`);
const subject = 'Example PDF';
MailApp.sendEmail({
to: email,
subject: subject,
htmlBody: html,
attachments:[blob.getAs(MimeType.PDF)]
});
sheet.getRange(i+2,4).setValue('Sent');
}
});
}
我相信你的目標如下。
var img = chart[0].getAs("image/png")
包含到 email 附件文件的 PDF 文件中。在這種情況下,如何進行以下修改?
function pdfSend() {
const id = "<sheet id>";
const ss = SpreadsheetApp.openById(id);
//const ss = SpreadsheetApp.getActive();
const sheet = ss.getSheetByName('Employee Report');
const data = sheet.getDataRange().getValues().slice(1);
const gs = ss.getSheetByName('Graph');
var chart = gs.getCharts();
var img = `data:image/png;base64,${Utilities.base64Encode(chart[0].getAs("image/png").getBytes())}`; // Modified
data.forEach((row, i) => {
let email = row[1];
if (email != "") {
let html = `<h1>Hello ${row[0]}</h1>`;
html += `<div>Is your email correct? ${row[1]}</div>`;
html += `<br><p align='center'><img src='${img}'>/</p> <br><br>`; // Modified
const blob = Utilities.newBlob(html, MimeType.HTML);
blob.setName(`${row[0]}.pdf`);
const subject = 'Example PDF';
MailApp.sendEmail({
to: email,
subject: subject,
htmlBody: html,
attachments: [blob.getAs(MimeType.PDF)]
});
sheet.getRange(i + 2, 4).setValue('Sent');
}
});
}
img
標簽中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.