(57)【要約】【課題】  印刷装置に対しては文書に印刷命令を付けて送り、そうでない装置に対しては印刷命令は付けずに文書を送る。【解決手段】  文書の要求を外部装置から受信する受信手段と、前記外部装置が印刷装置であるか否かを判定する判定手段と、前記外部装置が印刷装置であると判定した場合に、印刷命令を付加した上で前記文書を当該印刷装置へ送信し、前記外部装置が印刷装置でないと判定した場合に、印刷命令を付加せずに前記文書を当該印刷装置へ送信する送信手段とを有することを特徴とするサーバ。【選択図】  図２
2014099132.tif 000002
【特許請求の範囲】
【請求項１】
文書の要求を外部装置から受信する受信手段と、
前記外部装置が印刷装置であるか否かを判定する判定手段と、
前記外部装置が印刷装置であると判定した場合に、印刷命令を付加した上で前記文書を当該印刷装置へ送信し、
前記外部装置が印刷装置でないと判定した場合に、印刷命令を付加せずに前記文書を当該印刷装置へ送信する送信手段とを有することを特徴とするサーバ。
【請求項２】
前記文書の要求はＨＴＴＰで行われ、
前記送信手段は、
前記外部装置が印刷装置であると判定した場合に、ＨＴＴＰで前記文書を後で送信する旨を前記印刷装置に送信し、その後、ＬＰＲで印刷命令の付加された前記文書を前記印刷装置に送信することを特徴とする請求項１に記載のサーバ。
【請求項３】
請求項２に記載された印刷装置であって、
ＨＴＴＰで前記文書を後で送信する旨を受信してから、ＬＰＲで印刷命令の付加された前記文書を受信するまで、文書を受信中である旨を示す表示を行うことを特徴とする印刷装置。
【請求項４】
文書の要求を外部装置から受信する受信工程と、
前記外部装置が印刷装置であるか否かを判定する判定工程と、
前記外部装置が印刷装置であると判定した場合に、印刷命令を付加した上で前記文書を当該印刷装置へ送信し、
前記外部装置が印刷装置でないと判定した場合に、印刷命令を付加せずに前記文書を当該印刷装置へ送信する送信工程とを有することを特徴とするサーバの制御方法。
【請求項５】
前記文書の要求はＨＴＴＰで行われ、
前記送信工程は、
前記外部装置が印刷装置であると判定した場合に、ＨＴＴＰで前記文書を後で送信する旨を前記印刷装置に送信し、その後、ＬＰＲで印刷命令の付加された前記文書を前記印刷装置に送信することを特徴とする請求項４に記載のサーバの制御方法。
【請求項６】
請求項５に記載された印刷装置の制御方法であって、
ＨＴＴＰで前記文書を後で送信する旨を受信してから、ＬＰＲで印刷命令の付加された前記文書を受信するまで、文書を受信中である旨を示す表示を行うことを特徴とする印刷装置の制御方法。
【請求項７】
請求項６に記載の印刷装置の制御方法をコンピュータに実行させるためのコンピュータよみとり可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置の要求に対して文書データを配信する文書配信システムに関する。
【背景技術】
【０００２】
ＱＲコード（登録商標）の印刷された簡易版パンフレットが普及し始めている。簡易版パンフレットの中味に興味を持ったユーザは、そのＱＲコード（登録商標）を携帯電話等の撮像機器で撮影し、ＱＲコード（登録商標）内のＵＲＬにアクセスし、詳細な情報を閲覧することになる（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−１１１９０９
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一方、撮像能力のある印刷装置でその（登録商標）を撮像した場合に、自動的にＵＲＬにアクセスした上で情報をダウンロードしさらには印刷するといった印刷装置は知られていない。
【課題を解決するための手段】
【０００５】
文書の要求を外部装置から受信する受信手段と、前記外部装置が印刷装置であるか否かを判定する判定手段と、前記外部装置が印刷装置であると判定した場合に、印刷命令を付加した上で前記文書を当該印刷装置へ送信し、前記外部装置が印刷装置でないと判定した場合に、印刷命令を付加せずに前記文書を当該印刷装置へ送信する送信手段とを有することを特徴とするサーバ。
【発明の効果】
【０００６】
印刷装置に対しては文書に印刷命令を付けて送り、そうでない装置に対しては印刷命令は付けずに文書を送ることができる。
【図面の簡単な説明】
【０００７】
【図１】本発明の実施例におけるシステム全体構成を示す図である。
【図２】本発明の実施例におけるシステム全体の動作を説明する図である。
【図３】ドキュメントサーバのハードウェア構成を示す図である。
【図４】ドキュメントサーバが表示する文書登録時のユーザインタフェースの一例である。
【図５】ドキュメントサーバの文書登録時の処理を説明するフローチャートである。
【図６】本実施例のサンプル画像と合成サンプル画像の例である。
【図７】ドキュメントサーバの文書配信時の処理の１例を説明するフローチャート。
【図８】本発明の印刷装置のハードウェア構成を示す図である。
【図９】印刷装置の処理の１例を説明するフローチャートである。
【図１０】本発明の実施例におけるシステム全体構成を示す図である。
【図１１】ドキュメントサーバの文書配信時の処理の１例を説明するフローチャート。
【図１２】印刷装置の処理の１例を説明するフローチャートである。
【発明を実施するための形態】
【０００８】
以下、図面を用いて本発明に係る実施形態を説明する。なお、以下で説明する実施形態は特許請求の範囲に係る発明を限定するものではなく、実施形態として説明されている全てが発明の解決手段になるとは限らない。
【０００９】
＜第一実施例＞
図１は本発明に係るドキュメント配信システムの全体像を示す図である。１１０は、配信する文書データを格納し、外部機器からの要求に従って格納している文書データを配信するドキュメントサーバである。１２０は印刷装置である。ドキュメントサーバ１１０と印刷装置１２０はネットワーク１００にて接続されている。この他ネットワーク１００には、ウェブサーバ、パーソナルコンピュータ、通信機能付き携帯端末等を接続することが可能である。また本発案の印刷装置が複数接続されていてもかまわない。
【００１０】
本実施例では、ドキュメントサーバに格納されている文書データへのリンク情報を含む２次元コードが付与された印刷物（以下サンプル用紙とする）を、印刷装置に備え付けられた撮像手段（例えば、カメラやスキャナ）にて撮像する。なお、以下では、カメラを例に説明を行うが、カメラ以外の撮像手段で代用できることは言うまでも無い。印刷装置は撮像された２次元コードを解析してドキュメントサーバを特定し、特定されたドキュメントサーバに対して該文書データの要求を行う。印刷装置から文書データの要求を受け付けたドキュメントサーバは、印刷装置に対して該文書データを印刷するための印刷ジョブを生成して送信し、印刷装置は該印刷ジョブの処理を行う。
【００１１】
図２は本実施例におけるドキュメント配信システムの動作の概略を示す。パーソナルコンピュータ１３０は、配信予定の文書データをドキュメントサーバ１１０に登録するための要求を行う（登録要求）。登録要求を受けたドキュメントサーバ１１０は、登録する文書データの情報を入力させるための登録用コンテンツをパーソナルコンピュータ１３０に送信する（登録用コンテンツの配信）。登録用コンテンツが配信されたパーソナルコンピュータ１１０は、登録する文書データの情報の入力を受け付けて、入力された情報をドキュメントサーバ１１０に送って登録処理の開始を指示する（登録実行）。印刷装置１２０は、登録された文書データをドキュメントサーバ１１０に要求する（配信要求）。配信要求を受けたドキュメントサーバ１１０は、印刷装置１２０に文書データを配信する（文書配信）。
【００１２】
本実施例において、サンプル用紙に印刷されている２次元コードに含まれている情報はＵｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ（ＵＲＬ）形式の文字列とする。また本実施例において、サンプル用紙には、サンプル画像と２次元コード画像とが印刷されているものとする。ここでサンプル画像は、何でも良いが、ドキュメントサーバに格納されている前記文書データの要約であったりする。即ち、簡易版パンフレットであったりする。
【００１３】
また本実施例において、印刷装置からドキュメントサーバに対して文書の要求を行うために、Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ（ＨＴＴＰ）を用いる。また本実施例において、ドキュメントサーバから印刷装置に印刷ジョブを送信する際は、Ｌｉｎｅ  Ｐｒｉｎｔｅｒ  Ｄａｅｍｏｎ  Ｐｒｏｔｏｃｏｌ（ＬＰＲ）を用いる。
【００１４】
なお以下の説明において、ＨＴＴＰリクエストとは、ＨＴＴＰで規定された方法で、あるネットワークに接続された情報処理装置が送信する、別の情報処理装置に処理を要求するための情報を示す。またＨＴＴＰレスポンスとは、ＨＴＴＰリクエストを受信した情報処理装置が要求元に対して送信する、要求された処理の結果を示す。ＨＴＴＰリクエストとして送信する内容やＨＴＴＰレスポンスとして送信する情報には、ヘッダフィールドと呼ばれる、複数の各種情報を埋め込むためのデータ領域を含めることができる。またＨＴＴＰレスポンスには、ＨＴＴＰリクエストを送信した情報処理装置上で動作するブラウザで表示等を行うため情報を付与することができる。以下の説明では、このＨＴＴＰリクエストに付与された情報をＨＴＴＰレスポンスコンテンツと呼ぶ。
【００１５】
（ドキュメントサーバの説明）
以下本実施例におけるドキュメントサーバについて、図を用いて説明する。
【００１６】
図３はドキュメントサーバのハードウェア構成を示す図である。ＣＰＵ３０１はＲＯＭ３０２やハードディスク３０５に格納された各種制御プログラムをＲＡＭ３０４に読み出して実行し、読みだされた制御プログラムに従ってドキュメントサーバ全体を制御する。ＲＯＭ３０２は制御プログラムなどを格納する。ネットワークインタフェース３０３はネットワークを介して外部装置と通信する。ＲＡＭ３０４はＣＰＵ３０１の主メモリであり、一時記憶としても用いられる。ハードディスク２０６は各種制御プログラムのほか、配信予定の文書データを格納する。システムバス３００は各デバイスを電気的に接続する。
【００１７】
本実施例のドキュメントサーバは、ハードディスク３０５にウェブサーバプログラムを格納する。ドキュメントサーバの電源投入時に、ＣＰＵ３０１は上記ウェブサーバプログラムをＲＡＭ３０４に読み出して実行する。
【００１８】
上記ウェブサーバプログラムは、ネットワークインタフェース３０３を制御して、ＨＴＴＰリクエストを解析して様々な処理を行う。たとえばＨＴＴＰリクエストがＨＴＭＬコンテンツを要求するものであれば、該ＨＴＭＬコンテンツを要求元に送信するようにネットワークインタフェース３０３を制御する。また、ＨＴＴＰリクエストがプログラムの実行を要求するものであれば、該プログラムを実行して、その結果を要求元に送信するようにネットワークインタフェース３０３を制御する。ウェブサーバプログラムが他のプログラムを実行するための仕組みはＣＧＩ（Ｃｏｍｍｏｎ  Ｇａｔｅｗａｙ  Ｉｎｔｅｒｆａｃｅ）と呼ばれ、公知の技術である。
【００１９】
ドキュメントサーバで動作するウェブサーバプログラムは、３種類のＨＴＴＰリクエストを、ネットワークインタフェース３０３を制御することで受信する。１つ目は配信予定の文書データを指定するためのＨＴＭＬコンテンツを表示するためのＨＴＴＰリクエストである（図２の登録要求）。２つ目は該文書データを配信するために必要な処理を実行するプログラム（以下文書登録プログラムと呼ぶ）を実行するためのＨＴＴＰリクエストである（図２の登録実行）。３つ目は文書データの配信処理を行うプログラム（以下文書配信プログラムと呼ぶ）を実行するためのＨＴＴＰリクエストである（図２の配信要求）。上記のＨＴＴＰリクエストにはそれぞれ異なるＵＲＬを割り当てる。登録要求と登録実行に対応するＨＴＴＰリクエストはドキュメントサーバ自身のＵＲＬを含む、固定的なＵＲＬを割り当てる。文書配信に対応するＨＴＴＰリクエストには、文書登録プログラムが配信する文書毎に異なるＵＲＬを割り当てる。また上記ＨＴＭＬコンテンツとプログラムはハードディスク３０５に格納されている。
【００２０】
最初に、図２の登録要求時のドキュメントサーバの動作、すなわちドキュメントサーバが配信予定の文書データを指定するためのＨＴＭＬコンテンツを表示するためのＨＴＴＰリクエストを受信した時の動作について説明する。
【００２１】
ＨＴＴＰリクエストを受け付けたウェブサーバプログラムは、文書データを指定するためのＨＴＭＬコンテンツを、ネットワークインタフェース３０３を制御して要求元に送信する（２の登録用コンテンツの配信）。ここで送信するＨＴＭＬコンテンツは予めハードディスク３０５に格納され、配信予定の文書データ等を指定するためのフォーム要素が含まれている。ここでフォーム要素とは、ウェブブラウザ上で指定した情報を受信するプログラムや、入力情報を送信するための方法を指定する、ＨＴＭＬコンテンツの要素である。本実施例において、上記フォーム要素には、上述の文書登録プログラムを指定する。
【００２２】
続いて、図２の登録用コンテンツの配信により、パーソナルコンピュータ１３０上で動作するウェブブラウザが表示する画面の一例について説明する。
【００２３】
図４の４００は、上述のＨＴＭＬコンテンツによって、要求元のウェブブラウザに表示される画面の一例である。図４の４０１と４０２は配信予定の文書データを指定するためのコントロールである。４０２はボタンであり、このボタンが押下されると、ウェブブラウザを実行している情報機器がアクセス可能なファイルを選択するためのダイアログを表示する。４０１には選択された文書データのファイル名が表示される。４０３は上述したサンプル用紙に印刷されるサンプル画像を選択するためのコントロールである。本実施例では、サンプル画像を４０１に選択されている文書中の、コントロール４０４で指定するページ（例えば、第１頁目）の画像とするか、あるいはパーソナルコンピュータ上の他の画像ファイル（例えば、文書データの要約内容）とするか選択させる。４０５，４０６はサンプル画像の画像を選択するためのコントロールである。４０６はボタンであり、このボタンが押下されるとウェブブラウザを実行している情報機器がアクセス可能なファイルを選択するためのダイアログを表示する。４０５には選択されたサンプル画像のファイル名が表示される。４０７ドキュメントサーバが印刷ジョブを生成する際に参照する印刷パラメータを設定するためのダイアログを表示するためのボタンである。ここで印刷ジョブを生成する際に参照する印刷パラメータとは、例えば出力用紙の指定や両面印刷、ページ集約印刷、カラーモード設定等である。４０８は上述のフォーム要素で指定されたプログラムに上記各コントロールに入力された情報を送信するためのボタンである。
【００２４】
なおドキュメントサーバで受け付けることが可能な文書データの種類は、ドキュメントサーバ上で動作するアプリケーションの種類に限定される。しかし、ドキュメントサーバは通常のパーソナルコンピュータと同様、容易に新しいアプリケーションを導入できる。つまり、ドキュメントサーバで受け付けることが可能な文書の種類は、容易に増やすことができる。なお、これらのアプリケーションはハードディスク３０５に格納されている。また、ハードディスク３０５には、印刷装置１２０の印刷ジョブを生成するためのプリンタドライバも格納されている。ドキュメントサーバは上記アプリケーションとプリンタドライバを利用して印刷ジョブの生成を行う。プリンタドライバはネットワークで接続されている印刷装置１２０の機種やバージョンによって複数存在する。
【００２５】
図４のボタン４０８が押下されると、上述したフォーム要素の指定に従い、ウェブブラウザは、上述した上記ドキュメントサーバに対して文書登録プログラムの実行を要求するＨＴＴＰリクエストを送信する。すなわち図２の登録実行処理が開始する。この時、ウェブブラウザは、上述の入力情報を該プログラムに送信する。
【００２６】
続いて、図２の登録実行時のドキュメントサーバの動作、すなわちドキュメントサーバが文書登録プログラムを実行するためのＨＴＴＰリクエストを受信したときの動作について説明する。
【００２７】
文書登録プログラムを実行するためのＨＴＴＰリクエストをネットワークインタフェース３０３で受信すると、ウェブサーバプログラムは文書登録プログラムをハードディスク３０５からＲＡＭ３０４に読みこみ、ＣＰＵ３０１にて実行を開始するように制御する。またウェブサーバプログラムは、ネットワークインタフェース３０３で受信した、ウェブアクセス要求元のウェブブラウザから送られた入力情報をＲＡＭ３０４もしくはハードディスク３０５に格納する。
【００２８】
図５のフローチャートは、文書登録プログラムの動作を説明するためのフローチャートである。前述のとおり、このプログラムはＣＰＵ３０１にて実行される。
【００２９】
まず文書登録プログラムは登録する文書データ毎に割り当てるＵＲＬを決定する（Ｓ５０１）。例えばドキュメントサーバ自身を示すＵＲＬに、登録文書データ毎に一意になる識別子を結合した文字列をＵＲＬとする。続いて文書登録プログラムは、ＲＡＭ３０４もしくはハードディスク３０５に格納されている上述の入力情報（文書データやサンプル画像等）をハードディスク３０５に格納する（Ｓ５０２）。図４の４０５にてサンプル画像ファイルが選択されなかった場合、文書登録プログラムは図４の４０４で指定されたページの画像をハードディスク３０５に格納された文書データからＲＡＭ３０４上に形成する。その後、文書登録プログラムは上記形成された画像をハードディスク３０５に格納する（Ｓ５０３，Ｓ５０４）。続いて文書登録プログラムはＳ５０１で決定したＵＲＬを符号化した２次元コード画像を形成し、ＲＡＭ３０４に格納する（Ｓ５０５）。続いて文書登録プログラムはハードディスク３０５に格納されたサンプル画像をＲＡＭ３０４に読み出し、Ｓ５０５で形成した２次元コード画像と合成した合成サンプル画像に変換し（Ｓ５０６）、ハードディスク３０５に格納する（Ｓ５０７）。続いて文書登録プログラムはＳ５０１で決定したＵＲＬに対してアクセスがあった際に、上述の文書配信プログラムが実行できるようにルーティングの設定を行う（Ｓ５０８）。すなわち文書登録プログラムはウェブサーバプログラムの設定を、Ｓ５０１で決定したＵＲＬに対するＨＴＴＰリクエストの受信に対して、Ｓ５０２で格納した文書データに対して上述の文書配信プログラムが実行されるように設定を変更する。続いて文書登録プログラムは、要求元に対してＳ５０７で形成した合成サンプル画像データを、ネットワークインタフェース３０３を制御して、ＨＴＴＰレスポンスとして送信する（Ｓ５０９）。処理が終了すると、ＣＰＵ３０１はウェブサーバプログラムの実行を再開し、ＨＴＴＰリクエストの受信を続行する。
【００３０】
本実施例において、上記で説明した各種データの送受信はＨＴＴＰで定められた方法を用いる。すなわち文書データの送受信はＰＯＳＴメソッドもしくはＰＵＴメソッドを使い、合成サンプル画像はＨＴＴＰレスポンスコンテンツに画像データ、もしくは画像データへのリンク情報を含めることで送受信を行う。
【００３１】
図６の６００は図４の４０５、４０６で指定するサンプル画像、あるいはＳ５０４にて形成したサンプル画像の例である。図６の６１０はＳ５０６にて生成された合成サンプル画像の例であり、６１１はＳ５０５にて生成した２次元コード画像の例である。
【００３２】
利用者は、上記処理の結果受信した合成サンプル画像データを印刷し、サンプル文書として他の利用者に渡す。サンプル文書を受け取った利用者は、印刷装置１２０もしくは通信機能付き携帯端末等を操作して、サンプル画像上の２次元コードの読み取りを行う。２次元コードを読み取った印刷装置１２０もしくは通信機能付き携帯端末は、読み取った２次元コードに含まれるＵＲＬに対してＨＴＴＰリクエストを送信する。
【００３３】
続いて、図２における配信要求時のドキュメントサーバの動作について説明する。
【００３４】
上述したように、サンプル画像上の２次元コードには、ドキュメントサーバで文書配信プログラムを実行するためのＵＲＬが符号化されている。このため、上述のドキュメントサーバのネットワーク３０３は、このＵＲＬに対するＨＴＴＰリクエストを受信する。        
【００３５】
ネットワーク３０３で受信したＨＴＴＰリクエストは、ドキュメントサーバ上で動作するウェブサーバプログラムにて処理される。
【００３６】
上記ＨＴＴＰリクエストを受信したウェブサーバプログラムは、文書配信プログラムをハードディスク３０５からＲＡＭ３０４に読み込み、ＣＰＵ３０１にて実行を開始するように制御する。この際ウェブサーバプログラムは、ＨＴＴＰリクエストのヘッダフィールドをＲＡＭ３０４に格納する。
【００３７】
図７はドキュメントサーバで実行される文書配信プログラムのフローチャートである。前述のとおり、このプログラムはＣＰＵ３０１にて実行される。
【００３８】
まず文書配信プログラムは、配信要求された文書データがハードディスク３０５内に存在するか確認する（Ｓ７０１）。ハードディスク３０５に文書データがある場合、文書配信プログラムはＲＡＭ３０４に格納されたＨＴＴＰリクエストのヘッダフィールドを解析する（Ｓ７０２）。ＨＴＴＰリクエストにはさまざまなヘッダフィールドを設定することが可能である。例えばＦｒｏｍヘッダにはＨＴＴＰリクエストを送信した情報機器特有の情報を埋め込むことができる。またＵｓｅｒ−ＡｇｅｎｔヘッダにはＨＴＴＰリクエスト発行元のウェブブラウザの種類などの情報を埋め込むことができる。本実施例においては、印刷装置１２０はＦｒｏｍヘッダに印刷装置のＩＰアドレス、Ｕｓｅｒ−Ａｇｅｎｔヘッダに印刷装置の機種名やバージョンの情報を埋め込む。このため文書配信プログラムはＨＴＴＰリクエストを送信したのが印刷装置１２０であるか否か判断できる。続いて文書配信プログラムは上記ＨＴＴＰリクエストに対するＨＴＴＰレスポンスコンテンツを作成し、ＲＡＭ３０４もしくはハードディスク３０５に格納する。ここで文書配信プログラムは、Ｓ７０２の結果に従いＨＴＴＰレスポンスコンテンツの作成を行う。すなわち、上記ＨＴＴＰリクエストが印刷装置１２０からなされたものであれば、文書配信プログラムは予め定められた規則に従ったＨＴＴＰレスポンスコンテンツを作成する。ここで作成するＨＴＴＰレスポンスについては後述する。一方、上記ＨＴＴＰリクエストが印刷装置１２０以外から送信されたと判断した場合、要求された文書データそのもの、もしくは文書データへのリンクを含むＨＴＭＬ文書を作成する。文書配信プログラムは、このようにして作成されたＨＴＴＰレスポンスコンテンツを、ネットワークインタフェース３０３を制御して、要求元に送信する（Ｓ７０３）。続いて文書配信プログラムは、Ｓ７０２の解析結果から上記ＨＴＴＰリクエストが印刷装置１２０から送信されたか否かを判定する（Ｓ７０４）。印刷装置１２０から送信された判断した場合、文書配信プログラムは文書データを印刷するための印刷ジョブをＲＡＭ３０４に生成する。続いて文書配信プログラムは、該印刷ジョブデータを、ネットワークインタフェース３０３を制御して印刷装置１２０に送信する（Ｓ７０５）。この処理が図２の文書配信である。ここで文書配信プログラムは、Ｓ７０２にて解析した情報に従い印刷ジョブの生成を行う。すなわち、文書配信プログラムは、印刷ジョブの生成に利用する各種アプリケーションとプリンタドライバを制御して印刷ジョブの生成を行う。また、図４の４０７で指定する印刷パラメータがハードディスク３０５に格納している場合には、それも参照する。印刷ジョブの生成については本発明と直接関係がないため説明を省略する。文書配信プログラムは、上述のように生成した印刷ジョブをＳ７０２で解析したＦｒｏｍヘッダが示す印刷装置のＩＰアドレスに対し、ＬＰＲを用いて送信するようにネットワークインタフェース３０３を制御する。
【００３９】
なおＨＴＴＰリクエストに対応する文書がドキュメントサーバ内に存在しない場合、文書配信プログラムはＨＴＴＰステータスコードにてエラーを通知するようにネットワークインタフェース３０３を制御する（Ｓ７０６）。
【００４０】
文書配信プログラムが作成する、予め定められた規則に従ったＨＴＴＰレスポンスコンテンツについて説明する。
【００４１】
印刷装置１２０はドキュメントサーバが送信する、ＨＴＴＰレスポンスコンテンツにより、ＨＴＴＰレスポンスを送信したサーバがドキュメントサーバであることを確認する。このためＳ７０３で生成する印刷装置１２０に送信するＨＴＴＰレスポンスコンテンツには、印刷装置１２０とドキュメントサーバのみが共有している情報を設定する。例えばレスポンスコンテンツ先頭に予め定められたマジックナンバーを設定する。すなわち印刷装置は受信したＨＴＴＰレスポンスに上記マジックナンバーが含まれているか否かを、パターンマッチング等で判定する。
【００４２】
（印刷装置の説明）
続いて印刷装置１２０について図を用いて説明する。図８は本実施例における印刷装置１２０のハードウェア構成を示す図である。
【００４３】
ＣＰＵ８０１はＲＯＭ８０２やハードディスク８０６に格納されたプリンタ制御プログラムをＲＡＭ８０３に読み出して実行し、プリンタ制御プログラムに従って印刷装置１２０全体を制御する。ＲＯＭ８０２は上記プリンタ制御プログラムなどを格納する。ＲＡＭ８０３はＣＰＵ８０１の主メモリであり、一時記憶領域としても用いられる。さらに、ＲＡＭ８０３は印刷ジョブ情報やそのジョブで処理されるべきジョブデータ等を格納する。なおハードディスク８０６がＲＡＭ８０３の代わりに、これらの情報を格納してもよい。ネットワークインタフェース８０４はネットワークを介して外部装置と通信する。操作部８０５はハードウェアキーやタッチパネル付き液晶ディスプレイなどを含む。カメラ８０７は撮像範囲にかざされた用紙を撮影する。スキャナ８０８はスキャンジョブに従って原稿を読み取り、画像データを生成する。プリンタ８０９は、外部装置から印刷装置に投入された印刷ジョブに従って、印刷データをシートに印刷する。また、プリンタ８０９はコピージョブに従ってスキャナ８０８によって生成された画像データをシートに印刷する。ユーザが操作部８０５でコピーの実行指示を入力すると、コピージョブが印刷装置１２０に投入される。システムバス８００はこれらのデバイスを電気的に接続する。
【００４４】
プリンタ制御プログラムの動作について説明する。
【００４５】
図９はプリンタ制御プログラムのフローチャートである。上述したとおり、プリンタ制御プログラムはＣＰＵ８０１にて実行される。
【００４６】
起動すると、まずプリンタ制御プログラムは、カメラ８０７を制御して撮像処理を行い、撮像処理によって得たビットマップ画像をＲＡＭ８０３に格納する。続いてプリンタ制御プログラムは、上記ビットマップ画像の画像解析を行い、該ビットマップ画像に２次元コードが含まれているか検出を行う（Ｓ９０１）。プリンタ制御プログラムは２次元コードを検出するまで上記処理を繰り返す。２次元コードを検出した場合、プリンタ制御プログラムはＳ９０１で検出した２次元コードのデコードを行う（Ｓ９０２）。デコード結果がＵＲＬであった場合（Ｓ９０３）、プリンタ制御プログラムはＳ９０２でデコードしたＵＲＬに対し、ＨＴＴＰリクエストを送信するようにネットワークインタフェース８０４を制御する（Ｓ９０４）。この処理が図２の配信要求である。このとき、プリンタ制御プログラムは、ＨＴＴＰのヘッダフィールドのＦｒｏｍヘッダにネットワークインタフェース８０４のＩＰアドレスを設定する。またプリンタ制御プログラムは、ＨＴＴＰのヘッダフィールドのＵｓｅｒ−Ａｇｅｎｔヘッダにプリンタ８０９の機種名やバージョンの情報を設定する。同時にプリンタ制御プログラムは、ＨＴＴＰリクエスト処理を送信したことを表すメッセージを、操作部８０５に備え付けられた液晶ディスプレイ上に表示する。続いてプリンタ制御プログラムは、ＨＴＴＰレスポンス及びＨＴＴＰレスポンスコンテンツの受信を行うようにネットワークインタフェース８０４を制御する（Ｓ９０５）。受信したＨＴＴＰレスポンス及びＨＴＴＰレスポンスコンテンツはＲＡＭ８０３に格納する。続いてプリンタ制御プログラムは、ＨＴＴＰレスポンスに含まれるＨＴＴＰステータスの値を確認する。ＨＴＴＰステータスには様々な種類が定義されているが、本実施例ではＨＴＴＰリクエストの成功を示す正常値と、ＨＴＴＰリクエストの失敗を示す非正常値のみを取り扱う。ＨＴＴＰステータスが正常値である場合（Ｓ９０６）、プリンタ制御プログラムはＲＡＭ８０３に格納したレスポンスコンテンツの解析を行う（Ｓ９０７）。Ｓ９０７の解析の結果、レスポンスコンテンツの送信元がドキュメントサーバ１１０であると判断した場合、プリンタ制御プログラムは、ネットワークインタフェース８０４が印刷ジョブを受信するのを、予め決められた時間まで待つ（Ｓ９０９）。ネットワークインタフェース８０４が印刷ジョブを受信すると、プリンタ制御プログラムは該印刷ジョブをＲＡＭ８０３に格納して解析し、プリンタ８０９を制御することで印刷処理を行う（Ｓ９１０）。印刷ジョブを解析して印刷処理を行う処理については公知の技術であるため、説明は省略する。
【００４７】
Ｓ９０３でデコードした２次元コードがＵＲＬ以外の場合、プリンタ制御プログラムは印刷処理が行われないことを利用者に通知する（Ｓ９１１）。例えばプリンタ制御プログラムは、操作部８０５に備え付けられた液晶ディスプレイに２次元コードをデコードした文字列を表示するように制御を行う。あるいは不図示のスピーカーからビープ音をならすように制御してもよい。
【００４８】
Ｓ９０６でＨＴＴＰステータスが非正常値であった場合、プリンタ制御プログラムは印刷処理が行われないことを利用者に通知する（Ｓ９１２）。例えばプリンタ制御プログラムは操作部８０５に備え付けられた液晶ディスプレイにＨＴＴＰステータスを表示するように制御を行う。あるいは不図示のスピーカーからビープ音をならすように制御してもよい。
【００４９】
Ｓ９０８でＨＴＴＰレスポンスがドキュメントサーバ１１０以外から送られたと判断した場合、プリンタ制御プログラムは印刷処理が行われないことを利用者に通知する（Ｓ９１３）。例えばプリンタ制御プログラムは操作部８０５に備え付けられた液晶ディスプレイに受信したＨＴＴＰレスポンスコンテンツをレンダリングして表示するように制御を行う。一方、Ｓ９０８でＨＴＴＰレスポンスがドキュメントサーバ１１０から送られたと判断した場合、プリンタ制御プログラムは「文書を受信中である」旨を利用者に通知する。例えば、液晶ディスプレイにその旨を表示する。
【００５０】
Ｓ９１０で印刷ジョブの受信にタイムアウトが発生した場合、プリンタ制御プログラムは印刷が行われないことを利用者に通知する（Ｓ９１４）。例えばプリンタ制御プログラムは操作部８０５に備え付けられた液晶ディスプレイにＨＴＴＰリクエストしたＵＲＬを示す文字列と、タイムアウトが発生したことを伝えるメッセージを表示するように制御を行う。
【００５１】
以上説明したように、本発明における文書配信システムは、ＵＲＬを符号化した２次元コードをサンプル画像データとするので、ネットワーク１００上に複数のドキュメントサーバが接続されていても、正しいドキュメントサーバに対してアクセスすることができる。また文書データの要求にＨＴＴＰを用いるため、上述したＵＲＬが符号化されている２次元コードを読み取ることができる通信機能付き携帯端末やパーソナルコンピュータ等上のウェブブラウザからＨＴＴＰリクエストを送信することができる。またドキュメントサーバはＨＴＴＰリクエストを送信した情報処理装置が印刷機であるか否かを判断してＨＴＴＰレスポンスコンテンツを作成するので、通信機能付き携帯端末やパーソナルコンピュータ等に対して適切な形式で文書データを送信することができる。
【００５２】
またドキュメントサーバから印刷装置に印刷ジョブを送るためにＬＰＲを利用しているため、印刷装置はドキュメントサーバからの印刷ジョブ投入に対応するために特別な装置や処理を追加する必要がない。
【００５３】
また印刷装置は、ＵＲＬ以外の情報がデコードされた２次元コードを読みこむとエラー処理を行う。例えばサンプル画像にもともと２次元コード画像が含まれていた場合で、該２次元コードを復号化した結果がＵＲＬでない場合は、利用者に文書データの配信が行われないことを利用者に通知することができる。
【００５４】
また印刷装置は、受信したＨＴＴＰレスポンスを送信した装置が、本発明のドキュメントサーバであるか否かを判断する。このためドキュメントサーバ以外のウェブサーバに対してＵＲＬにＨＴＴＰリクエストを送信した場合、タイムアウトを待つことなく文書データの配信が行われないことを利用者に通知することができる。
【００５５】
また印刷装置は、ドキュメントサーバから送信されるＨＴＴＰリクエストのヘッダフィールドを解析して機種名やバージョンを判断するので、複数の種類の印刷装置に対して本技術を適用することが可能である。
【００５６】
上記おいて、ドキュメントサーバはアプリケーションとプリンタドライバを用いて印刷ジョブの生成を行った。しかし印刷装置が直接処理できるフォーマットをもつ文書データを要求した場合、直接文書データをＬＰＲにて該印刷装置に送信するようにしてもよい。この場合、上述の印刷ジョブを生成する際に参照する印刷パラメータを受信していたとしても、その設定は無視される。あるいは文書データを該印刷パラメータに従って文書データを編集し、編集した文書データを印刷装置に送信するようにしてもよい。なお、ＬＰＲで文書データを印刷装置に送信される際には、当然、文書データに印刷命令が付加された形で送信することになる。
【００５７】
また上記において、ドキュメントサーバは印刷装置以外からＨＴＴＰリクエストがある毎にＨＴＴＰレスポンスコンテンツを生成したが、一度印刷装置以外のためレスポンスコンテンツを作成したら、それを使いまわすようにしてもよい。あるいは文書登録時に印刷装置以外のためのレスポンスコンテンツを作成しても構わない。これは印刷装置以外のためのレスポンスコンテンツは、必ずしも要求元に応じて変更する必要がないためである。
【００５８】
また本実施例の印刷装置のプリンタ制御プログラムは、起動後に２次元コードの検出の検出処理を開始したが、別のタイミングで開始しても構わない。例えばカメラ８０７の撮像範囲内の明るさの変化をＣＰＵ８０１に通知するセンサを設け、該センサが明るさの変化を通知したら２次元コードの検出を開始してもよい。このように構成することで、２次元コードの検出処理の回数を減らすことができるため、ＣＰＵ８０１やカメラ８０７の駆動に必要な電力を抑えることができる。
【００５９】
また印刷装置のプリンタ制御プログラムは、ドキュメントサーバ以外からＨＴＴＰレスポンスコンテンツを受信した際、液晶ディスプレイにメッセージを表示すると同時に、受信したコンテンツを印刷処理するようにプリンタ８０９を制御してもよい。
【００６０】
＜第２実施例＞
上述した第１実施例ではドキュメントサーバが印刷装置に対して印刷ジョブをＬＰＲプロトコル送信した。本実施例ではドキュメントサーバは印刷ジョブの生成を行い、印刷装置に対してＨＴＴＰレスポンスコンテンツに印刷ジョブデータを含めて送信し、印刷装置はレスポンスコンテンツに含まれる印刷ジョブデータを抽出し、自身に対して印刷ジョブデータを送信する。
【００６１】
図１０は本実施例のドキュメント配信システムの全体像を示す図である。１００１は配信する文書データを格納するドキュメントサーバ、１０１１は文書データを要求して印刷を行う印刷装置である。ドキュメントサーバ１００１は広域ネットワーク１０００に接続され、印刷装置１０１１はローカルネットワーク１０１０に接続されている。広域ネットワーク１０００とローカルネットワーク１０１０はルータ１０１２にて接続されている。広域ネットワーク１０００或いはローカルネットワーク１０１０には、ウェブサーバ、パーソナルコンピュータ、通信機能付き携帯端末等を接続することが可能である。
【００６２】
（ドキュメントサーバの説明）
続いて本システムにおけるドキュメントサーバについて図を用いて説明する。本実施例におけるドキュメントサーバのハードウェア構成は図３と同じであるため説明は省略する。また上述した実施例と同様、本実施例におけるドキュメントサーバのＣＰＵ３０１はウェブサーバプログラムを実行する。また本実施例におけるドキュメントサーバも上述の実施例と同じ３つの要求を、ネットワークインタフェース３０３で受信する。配信予定の文書データを指定するためのＨＴＭＬコンテンツを表示するための要求については上述した実施例と同じであるため説明は省略する。また、文書登録プログラムについても、上述した実施例と同じであるため説明は省略する。
【００６３】
本実施例における図２の文書配信時のドキュメントサーバの動作について説明する。図１１はドキュメントサーバで実行される情報処理のフローチャートである。文書配信プログラムはＣＰＵ３０１で実行される。
【００６４】
文書配信プログラムを実行するためのＨＴＴＰリクエストをネットワークインタフェース３０３で受信すると、ウェブサーバプログラムは、文書配信プログラムをハードディスク３０５からＲＡＭ３０４に読み込み、ＣＰＵ３０１にて実行を開始するように制御する。この際ウェブサーバプログラムは、ＨＴＴＰリクエストに埋め込まれているヘッダフィールドをＲＡＭ３０４に格納する。
【００６５】
まず文書配信プログラムは、配信要求された文書データがハードディスク３０５内に存在するか確認する（Ｓ１１０１）。ハードディスク３０５内に文書データがある場合、文書配信プログラムはＲＡＭ３０４に格納されたＨＴＴＰリクエスト情報のヘッダフィールドの解析を行う（Ｓ１１０２）。続いて文書配信プログラムは、上記ＨＴＴＰリクエストが印刷装置１２０から送信されたか否かを判定し（Ｓ１１０３）、印刷装置から送信されたと判断した場合には、文書データに印刷命令を付加した状態のデータ（印刷ジョブデータ）を生成する（Ｓ１１０４）。ここで文書配信プログラムは、Ｓ１１０２にて解析した情報を用いて、利用するアプリケーションとプリンタドライバを制御して印刷ジョブデータを生成する。また、図４の４０７で指定する印刷パラメータがハードディスク３０５に格納している場合は、それも参照する。生成したジョブはＲＡＭ３０４もしくはハードディスク３０５に格納される。続いて文書配信プログラムは、受信したＨＴＴＰリクエストに対するＨＴＴＰレスポンスコンテンツの作成を行い、ＲＡＭ３０４もしくはハードディスク３０５に格納する（Ｓ１１０５）。ここでＳ１１０４にて印刷ジョブデータを生成した場合、文書配信プログラムは印刷ジョブデータを含めるようにＨＴＴＰレスポンスコンテンツを生成する。本実施例においてＨＴＴＰレスポンスコンテンツはＸＭＬ形式にて記述する。一方印刷ジョブデータが形成されていない場合、文書配信プログラムは、文書データそのもの、もしくは要求された文書データへのリンクを含むＨＴＭＬもしくはＸＭＬ文書をＨＴＴＰレスポンスコンテンツとして作成する。文書配信プログラムは、以上のように生成したＨＴＴＰレスポンスコンテンツを、ネットワークインタフェース３０３を制御して送信する（Ｓ１１０５）。即ち、印刷命令が付加されていない状態でＨＴＴＰレスポンスコンテンツを送信する。文書配信プログラムは、ＨＴＴＰレスポンスのＵｓｅｒ−Ａｇｅｎｔヘッダに予め定めておいたマジックナンバーを設定する。印刷装置１０１１は、ＨＴＴＰレスポンスのＵｓｅｒ−ＡｇｅｎｔヘッダによってＨＴＴＰレスポンスを送信した装置がドキュメントサーバであることを判断する。
【００６６】
なおＨＴＴＰリクエスト受信時に、指定されたＵＲＬに対応する文書がドキュメントサーバ内に存在しない場合、文書配信プログラムはＨＴＴＰステータスコードにて要求元にエラーを通知するようにネットワークインタフェース３０３を制御する（Ｓ１１０６）。
【００６７】
（印刷装置の説明）
続いて本システムにおける印刷装置１０１１について図を用いて詳細に説明する。本実施例における印刷装置のハードウェア構成は図８と同じであるため説明は省略する。
【００６８】
図１２は本実施例におけるプリンタ制御プログラムのフローチャートである。プリンタ制御プログラムはＣＰＵ８０１にて実行される。
【００６９】
図１２のフローチャートのＳ１２０１及至Ｓ１２０４は、図９のフローチャートのＳ９０１及至Ｓ９０４と同じであるため説明を省略する。Ｓ１２０５にて、プリンタ制御プログラムはＨＴＴＰレスポンスの受信を行うようにネットワークインタフェース８０４を制御するが、ここではＨＴＴＰレスポンスコンテンツの受信を行わず、ＨＴＴＰレスポンスヘッダフィールドまで受信を行う。受信したデータはＲＡＭ８０３に格納される。ドキュメントサーバ１００１はＨＴＴＰレスポンスのＵｓｅｒ−Ａｇｅｎｔヘッダにマジックナンバーを設定する。このためプリンタ制御プログラムはＨＴＴＰレスポンスコンテンツを受信しなくても、ＨＴＴＰレスポンスを送信した装置がドキュメントサーバであることを判断できる。続いてプリンタ制御プログラムは、ＨＴＴＰレスポンスに含まれるＨＴＴＰステータスの値を確認する（Ｓ１２０６）。ＨＴＴＰステータスは様々な種類が定義されているが、本実施例ではＨＴＴＰリクエストの成功を示す正常値と、ＨＴＴＰリクエストの失敗を示す非正常値のみを取り扱う。ＨＴＴＰステータスが正常値である場合、ＨＴＴＰレスポンスに含まれるレスポンスヘッダの解析を行う（Ｓ１２０７）。続いてプリンタ制御プログラムは、受信したＨＴＴＰレスポンスの送信元がドキュメントサーバ１００１か否かを判定する（Ｓ１２０８）。受信したＨＴＴＰレスポンスがドキュメントサーバ１００１から送信されたと判断した場合、プリンタ制御プログラムは、ＨＴＴＰレスポンスコンテンツを受信するようにネットワークインタフェース８０４を制御する。ここで受信したデータはＲＡＭ８０３もしくはハードディスク８０６に格納する。続いてプリンタ制御プログラムは、ＨＴＴＰレスポンスコンテンツの中から印刷ジョブデータ部を特定する（Ｓ１２０９）。その後プリンタ制御プログラムは、特定された印刷ジョブデータを、自身のネットワークインタフェース８０４宛てにＬＰＲを用いて送信するようにネットワークインタフェース８０４を制御する（Ｓ１２００）。ネットワークインタフェース８０４で印刷ジョブを受信すると、プリンタ制御プログラムは該印刷ジョブをＲＡＭ８０３に格納して解析し、プリンタ８０９を制御することで印刷処理を行う（Ｓ１２１１）。
【００７０】
Ｓ１２０３でデコードした２次元コードがＵＲＬ以外の場合のＳ１２１２における処理は、図９のＳ９１１と同じである。またＳ１２０６でＨＴＴＰステータスが非正常値であった場合のＳ１２１３の処理は図９のＳ９１２と同じである。また、Ｓ１２０８でＨＴＴＰレスポンスがドキュメントサーバ１００１以外から送られたと判断した場合、プリンタ制御プログラムは印刷が行われないことを利用者に通知する（Ｓ１２１４）。例えばプリンタ制御プログラムは、ＨＴＴＰレスポンスコンテンツを全て受信するようにネットワークインタフェース８０４を制御し、操作部８０５に備え付けられた液晶ディスプレイに受信したコンテンツをレンダリングして表示するように制御する。
【００７１】
以上説明したように、本発明における文書配信システムは、ＨＴＴＰレスポンスコンテンツに印刷ジョブデータを埋め込む。このためルータ１０１２等にファイアウォールが設置されてＬＰＲで使用するポートへのアクセスが制限されていた場合でも、ドキュメントサーバから印刷装置に印刷ジョブデータを送信することが可能になる。
【００７２】
またドキュメントサーバ１００１はＨＴＴＰのレスポンスヘッダに予め定められたマジックナンバーを設定する。このため印刷装置１０１１のプリンタ制御プログラムはＨＴＴＰレスポンスを全て受信しなくともレスポンスコンテンツを送った装置がドキュメントサーバ１００１か否かを判断することができる。
【００７３】
またドキュメントサーバ１００１は印刷装置に対してＸＭＬ形式でＨＴＴＰレスポンスコンテンツを送信するので、印刷装置１０１１のプリンタ制御プログラムは受信したＨＴＴＰレスポンスコンテンツから印刷ジョブを特定するのが容易になる。
【００７４】
また印刷装置１０１１は受信したＨＴＴＰレスポンスコンテンツに含まれる印刷ジョブデータを抜き出して自身に対してＬＰＲを用いて送信するので、印刷装置は抜き出した印刷ジョブデータを印刷するために特別な装置や処理を追加する必要がない。
【００７５】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００７６】
１１０、１００１  ドキュメントサーバ
１２０、１０１１  印刷装置
【図１】
2014099132.tif 000003
【図２】
2014099132.tif 000004
【図３】
2014099132.tif 000005
【図４】
2014099132.tif 000006
【図５】
2014099132.tif 000007
【図６】
2014099132.tif 000008
【図７】
2014099132.tif 000009
【図８】
2014099132.tif 000010
【図９】
2014099132.tif 000011
【図１０】
2014099132.tif 000012
【図１１】
2014099132.tif 000013
【図１２】
2014099132.tif 000014