Show / Hide Table of Contents

Star CloudPRNT プロトコル開発者ガイド

はじめに

Star CloudPRNT はリモートサーバー(以下サーバー)からの印刷を可能とするプロトコルです。 遠隔地プリンタへの印刷を可能とするために、ユーザーは Star CloudPRNT プロトコルに従ったサーバーの用意が必要となります。

Star CloudPRNT は簡単な実装、及びセキュリティの確保が可能となるよう設計されています。汎用の http/https を使用することにより、 REST/JSON 及び汎用の印刷ジョブデータフォーマットを渡します。 それはウェブ開発者に良く知られる技術であり、接続のための特定のファイアウォールやポート開放、 トンネリングなどを必要としません。

概要

全ての Star CloudPRNT 通信はhttpプロトコルを利用して、任意のWebサーバーを用いることができます。 http POST メソッドを使用するクライアント(Star CloudPRNT 対応プリンタ)は一定時間(※1)毎に、 プリンタおよびプリンタに接続されている周辺機器デバイスの最新の状態を読み取り、この情報を含めたリクエストを サーバーに送信します。このリクエストに対して、サーバーは印刷可能な印刷ジョブの有無及び詳細を応答します。 クライアントはその後、http GET メソッドを使用し要求されたデータ形式にて印刷ジョブを取得します。 最後にクライアントは DELETE またはサーバーの印刷状態を知らせるエラーコード付き POST を応答します。 POSTに関するネゴシエーションはエンコードされた JSON 情報を使用します。また、http GET (エンコードされたURL パラメータを伴う)を使用し要求されたデータ形式で送信される印刷ジョブ要求および、http DELETE (エンコードされたURL パラメータを伴う)を使用し印刷ジョブに関する通知をする印刷完了通知要求は、JSON情報を使用しません。

(※1) Web Config UIの設定により時間間隔の調整が可能です。

Star CloudPRNTにおけるクライアントからの各リクエストに対する、サーバーからの各レスポンスの設定項目の概要は以下になります。(詳細は各POST、GET、DELETEのページを参照してください。)

メソッド レスポンスヘッダー レスポンスBody
POST HTTPステータスコード Star CloudPRNTで定義されたJSONデータ
GET HTTPステータスコード、Star CloudPRNTで定義されたカスタムヘッダー(オプション) クライアントから指定されたメディアタイプでエンコードされた印刷ジョブのためのコンテンツデータ (JSONデータは含みません)
DELETE HTTPステータスコード 無し (JSONデータは含みません)

また、サーバーからの各メソッドのレスポンスに関する各HTTPレスポンスステータスコードを受け取り後のプリンタの動作例は下記となります。

メソッド ステータスコード プリンタ動作
POST 200 サーバーからのレスポンスを解析し、内容に応じて各種リクエストを発行します。
印刷要求がない場合:
 特別な処理はせず、サーバーポーリング(POST)を継続します。
印刷要求がある場合:
 印刷ジョブリクエスト(GET)を発行します。
clientAction要求がある場合:
 clientAction要求の実施、及び結果を含めたサーバーポーリング(POST)を行います。
POST 200以外 サーバーからのレスポンスを解析せず、サーバーポーリング(POST)を継続します。
GET 200 印刷完了後、codeパラメータに200 OKを付加して印刷ジョブ完了確認(DELETE)を発行します。
GET 200以外 codeパラメータにエラーコード520(もしくは521)を付加して印刷ジョブ完了確認(DELETE)を発行します。
DELETE 200 / 200以外 サーバーポーリング(POST)を発行します。

印刷プロセス

Back to top