在创建cloudJobTicket并将打印作业发送到云时,该供应商ID将如何使用?它能做什么?

链接-> https://developers.google.com/cloud-print/docs/cdd#cjt

最佳答案

vendor_id


vendor_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中进行设置。

10-07 21:27