Автоматизируйте печать PDF из Google Sheets без кнопок - PullRequest
0 голосов
/ 27 апреля 2019

Я печатаю файл PDF с листов Google через Облачный принтер Google .

Это работает, но Мне нужно автоматизировать процедуру, чтобы я нажимал кнопку на листах иавтоматически создается и печатается PDF-файл.

И нет необходимости печатать, нажав кнопку в диалоговом окне.

Мне удалось установить это столько 1 нажатие кнопки (начальная кнопка на листах), но это работает только до создания PDF-файла.JOS для печати не добавляется в облако.

Хотя, когда я печатаю, нажимая кнопку, у меня появляется окно, в котором я выбираю принтер или Google-диск и затем нажимаю «Печать».

Код для кнопки печати:

gadget.setPrintButton(document.getElementById("printBtn"))

Поэтому я хочу не нажимать все эти кнопки и печатать по умолчанию на принтере.

Мой код на стороне сервера:

   //move chart to a separate sheet and open print dialog
   function moveChart() {  

       //move chart to object sheet
        var printSheet = ss.moveChartToObjectSheet(chart)        

        //activate object sheet
        printSheet.activate()

        var pdf = createPDF()

        var printForm = openPrintForm()            
        }


   //create pdf out of sheet
   function createPDF() {

        //folder to save pdf to
        var folder = DriveApp.getFolderById("1RseEezmGT2gSBS9rgdV0E2ggRD5O6dyu")

        var pdf = ss.getAs("application/pdf").setName("Chart")

        //create pdf in the folder
        var file = folder.createFile(pdf)
        }


   function openPrintForm() {

        var html = HtmlService.createTemplateFromFile("print").evaluate().setWidth(800).setHeight(600)
        var title = html.setTitle("Printing...").getTitle()

        SpreadsheetApp.getUi().showModalDialog(html, title)
        }

HTML-код:

   
   window.onload = function() {
        
        var url = "https://docs.google.com/spreadsheets/d/1WYAKlW_LU3XI_UGWXHr3B0FH_D1Wpj3t-ImPQ2LYU3c/edit#gid=2503262"
    
        var gadget = new cloudprint.Gadget();
        
        gadget.setPrintDocument("url", "Print sheet", url);
        }

ps Документация по печати Google находится здесь // https://developers.google.com/cloud-print/docs/gadget

...