在景观中创建PDF(谷歌应用程序脚本)

在景观中创建PDF(谷歌应用程序脚本),pdf,google-apps-script,orientation,blob,Pdf,Google Apps Script,Orientation,Blob,我正在尝试通过谷歌应用程序脚本创建一个PDF文档,该脚本以横向显示(A4大小)。这是我目前正在使用的创建PDF的代码,它以纵向显示 功能pdfSheet(){ var d=新日期(); var cdate=d.getDate(); 变量cmonth=d.getMonth()+1; var cyear=d.getFullYear(); 无功电流=[cdate+“-”+cmonth+“-”+cyear]; var imageBlob=UrlFetchApp.fetch(“https://sites.

我正在尝试通过谷歌应用程序脚本创建一个PDF文档,该脚本以横向显示(A4大小)。这是我目前正在使用的创建PDF的代码,它以纵向显示

功能pdfSheet(){
var d=新日期();
var cdate=d.getDate();
变量cmonth=d.getMonth()+1;
var cyear=d.getFullYear();
无功电流=[cdate+“-”+cmonth+“-”+cyear];
var imageBlob=UrlFetchApp.fetch(“https://sites.google.com/site/mysite/smalllogo.pnggetBlob();
var base64EncodedBytes=Utilities.base64Encode(imageBlob.getBytes());
var logo=“”;
var html=“+logo+”

日期:“+current+”;//PDF内容将在此继续。 var gmailabels=“PDF”; var driveFolder=“我的Gmail”; var folders=DriveApp.getFoldersByName(driveFolder); var folder=folders.hasNext()? folders.next():DriveApp.createFolder(driveFolder); var主题=‘测试PDF’; var tempFile=DriveApp.createFile(“temp.html”,html,“text/html”); var page=folder.createFile(tempFile.getAs(“application/pdf”)).setName(subject+“.pdf”) tempFile.setTrashed(true); var link=page.getUrl(); Logger.log(link); }
我从另一个用户那里获取了大部分信息,并对其进行了编辑,以在电子邮件主题和PDF名称中包含当前日期(在EST中)。希望有帮助

//发送每日状态表的简单函数
//加载名为“项目管理”的菜单项和名为“发送状态”的子菜单项
//运行此操作,将当前打开的工作表作为PDF附件发送
函数onOpen(){
var子菜单=[{name:“发送状态”,functionName:“exportSomeSheets”}];
SpreadsheetApp.getActiveSpreadsheet().addMenu('Project Admin',子菜单);
}
函数creatPDF(){
SpreadsheetApp.flush();
var ss=SpreadsheetApp.getActiveSpreadsheet();
var sheet=ss.getActiveSheet();
//日期设置,主题和PDF名称中使用EST(纽约)格式
var period=Utilities.formatDate(新日期(),“GMT+5”,“yyyy.MM.dd”);
var url=ss.getUrl();
//从url中删除尾部的“编辑”
url=url.replace(/edit$/,“”);
//用于将图纸导出为pdf格式的其他参数
var url_ext='export?exportFormat=pdf&format=pdf'+//导出为pdf
//以下参数是可选的。。。
'&size=字母'+//纸张大小
“&trait=false”+//方向,横向为false
“&fitw=true”+//适合宽度,实际尺寸为false
'&sheetnames=false&printtitle=false&PageNumber=false'+//隐藏可选的页眉和页脚
“&gridlines=false”+//隐藏网格线
'&fzr=false'+//不要在每页上重复行标题(冻结行)
“&gid=”+sheet.getSheetId();//工作表的Id
var token=ScriptApp.getOAuthToken();
var response=UrlFetchApp.fetch(url+url\u ext{
标题:{
“授权”:“持票人”+代币
}
});
var blob=response.getBlob().setName(ss.getName()+“”+period+“”.pdf');
//从这里,您应该能够使用和操作blob来发送和发送电子邮件,或者按照通常的方式创建文件。
var电子邮件地址:email@co-电邮",;
var subject=“主题行”+期间;
var body=“请查看随附的您的每日报告。”;
//在标记之间放置接收电子邮件
sendmail(电子邮件、主题、正文,{attachments:[blob]});

}
我找到了一种方法。如果你仍然感兴趣,这里是链接。工作查看此线程:是否有人能够找到如何水平打印pdf或pdf不适用的方法&纵向=假不起作用。