我正在通过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