在创建cloudJobTicket并将打印作业发送到云时,该供应商ID将如何使用?它能做什么?
链接-> https://developers.google.com/cloud-print/docs/cdd#cjt
最佳答案
vendor_idvendor_id
是出现在某些CDD以及CJT项目(颜色,介质尺寸,dpi等)中的属性。通常,它拥有一个内部ID,打印机使用它来消除需要在打印机上具有不同行为的相同值的歧义。
例如,一台打印机可能支持1种分辨率(300dpi),但支持3种质量设置(草稿,常规,最佳)。由于CDD或CJT上均没有质量设置,因此其CDD可能如下所示:
{
"version": "1.0",
"print": {
"dpi": {
"option": [
{
"horizontal_dpi": 300,
"vertical_dpi": 300,
"vendor_id": "draft300dpi"
"custom_display_name": "300dpi - DRAFT"
},
{
"horizontal_dpi": 300,
"vertical_dpi": 300,
"is_default": true,
"vendor_id": "normal300dpi"
"custom_display_name": "300dpi - NORMAL"
},
{
"horizontal_dpi": 300,
"vertical_dpi": 300,
"vendor_id": "best300dpi"
"custom_display_name": "300dpi - BEST"
}
]
},
(...)
}
}
如果在其中设置了CJT的第一个选项,它将看起来像:
{
"version": "1.0",
"print": {
"dpi": {
"horizontal_dpi": 300,
"vertical_dpi": 300,
"vendor_id": "normal300dpi"
}
}
}
如果未在CJT中设置
vendor_id
,则打印机将无法消除其内部选项之间的歧义,并且可能无法确定您真正选择的内容。vendor_id
始终是打印机在CDD中提供它的可选选项。因此,客户端在CJT中提供它也是可选的(请查阅文档,始终在optional
关键字之后)。我的建议是,在CJT中选择的设置下,如果打印机有所提供,则转发与打印机提供的相同的值。VendorTicketItem
另一方面,还有
VendorTicketItem
,打印机可以使用公开规范所提供的项目未涵盖的其他功能。打印机可以使用它在其CDD中宣传这些附加功能,客户可以在CJT中进行设置。