在Google Apps脚本中格式化PDF附件(MailApp.sendEmail)

时间:2015-07-24 18:11:17

标签: pdf google-apps-script

我设置了一个脚本,将Google表格中的办公室联系人列表转换为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 + "." + "\n\nPlease email xxxxx@xxxxx.xxx with any corrections or updates.";
  
 MailApp.sendEmail(email, subject, body, {
     name: 'xxxxx',
     attachments: [file.getAs(MimeType.PDF)]
 });
}




1 个答案:

答案 0 :(得分:0)

是的,有可能。但是,您必须为此目的使用UrlFetchApp。如图here所示(阅读第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);

阅读提供的链接以获取更多详细信息。