将Google电子表格单元格打印为PDF文件

时间:2018-02-27 10:05:24

标签: javascript pdf google-sheets google-spreadsheet-api

我想将工作表中的单元格打印为PDF文件。此PDF文件不应在Google云端硬盘中创建,而是可下载到磁盘。 这是我的代码:

function PrintPDF(LigneDebut, ColonneDebut, LigneFin, ColonneFin) {
  SpreadsheetApp.flush();
  feuilleImprimer = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = feuilleImprimer.getActiveSheet();

  var gid = sheet.getSheetId();

  var pdfOpts = '&size=A4&fzr=false&portrait=true&fitw=true&gridlines=false&printtitle=false&sheetnames=false&pagenum=UNDEFINED&attachment=false&gid='+gid;

  var printRange = '&c1='+ColonneDebut + '&r1='+LigneDebut + '&c2='+ColonneFin + '&r2='+LigneFin; // B2:APn
  var url = feuilleImprimer.getUrl().replace(/edit$/, '') + 'export?format=pdf' + pdfOpts + printRange;

  var app = UiApp.createApplication().setWidth(200).setHeight(150);
  app.setTitle('Printing ' + feuilleImprimer.getSheetName());

  var link = app.createAnchor('Download PDF', url).setTarget('_new');
  app.add(link);

  feuilleImprimer.show(app);
}

某些API已过期: UiApp Anchor UiInstance 。 这会生成警告消息。 通过什么方法来替换这些已弃用的API? 谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

要解决已弃用的问题,请转到官方的Apps脚本文档参考。例如,在类UiApp的情况下,请使用HTML Service代替。

有关将电子表格转换为pdf并下载的工作代码,请检查ixhd/gist:3660885Convert and Email Google Spreadsheets as PDF Files