无需按钮即可自动从Google表格打印PDF

时间:2019-04-27 18:46:55

标签: javascript html pdf google-apps-script google-cloud-print

我正在通过Google Cloud Printer从Google表格中打印pdf文件。

它可以工作,但是我需要自动执行该过程,以便单击图纸上的按钮,然后自动创建pdf并进行打印。

而且无需通过单击对话框上的按钮进行打印。

我设法只用1个按钮(图纸上的初始按钮)进行了设置,但是它只能在创建pdf文件时起作用。印刷作业尚未添加到云中。

尽管当我通过单击按钮进行打印时,却有一个窗口供我选择打印机或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);
        }

p.s。 Google的印刷文档在这里// {https://developers.google.com/cloud-print/docs/gadget

0 个答案:

没有答案