【问题标题】:Export to PDF with parameters导出为带参数的 PDF
【发布时间】:2019-01-26 04:49:43
【问题描述】:

一直在阅读有关如何将工作表保存到 PDF 文件的信息,我偶然发现这段代码它以前运行良好,但现在它不会收到“不推荐使用 uiapp”的错误。我怎样才能解决这个问题?顺便说一句,代码不是我的,我只是根据自己的喜好对其进行调整。建议使用 HTML 服务。

function PDF() {
    SpreadsheetApp.flush();
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var sheet = ss.getActiveSheet();
    var gid = sheet.getSheetId();
    var pdfOpts = '&size=letter&fzr=false&portrait=true&fitw=false&gridlines=false&scale=1&top_margin=0.17&bottom_margin=0.17&left_margin=0.1&right_margin=0.1&printtitle=false&sheetnames=false&pagenum=UNDEFINED&attachment=false&gid='+gid;
    var row2 = 66;
    var printRange = '&c1=0' + '&r1=0' + '&c2=15' + '&r2='+row2; // B2:APn
    var url = ss.getUrl().replace(/edit$/, '') + 'export?format=pdf' + pdfOpts + printRange;
    var app = UiApp.createApplication().setWidth(300).setHeight(100);
    app.setTitle('Print this sheet');
    var link = app.createAnchor('Download PDF', url).setTarget('_new');
    app.add(link);
    ss.show(app);
};

【问题讨论】:

    标签: pdf google-apps-script google-sheets pdf-generation export-to-pdf


    【解决方案1】:

    这个修改怎么样?我认为您的情况可能有几个答案。所以请认为这只是其中之一。

    修改脚本:

    在这个修改中,我使用了Class Ui的showModalDialog方法。

    从:
    var app = UiApp.createApplication().setWidth(300).setHeight(100);
    app.setTitle('Print this sheet');
    var link = app.createAnchor('Download PDF', url).setTarget('_new');
    app.add(link);
    ss.show(app);
    
    到:
    var html = '<a href="' + url.replace(/&/g, "&amp;") + '" target="_new">Download PDF</a>';
    var userInterface = HtmlService.createHtmlOutput(html).setWidth(300).setHeight(100);
    SpreadsheetApp.getUi().showModalDialog(userInterface, 'Print this sheet');
    

    参考:

    如果我误解了您的问题,请告诉我。我想修改它。

    【讨论】:

    • @Jayson Roque 感谢您的回复。很高兴您的问题得到解决。
    猜你喜欢
    • 1970-01-01
    • 2017-11-29
    • 1970-01-01
    • 1970-01-01
    • 2019-10-14
    • 2013-06-04
    • 1970-01-01
    • 1970-01-01
    • 2015-09-13
    相关资源
    最近更新 更多