2016-03-09 26 views
0

我需要使用Google雲打印將打印作業發送到我的打印機。這是Google Apps腳本命名RISO ComColor 7150我的代碼傳統打印機如下: -使用Google Apps腳本的Google雲打印中無法使用參數

function printGoogleDocument(docID, printerID, docName , type , duplex) { 


var ticket = { 
version: "1.0", 
print: { 
    color: { 
    type: type, 
    vendor_id: "Color" 
    }, 
    duplex: { 
    type: duplex 
    } 
} 
}; 

var payload = { 
"printerid" : printerID, 
"title"  : docName, 
"content" : DriveApp.getFileById(docID).getBlob(), 
"contentType": "application/pdf", 
"ticket" : JSON.stringify(ticket), 
"pages"  : "1,2" 
}; 

var response = UrlFetchApp.fetch('https://www.google.com/cloudprint/submit', { 
method: "POST", 
payload: payload, 
headers: { 
    Authorization: 'Bearer ' + getCloudPrintService().getAccessToken() 
}, 
"muteHttpExceptions": true 
}); 

response = JSON.parse(response); 

if (response.success) { 
Logger.log("%s", response.message); 
} else { 
Logger.log("Error Code: %s %s", response.errorCode, response.message); 
} 
} 

的問題是,當我發送類型STANDARD_COLOR和雙工到NO_DUPLEX比它工作正常,但是當我改變他們到MONOCHROME和DUPLEX比給我彩色打印沒有雙工再次。此外,我發送頁碼,但它打印整個PDF,而不是給我打印的特定頁面。

有人可以告訴我我在做什麼worng嗎?

在此先感謝。

+0

你是否在頁面瀏覽中使用了ajax?如果是這樣,你需要做一些「有趣的東西」 –

回答

2

您可以設置打印作業單中的所有內容,無需指定外部單據外的頁碼。 這裏,CJT我推薦,

var ticket = "{\"version\":\"1.0\",\"print\":{\"color\":{\"vendor_id\":\"1\",\"type\":1},\"duplex\":{\"type\":0},\"page_orientation\":{\"type\":"0"},\"copies\":{\"copies\": "2"},\"fit_to_page\":{\"type\":3},\"page_range\":{\"interval\":[{\"start\": "1",\"end\":"2"}]},\"media_size\":{\"width_microns\":210000,\"height_microns\":297000,\"is_continuous_feed\":false,\"vendor_id\":\"9\"},\"collate\":{\"collate\":false},\"reverse_order\":{\"reverse_order\":false}}}"; 

這樣你就可以limit..etc

指定雙面,頁面這將是很好,如果你可以去這個文檔。

https://developers.google.com/cloud-print/docs/cdd#pts

而對於複式,其整數期待,你可以把這個way..if需要NO_DUPLEX您需要發送0, NO_DUPLEX = 0; LONG_EDGE = 1; SHORT_EDGE = 2;

+0

它給我錯誤,當我用這個。說錯誤代碼:424.0解析打印作業的打印傳票失敗。 @AhammadaliPK – yash

+1

非常感謝你....這使我的工作.....我應該早些讀了一天..... – yash

+0

很高興聽到.carry on – AhammadaliPK