使用 Google Apps 脚本的参数在 Google 云打印中不起作用
Parameters are not working in Google Cloud Print using Google Apps Script
我需要使用 Google 云打印将打印作业发送到我的打印机。这是一台名为 RISO ComColor 7150 的经典打印机。我在 Apps 脚本中的代码如下:-
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 时工作正常但是当我将它们更改为单色和双面时比它给我没有双面打印的彩色打印再次。我也在发送页码,但它打印整个 pdf,而不是给我打印特定页面。
有人能告诉我我在这里做什么吗??
提前致谢。
您可以在打印作业票中设置所有内容,无需在票外指定页码。
在这里,我推荐一个 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}}}";
因此您可以指定双面打印、页数限制等
如果你能去这个文档就好了。
https://developers.google.com/cloud-print/docs/cdd#pts
而对于双工,它是一个整数期望,你可以这样设置..如果需要NO_DUPLEX你需要发送0,
NO_DUPLEX = 0;
LONG_EDGE = 1;
SHORT_EDGE = 2;
我需要使用 Google 云打印将打印作业发送到我的打印机。这是一台名为 RISO ComColor 7150 的经典打印机。我在 Apps 脚本中的代码如下:-
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 时工作正常但是当我将它们更改为单色和双面时比它给我没有双面打印的彩色打印再次。我也在发送页码,但它打印整个 pdf,而不是给我打印特定页面。
有人能告诉我我在这里做什么吗??
提前致谢。
您可以在打印作业票中设置所有内容,无需在票外指定页码。 在这里,我推荐一个 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}}}";
因此您可以指定双面打印、页数限制等
如果你能去这个文档就好了。
https://developers.google.com/cloud-print/docs/cdd#pts
而对于双工,它是一个整数期望,你可以这样设置..如果需要NO_DUPLEX你需要发送0, NO_DUPLEX = 0; LONG_EDGE = 1; SHORT_EDGE = 2;