谷歌应用程序脚本打印按钮

Dav*_*ave 6 google-apps-script

我已经进行了大约一个月的调查(这是我的第一个谷歌脚本项目,我也应该提到它是一个基于Web的应用程序),我只剩下一些事情要做(创建一个打印按钮是其中之一).在我继续之前,我会给你一些关于调查的信息.有6页(每个页面对应一个按钮 - 我使用按钮代替菜单,因为我最近发现了它...),一次只能查看1页.

问题是我需要创建打印按钮...它将打印所有页面.

我一直在寻找一个谷歌脚本示例约3-4天,我找不到任何东西...如果我没有说清楚,请让我知道,我会尝试提供更多细节..

戴夫

小智 7

    function printPdf() {
    SpreadsheetApp.flush();
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var sheet = ss.getActiveSheet();

    var gid = sheet.getSheetId();

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


    var row2 = 29;
    var printRange = '&c1=0' + '&r1=0' + '&c2=7' + '&r2='+row2; // B2:APn
    var url = ss.getUrl().replace(/edit$/, '') + 'export?format=pdf' + pdfOpts + printRange;

    var app = UiApp.createApplication().setWidth(200).setHeight(50);
    app.setTitle('Print this sheet');

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

    app.add(link);

    ss.show(app);
     }
Run Code Online (Sandbox Code Playgroud)

这是一个适合我的代码.它是从另一个线程修改的.

  • UiApp已弃用。 (2认同)

Ser*_*sas 4

我想您知道 Google Apps 脚本应用程序无法从您的应用程序内部打印任何内容,因为它运行在 Google 服务器上而不是您的计算机上。电子表格和文档在其自己的环境中集成了打印实用程序,但使用 GAS 开发的 Web 应用程序(和站点)没有此环境。

您的“打印按钮”可能会创建一个您可以轻松打印的 PDF 文档。

  • 您可以创建一个 Google 文档作为模板。每次移至下一页时,您都可以填充此模板。当您到达最后一页时,您可以以 PDF 形式提供已填充文档的链接(如 Serge 的建议) (2认同)