格式化PDF附件在谷歌应用程序脚本(mailapp . sendmail)



我设置了一个脚本,将Google Sheets中的办公室联系人列表转换为PDF格式,并将其作为附件发送给每个月的列表。我试图找出如何格式的PDF是在景观和删除网格线,还没有成功。我是相对较新的脚本,所以我相信我错过了一些东西。这是我的代码。我很感激任何建议。谢谢!

function EmailSpreadsheetAsPDF() {
  
 var file = DriveApp.getFileById('xxxxx_spreadsheet_key_xxxxx');
  
 var formattedDate = Utilities.formatDate(new Date(), "GMT-7", "MMMM yyyy");
  Logger.log(formattedDate);
  
 var email = "xxxxx@xxxxx.xxx";
  
 var subject = "Contact List - " + formattedDate;
  
 var body = "Attached is the current contact list for " + formattedDate + "." + "nnPlease email xxxxx@xxxxx.xxx with any corrections or updates.";
  
 MailApp.sendEmail(email, subject, body, {
     name: 'xxxxx',
     attachments: [file.getAs(MimeType.PDF)]
 });
}

是有可能的。但是,您必须为此使用UrlFetchApp。如图所示(阅读post#89),你可以导出文件为PDF,同时设置网格线可见性为false,使用以下命令:

var pdfBlob = UrlFetchApp.fetch("https://spreadsheets.google.com/feeds/download/spreadsheets/Export?key="
               +docKey
               +"&exportFormat=pdf&gid="
               +printSheetIndex
               +"&gridlines=false&printtitle=false&size=A4&sheetnames=false&fzr=true&portrait="
               +portraitInd
               +"&fitw=true"
               , requestData).getBlob().setName(docName);

最新更新