【问题标题】:Google Apps Script print sheet with margins带边距的 Google Apps 脚本打印表
【发布时间】:2017-09-04 20:04:15
【问题描述】:
【问题讨论】:
标签:
google-apps-script
printing
google-sheets
【解决方案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】:
您的第一个链接使用了已被弃用的 UiApp,但如果您仍想使用它,我想我会查看以下内容。
var pdfOpts = '&size=A4&fzr=false&portrait=false&fitw=true&gridlines=false&printtitle=false&shee tnames=false&pagenum=UNDEFINED&attachment=false&gid='+gid;
【解决方案4】:
(目前)既不可能通过 App Script API ...也不可能通过宏记录器
因此,我建议使用一些 Chrome 扩展程序,例如 Automation。
打开页面设置对话框并输入所需值然后继续点击Next按钮的键码应该是这样的:<Alt> + F,P,(选择边距,然后选择自定义数字,然后选择上边距输入字段,可以通过<Tab>、<Cursor Down> 和<Space>)... 然后0.25"、<Tab>、0.25"、<Tab>、@987654332 @, <Tab>, 0.25" ... <Tab>, <Tab>, <Enter>.
在电子表格中(甚至不是在客户端 JavaScript 中),如果没有任何可以发送键码的浏览器扩展程序,则无法访问这些属性 - 因为否则脚本很容易弄乱自定义本地打印机设置.