2012-10-04 28 views
2

當我沒有能力發送打印作業,這是工作和打印:Google雲打印。如何提交有效的功能?

<?php 
$url = "http://www.google.com/cloudprint/submit?printerid=" . $printer_id . &output=json"; 
     $post = array(
      "printerid" => $printer_id, 
      "capabilities" => '', 
      "contentType" => "text/plain", 
      "title" => $title, 
      "content" => $docBytes 
     ); 
     $post = http_build_query($post); 
     $ret = $this->processRequest($url, $post, ""); 
?> 

但現在我需要打印在A7格式的文字信息。所以我寫這個代碼的一些功能:

<?php 
$url = "http://www.google.com/cloudprint/submit?printerid=" . $printer_id . "&output=json"; 
     $post = array(
      "printerid" => $printer_id, 
      "capabilities" => array('psk:MediaSizeWidth' => '74000', 'psk:MediaSizeHeight' => '104700'), 
      "contentType" => "text/plain", 
      "title" => $title, 
      "content" => $docBytes 
     ); 

     $post = http_build_query($post); 
     $ret = $this->processRequest($url, $post, ""); 
?> 

而且它不想打印。只是錯誤。也許有人知道如何正確的方式來做到這一點?

回答

0

在我發現的GCP文檔中,只有Google Cloud Ready打印機支持該功能(打印格式,副本數量等)!

這時我發現只有一個這樣做的方法就是:配置在一次打印機的你的操作系統驅動程序設置在A7打印,它會在A7

總是打印
6

我目前正在執行無人值守打印一個使用雲打印的網絡應用程序,這已經過了漫長的一天!從谷歌對話(https://www.google.com/cloudprint/gadget.html)打印時,而是通過我的API搞砸了一切發送文件

一切正常(熱敏打印機上打印餐廳門票,結束了50釐米的上邊距)

到處尋找後在線,我意識到谷歌打印小工具是純html,使提交請求非常容易捕捉。只需開發你的開發工具,從對話框中打印一些東西,並檢查發佈數據的「功能」值。

令人困惑的部分是這些設置需要PPD格式,而不僅僅是一個普通的關聯數組。

您可以使用正確的設置從所需的打印機進行打印,然後複製「功能」部分,就像在您的API中一樣。作爲爲例,這裏是我的:

{"capabilities":[{"name":"TmtPaperSource","type":"Feature","options":[{"ppd:value":"\"\"","name":"PageFeedCut","displayName":"Page [Feed, Cut]"}]},{"name":"TmtPaperReduction","type":"Feature","options":[{"ppd:value":"\"\"","name":"Both","displayName":"Top & Bottom margins"}]}]} 

和格式化:

{ 
    "capabilities":[ 
     { 
      "name":"TmtPaperSource", 
      "type":"Feature", 
      "options":[{ 
       "ppd:value":"\"\"", 
       "name":"PageFeedCut", 
       "displayName":"Page [Feed, Cut]" 
      }] 
     }, 
     { 
      "name":"TmtPaperReduction", 
      "type":"Feature", 
      "options":[{ 
       "ppd:value":"\"\"", 
       "name":"Both", 
       "displayName":"Top & Bottom margins" 
      }] 
     } 
    ] 
} 

最後要注意的:你需要通過整個事情的「功能」參數,這意味着你的要求是一樣的東西.../submit?capabilities={capabilities:[...]},相當混亂!

+1

這是有價值的,很難得到的信息 - 謝謝!如果可以的話,我會多花點時間。作爲參考,我消除了我的請求對象中的「type」屬性,它工作正常。 – pettys