Существует хороший сценарий GAS для печати листа Google в кнопке печати сценария приложения Google

Как описано в Google Cloud Connect ( https://www.cloudconnect.goog/message/77627) мы пытаемся определить способ контроля наценки.

Аналогичный вопрос есть и на форумах по продуктам Google по адресу https: // productforums. .google.com / форум / # ! тема / документы / DQxnJwoDn0c

2
Kevin A. McGrail 4 Сен 2017 в 23:04

3 ответа

Это (в настоящее время) невозможно ни через App Script API ..., ни через Macro Recorder

Поэтому я бы предложил использовать некоторые расширения Chrome, например Automation.

Коды клавиш, чтобы открыть диалоговое окно настройки страницы и ввести нужные значения и затем нажать кнопку Next, должны быть примерно такими: <Alt> + F, P, (выберите поля, затем выберите пользовательские номера, затем выберите поле ввода верхнего поля, к которому могут обращаться <Tab>, <Cursor Down> и <Space>) ..., а затем 0.25", {{X7 }}, 0.25", <Tab>, 0.25", <Tab>, 0.25" ... <Tab>, <Tab>, {{X15 } } .

Из электронной таблицы (и даже не из клиентского JavaScript), без какого-либо расширения браузера, которое может отправлять коды ключей, нет доступа к этим свойствам, поскольку в противном случае сценарии могут легко испортить пользовательские настройки локального принтера.

0
Martin Zeitler 29 Июн 2018 в 01:05

Вы можете найти этот скрипт полезным.

Я думаю, что это может ответить на ваш вопрос на полях, плюс у него есть несколько других полезных настроек, с которыми вы можете играть.

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);
}

См. Также: печать листа в PDF

3
John Rotenstein 20 Сен 2017 в 04:24

Ваша первая ссылка использует приложение, которое устарело, но я думаю, что я посмотрю в следующем, если вы все еще хотите его использовать.

var pdfOpts = '&size=A4&fzr=false&portrait=false&fitw=true&gridlines=false&printtitle=false&shee        tnames=false&pagenum=UNDEFINED&attachment=false&gid='+gid;
1
Cooper 5 Сен 2017 в 19:41