Php 谷歌云打印和功能PPD

Php 谷歌云打印和功能PPD,php,printing,cloud,Php,Printing,Cloud,我们通过谷歌的云打印服务获得了一些成功。但我想知道,在提交打印作业时,是否有人有关于capabilities参数的信息,以及如何创建和使用这种格式的一些指针,我认为这种格式是ppd 我们已经能够通过使用返回打印机所有值的方法获得打印机的功能。问题是我们不太明白为了定义我们想要打印的功能选项,我们应该如何处理它。这将包括打印页面副本、纸张类型和打印质量的选项。我们可以接收的功能信息示例如下: { "name": "copies", "displayName": "Copies",

我们通过谷歌的云打印服务获得了一些成功。但我想知道,在提交打印作业时,是否有人有关于capabilities参数的信息,以及如何创建和使用这种格式的一些指针,我认为这种格式是ppd

我们已经能够通过使用返回打印机所有值的方法获得打印机的功能。问题是我们不太明白为了定义我们想要打印的功能选项,我们应该如何处理它。这将包括打印页面副本、纸张类型和打印质量的选项。我们可以接收的功能信息示例如下:

{
    "name": "copies",
    "displayName": "Copies",
    "type": "ParameterDef"
}

{
     "UIType": "PickOne",
     "name": "HPEconoMode",
     "displayName": "EconoMode",
     "type": "Feature",
     "options": [
      {
       "ppd:value": "\"\"",
       "default": true,
       "name": "PrinterDefault",
       "displayName": "Printer's Current Setting"
      },
      {
       "ppd:value": "\u003c\u003c/EconoMode true\u003e\u003e setpagedevice",
       "name": "True",
       "displayName": "Save Toner"
      },
      {
       "ppd:value": "\u003c\u003c/EconoMode false\u003e\u003e setpagedevice",
       "name": "False",
       "displayName": "Highest Quality"
      }
     ]
    }

GCP文件在这方面严重缺乏。无论如何,我已经设法找到发送打印机设置的正确参数是ticket,而不是capabilities。参数的第一部分与“打印”对话框中的基本设置相对应,它们非常容易解释,并且值很容易更改。供应商票据项目数组稍微复杂一些。它包含打印机功能描述的id/值对。id将包含功能中的参数名称,值将包含参数选项中某个记录的名称或数值等,如功能中所述

有关模式的详细信息,请查看我的

{
"version":"1.0",
 "print":{
    "color":{"vendor_id":"psk:Color","type":0},
    "duplex":{"type":0},
    "page_orientation":{"type":1},
    "copies":{"copies":1},
    "dpi":{"horizontal_dpi":600,"vertical_dpi":600},
    "media_size":{"width_microns":148000,"height_microns":210000,"is_continuous_feed":false},
    "collate":{"collate":true}
    ,
    "vendor_ticket_item":[
        //Printer specific settings here, from the capabilities:
        {"id":"psk:JobInputBin","value":"ns0000:Tray3"},
        {"id":"psk:PageICMRenderingIntent","value":"psk:Photographs"},
        {"id":"psk:PageMediaType","value":"ns0000:Auto"},
        {"id":"psk:JobOutputBin","value":"ns0000:Auto"},
        //etc.
    ]
 }
}