带有边距的Google Apps脚本打印表

时间:2017-09-04 20:04:15

标签: google-apps-script printing google-sheets

有一个很好的GAS脚本可以在google app script print button

中打印Google表格

正如Google Cloud Connect(https://www.cloudconnect.goog/message/77627)中所讨论的,我们正在尝试确定控制边距的方法。

https://productforums.google.com/forum/#!topic/docs/DQxnJwoDn0c

上的Google产品论坛上也有类似的问题

4 个答案:

答案 0 :(得分:1)

你的第一个链接使用了已被删除的UiApp,但如果您仍想使用它,我想我会查看以下内容。

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

答案 1 :(得分:1)

thread也报道了此情况。我建议为此提交feature request

答案 2 :(得分:1)

您可能会发现此脚本很有用。

我认为它可以在边距上回答你的问题,还有一些其他有用的设置你可以使用。

function printPdf() {
    SpreadsheetApp.flush();
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var sheet = ss.getActiveSheet();
    var gid = sheet.getSheetId();
    var pdfOpts = '&size=A3&fzr=true&portrait=false&fitw=true&gridlines=false&printtitle=true&sheetnames=true&pagenumbers=true&attachment=false&gid='+gid;
    var url = ss.getUrl().replace(/edit$/, '') + 'export?format=pdf' + pdfOpts
    var app = UiApp.createApplication().setWidth(300).setHeight(100);
    app.setTitle('Your Print Preview is Ready');
    var link = app.createAnchor('Open Print Preview', url).setTarget('_new');
    app.add(link);
    ss.show(app);
}

另请参阅:Printing a sheet to PDF

答案 3 :(得分:0)

(当前)无法通过App Script API ...也无法通过宏记录器

因此,我建议使用一些Chrome扩展程序,例如Automation

用于打开页面设置对话框并输入所需值然后继续按下Next按钮的键控代码应与此类似:<Alt> + FP,(选择页边距,然后选择自定义编号,然后选择顶部的页边距输入字段,<Tab><Cursor Down><Space>)可以到达...然后点击0.25"<Tab>0.25"<Tab>0.25"<Tab>0.25" ... <Tab><Tab><Enter>

在电子表格中(甚至不是在客户端JavaScript中),而没有任何浏览器扩展(可以发送键码),则无法访问这些属性-因为否则脚本很容易搞乱自定义本地打印机设置