(57)【要約】【課題】  Ｕｎｉｘ系ＯＳの印刷システムにおいて、動的なデバイス情報を反映したＰＤＬデータの生成を実現できるようにする。【解決手段】  プリンタ１１０に対してデータの出力管理、あるいは当該プリンタの状態管理を行うプリンタモニタ部１０２と、Ｕｎｉｘ系ＯＳの印刷システムから出力される印字データからプリンタ１１０に固有のＰＤＬデータを生成するＰＤＬデータ生成部１０１と、ＰＤＬデータ生成部１０１から出力されたＰＤＬデータをプリンタモニタ部１０２へ出力するバックエンド部１０５と、プリンタ１１０の状態表示を含む処理を行うステータス表示ＵＩ部１０３と、プリンタモニタ部１０２とＰＤＬデータ生成部１０１とのインタフェース処理、及びプリンタモニタ部１０２とステータス表示ＵＩ部１０３とのインタフェース処理を行うＩ／Ｆ部１０４とを有するようにする。【選択図】  図１
2007011746.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも、プリンタに対してデータの出力管理又は当該プリンタの状態管理を行うプリンタモニタ部と、
Ｕｎｉｘ系ＯＳ（Operating System）の印刷システムから出力される印字データから前記プリンタに固有のＰＤＬ（Page Description Language）データを生成するＰＤＬデータ生成部と、
前記ＰＤＬデータ生成部から出力されたＰＤＬデータを前記プリンタモニタ部へ出力するバックエンド部と、
前記プリンタの状態表示を含む処理を行うステータス表示ＵＩ（User Interface）部と、
前記プリンタモニタ部と前記ＰＤＬデータ生成部とのインタフェース処理、及び前記プリンタモニタ部と前記ステータス表示ＵＩ部とのインタフェース処理を行うＩ／Ｆ部と
を有することを特徴とする印刷システム。
【請求項２】
前記ＰＤＬデータ生成部又は前記ステータス表示ＵＩ部は、取得したい情報に対応する要求コマンドを前記Ｉ／Ｆ部を介して前記プリンタモニタ部に送信し、
前記プリンタモニタ部は、前記Ｉ／Ｆ部から受信した要求コマンドを解析して、当該要求コマンドに対応する情報を前記プリンタから取得し、取得した情報を前記Ｉ／Ｆ部を介して要求先に送信することを特徴とする請求項１に記載の印刷システム。
【請求項３】
前記ＰＤＬデータ生成部は、前記Ｉ／Ｆ部を介して前記プリンタモニタ部に前記プリンタに係るデバイス情報要求コマンドを送信し、前記プリンタモニタ部から前記プリンタに係るデバイス情報を取得することを特徴とする請求項２に記載の印刷システム。
【請求項４】
前記ＰＤＬデータ生成部は、前記Ｉ／Ｆ部を介して取得した前記プリンタに係るデバイス情報に基づいて、印刷開始時の前記プリンタの状態に適したＰＤＬデータの生成を行い、当該ＰＤＬデータを前記バックエンド部へ出力することを特徴とする請求項３に記載の印刷システム。
【請求項５】
前記ステータス表示ＵＩ部は、前記Ｉ／Ｆ部を介して前記プリンタモニタ部に前記プリンタに係るステータス情報要求コマンドを送信し、前記プリンタモニタ部から前記プリンタに係るステータス情報を取得し、取得した当該ステータス情報を表示することを特徴とする請求項２に記載の印刷システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｕｎｉｘ系ＯＳの印刷システムに関するものである。
【背景技術】
【０００２】
一般的にＵｎｉｘ系ＯＳでは、ＣＵＰＳ（Common Unix Printing System）と呼ばれる印刷システムが標準印刷システムとして採用されている。ここで、図２を用いてこのＣＵＰＳについて説明する。アプリケーション２０２からＣＵＰＳ２０１に対して印刷の要求があると、スケジューラー部２０３は、印字データに適したフィルタ・レンダラ部２０４と、プリンタ２１０の接続形態に合わせてバックエンド部２０５を起動する。このとき、フィルタ・レンダラ部２０４では、起動パラメータに基づいて印字データをＰＤＬデータに変換して、バックエンド部２０５に出力する。
【０００３】
通常、バックエンド部２０５の先にはプリンタ２１０が接続されている場合が多いが、Ｕｎｉｘ系ＯＳの印刷システムにおいては、プリンタ２１０の制御、ステータス取得や出力データの管理を行うためのプリンタモニタ部２０６が間に入る場合がある。この場合、プリンタモニタ部２０６は、ＣＵＰＳ２０１と別プロセスとして動作する。このプリンタモニタ部２０６では、プリンタ２１０の状態を表示するステータス表示ＵＩ部２０７とのインタフェース処理を持つことが多い。
【０００４】
【非特許文献１】ＣＵＰＳについての詳細は、下記のＵＲＬ［Ｃｏｍｍｏｎ  ＵＮＩＸ  Ｐｒｉｎｔｉｎｇ  Ｓｙｓｔｅｍ］を参照    ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｃｕｐｓ．ｏｒｇ／
【発明の開示】
【発明が解決しようとする課題】
【０００５】
近年の高機能なホストベースのプリンタでは、印刷開始時の両面ユニットの有無や、キャリブレーション情報などの動的なデバイス情報を反映して、ＰＤＬデータの生成を行わなければならない。
【０００６】
しかしながら、従来のＵｎｉｘ系ＯＳの印刷システムでは、動的なデバイス情報を反映したＰＤＬデータの生成を行うことができなかった。
【０００７】
本発明は上述の問題点にかんがみてなされたものであり、動的なデバイス情報を反映したＰＤＬデータの生成を実現する印刷システムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の印刷システムは、少なくとも、プリンタに対してデータの出力管理又は当該プリンタの状態管理を行うプリンタモニタ部と、Ｕｎｉｘ系ＯＳ（Operating System）の印刷システムから出力される印字データから前記プリンタに固有のＰＤＬ（Page Description Language）データを生成するＰＤＬデータ生成部と、前記ＰＤＬデータ生成部から出力されたＰＤＬデータを前記プリンタモニタ部へ出力するバックエンド部と、前記プリンタの状態表示を含む処理を行うステータス表示ＵＩ（User Interface）部と、前記プリンタモニタ部と前記ＰＤＬデータ生成部とのインタフェース処理、及び前記プリンタモニタ部と前記ステータス表示ＵＩ部とのインタフェース処理を行うＩ／Ｆ部とを有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、プリンタモニタ部における、ステータスの表示を行うステータス表示ＵＩ（User Interface）部との従来のインタフェース部を拡張し、ＰＤＬデータ生成部とも同じインタフェース部を共用するようにしたので、ＰＤＬデータ生成部へ動的なデバイス情報を反映させることができ、ＰＤＬデータ生成部において動的なデバイス情報を反映したＰＤＬデータの生成を行うことができる。また、プリンタモニタ部において、ステータス表示ＵＩ（User Interface）部とＰＤＬデータ生成部とのインタフェース部の共用が図れるため、それぞれのモジュールのサイズの小型化や、設計コストの削減を行うことが可能となる。
【発明を実施するための最良の形態】
【００１０】
以下に、本発明の実施形態に係る印刷システムについて、詳細に説明を行う。
本発明の実施形態は、図２で示したＵｎｉｘ系ＯＳの標準的な印刷システムであるＣＵＰＳ２０１におけるフィルタ・レンダラ部２０４の一部の機能であるＰＤＬデータを生成する処理部と、プリンタモニタ部２０６及びステータス表示ＵＩ部２０７に関するものである。
【００１１】
図１は、本発明の実施形態に係る印刷システムの概略構成を示すブロック図である。
本実施形態に係る印刷システムは、Ｕｎｉｘ系ＯＳ（Operating System）の印刷システムから出力される印字データからプリンタ１１０に固有のＰＤＬ（Page Description Language）データを生成するＰＤＬデータ生成部１０１と、少なくとも、プリンタ１１０に対してデータの出力管理又は当該プリンタ１１０の状態管理を行うプリンタモニタ部１０２と、プリンタ１１０の状態表示を含む処理を行うステータス表示ＵＩ（User Interface）部１０３と、プリンタモニタ部１０２とＰＤＬデータ生成部１０１とのインタフェース処理、及びプリンタモニタ部１０２とステータス表示ＵＩ部１０３とのインタフェース処理を行うＩ／Ｆ部１０４と、ＰＤＬデータ生成部１０１から出力されたＰＤＬデータをプリンタモニタ部１０２へ出力するバックエンド部１０５を有して構成されている。また、ＰＤＬデータ生成部１０１、プリンタモニタ部１０２、ステータス表示ＵＩ部１０３は、別プロセスとして動作する。
【００１２】
Ｉ／Ｆ部１０４は、ＰＤＬデータ生成部１０１又はステータス表示ＵＩ部１０３と別プロセスであるプリンタモニタ部１０２とをソケットを用いてプロセス間通信を行うための処理を担う。本実施形態では、ソケットを用いてプロセス間通信を実現したが、プロセス間通信の実現手段としては、ソケットに限定したものではない。
【００１３】
プリンタモニタ部１０２は、プリンタ１１０の制御や出力データを管理する処理を行うほか、他の処理部（ＰＤＬデータ生成部１０１又はステータス表示ＵＩ部１０３）のＩ／Ｆ部から受信した要求コマンドに対するデータをプリンタ１１０から取得し、要求のあった他の処理部のＩ／Ｆ部に対してデータを送信する処理を行う。
【００１４】
ＰＤＬデータ生成部１０１は、図２に示したフィルタ・レンダラ部２０２の一部の機能であり、フィルタもしくはレンダラより出力された印字データからＰＤＬデータを生成する処理を行う。
【００１５】
ステータス表示ＵＩ部１０３は、プリンタ１１０のステータスを表示する処理を行う。また、バックエンド部１０５は、ＰＤＬデータ生成部１０１から出力されたＰＤＬデータをプリンタモニタ部１０２へと出力する。
【００１６】
図１０は、本発明の実施形態に係る印刷システムのシステム構成図である。
図１０において、ＣＰＵ１００１は、本実施形態の印刷システムの制御を司る中央処理装置である。ＲＡＭ１００２は、本実施形態の印刷システムにおけるプログラムをロードして動作させるとともにデータを一時的に格納しておく記憶装置である。外部記憶装置１００３は、ＨＤＤ等から構成され、本実施形態の印刷システムにおけるプログラムを格納する。表示装置１００４は、ＣＲＴやＬＣＤ等から構成され、図１のステータス表示ＵＩ部１０３のＵＩ画面等を表示する。入力装置１００５は、キーボード等から構成され、各種入力や指示に用いる。Ｉ/Ｏ部１００６は、プリンタ１１０と接続するためのＵＳＢ等の物理インタフェースである。
【００１７】
次に、本発明の実施形態に係る印刷システムの処理の流れについて詳細に説明する。まず、ＰＤＬデータ生成部１０１の処理の流れについて説明する。
【００１８】
図３は、ＰＤＬデータ生成部１０１の処理を示すフローチャートである。
ステップ３０１では、メモリの確保、内部変数の初期化を行い、デフォルト値に設定する。続いて、ステップ３０２では、起動パラメータの解析処理を行い、内部変数を起動パラメータで指定された値に更新する。続いて、ステップ３０３では、デバイス情報取得処理（詳細は、図４を参照）を行って、デバイス情報を取得する。
【００１９】
続いて、ステップ３０４では、ステップ３０３においてデバイス情報がエラーなく取得できたか否かを判断する。この判断の結果、デバイス情報が取得できなかった場合には、ステップ３１１に進み、メモリの解放等の終了処理を行い、プロセスを終了する。一方、ステップ３０４での判断の結果、デバイス情報が取得できた場合には、ステップ３０５へ進んで、デバイス情報を該当する内部変数に更新する。
【００２０】
続いて、ステップ３０６では、起動パラメータの片面／両面印刷の設定に対して、両面印刷の指定がなされているか否かを判断する。この判断の結果、両面印刷の指定されていた場合には、ステップ３０７に進む。一方、ステップ３０６での判断の結果、両面印刷の指定がされていない場合には、ステップ３０９に進んで、片面印刷用のＰＤＬデータの生成を行い、その後、ステップ３１０に進む。
【００２１】
ステップ３０７では、ステップ３０３で取得したデバイス情報からデバイスに両面ユニットの装着が有るか否かを判断する。この判断の結果、デバイスに両面ユニットの装着が有った場合には、ステップ３０８に進んで、設定を変更せずに両面印刷用のＰＤＬデータの生成を行う。一方、ステップ３０７での判断の結果、デバイスに両面ユニットの装着が無かった場合には、ステップ３０９に進んで、片面印刷用のＰＤＬデータの生成を行い、その後、ステップ３１０に進む。
【００２２】
続いて、ステップ３１０では、生成されたＰＤＬデータをバックエンド部２０５へ出力する。続いて、ステップ３１１では、メモリの解放等の終了処理を行い、プロセスを終了する。
【００２３】
次に、図３に示したステップ３０３のデバイス情報取得処理の詳細について説明する。
図４は、図３に示したステップ３０３のデバイス情報取得処理の詳細を示したフローチャートである。
【００２４】
まず、ステップ４０１では、Ｉ／Ｆ部１０４の初期化処理（詳細は、図７を参照）を行う。続いて、ステップ４０２では、デバイス情報要求コマンドをセットする。続いて、ステップ４０３では、プリンタモニタ部１０２のＩ／Ｆ部１０４に対して、データ取得処理の要求（詳細は、図８を参照）を行う。デバイス情報取得を取得した後、デバイス情報のデータをメモリに格納して、ステップ４０４において、Ｉ／Ｆ部終了処理（詳細は、図９を参照）を行って、当該処理を終了する。
【００２５】
次に、ステータス表示ＵＩ部１０３の処理の流れについて説明する。
図５は、ステータス表示ＵＩ部１０３の処理を示すフローチャートである。
【００２６】
まず、ステップ５０１では、メモリの確保、内部変数の初期化を行う。続いて、ステップ５０２では、Ｉ／Ｆ部１０４の初期化処理（詳細は、図７を参照）を行う。
【００２７】
続いて、ステップ５０３では、ユーザーによる終了ボタンエベントなどのプロセスの終了に関するシグナルのチェックを行って、プロセスの終了を行うか否かの判断を行う。この判断の結果、プロセスの終了を行う場合には、ステップ５０８に進んで、Ｉ／Ｆ部１０４の終了処理（詳細は、図９を参照）を行った後、ステップ５０９に進んで、メモリを解放してプロセスを終了する。一方、ステップ５０３での判断の結果、プロセスの終了を行わない場合には、ステップ５０４に進んで、ステータス要求コマンドをセットした後、ステップ５０５に進んで、プリンタモニタ部１０２のＩ／Ｆ部１０４に対して、データ取得処理の要求（詳細は、図８を参照）を行う。
【００２８】
続いて、ステップ５０６では、ステータス情報がエラーなく取得できたか否かを判断する。この判断の結果、ステータス情報が取得できた場合には、ステップ５０７に進んで、ＵＩの表示更新処理を行って、その後、ステップＳ５０３に戻る。一方、ステップ５０６での判断の結果、ステータス情報が取得できなかった場合には、ステップ５０３に戻る。
【００２９】
次に、図４及び図５におけるＩ／Ｆ部の各処理について詳細に説明する。
図７は、図４のステップ４０１及び図５のステップ５０２におけるＩ／Ｆ部初期化処理の詳細を示したフローチャートである。
【００３０】
Ｉ／Ｆ部の初期化処理が開始されると、まず、ステップ７０１では、メモリの確保、内部変数の初期化を行う。続いて、ステップ７０２では、プリンタモニタ部１０２のＩ／Ｆ部１０４に対して接続を行って、当該Ｉ／Ｆ部初期化処理がなされる。
【００３１】
図８は、図４のステップ４０３及び図５のステップ５０５におけるＩ／Ｆ部要求、取得処理の詳細を示したフローチャートである。
【００３２】
まず、ステップ８０１では、要求するコマンドを送信データにセットする。続いて、ステップ８０２では、送信データをプリンタモニタ１０２と接続しているソケットに書き込む。この書き込みが終了した後、続いて、ステップ８０３では、ソケットから受信データのヘッダー部分を読み込む。続いて、ステップ８０４では、受信データのデータ部分を読み込んで、当該Ｉ／Ｆ部要求、取得処理がなされる。
【００３３】
図９は、図４のステップ４０４及び図５のステップ５０８におけるＩ／Ｆ部終了処理の詳細を示したフローチャートである。
【００３４】
Ｉ／Ｆ部の終了処理が開始されると、まず、ステップ９０１では、プリンタモニタ部１０２のＩ／Ｆ部１０４との接続を断つ。続いて、ステップ９０２では、メモリの解放を行って、当該Ｉ／Ｆ部終了処理がなされる。
【００３５】
次に、プリンタモニタ部１０２の処理の流れについて説明する。
図６は、プリンタモニタ部１０２の処理を示すフローチャートである。
【００３６】
まず、ステップ６０１では、使用するデータ領域の初期化を行って、他の処理部（ＰＤＬデータ生成部１０１又はステータス表示ＵＩ部１０３）のＩ／Ｆ部からのソケットの接続を待つ。そして、他の処理部のＩ／Ｆ部と接続されると、続いて、ステップ６０２では、他の処理部のＩ／Ｆ部からの要求コマンドの待機状態となる。
【００３７】
続いて、ステップ６０３では、プロセスの終了に関するシグナルの受信をチェックして、プロセスの終了を行うか否かの判断を行う。この判断の結果、プロセスの終了を行う場合には、ステップ６０４に進んで終了処理を行って、プロセスを終了する。一方、ステップ６０３での判断の結果、プロセスの終了を行わない場合には、ステップ６０５に進んで、要求コマンドを含んだ受信データの読み込みを行って、要求コマンドを取り出す。
【００３８】
続いて、ステップ６０６では、ステップ６０５で受信した要求コマンドがステータス情報要求コマンドであるか否かを判断する。この判断の結果、受信した要求コマンドがステータス情報要求コマンドである場合には、ステップ６０７に進んで、プリンタ１１０からステータス情報を取得する。その後、ステップ６１０に進む。一方、ステップ６０６での判断の結果、受信した要求コマンドがステータス情報要求コマンドでない場合には、ステップ６０８に進む。
【００３９】
ステップ６０８では、ステップ６０５で受信した要求コマンドがデバイス情報要求コマンドであるか否かを判断する。この判断の結果、受信した要求コマンドがデバイス情報要求コマンドである場合には、ステップ６０９に進んで、プリンタ１１０からデバイス情報を取得する。その後、ステップ６１０に進む。
【００４０】
ステップ６１０では、プリンタ１１０から取得した情報を送信データにセットして、取得要求のあった他の処理部（ＰＤＬデータ生成部１０１又はステータス表示ＵＩ部１０３）のＩ／Ｆ部に対して当該情報を送信する。
【００４１】
ステップ６１０での処理が終了した場合、あるいは、ステップ６０８での判断の結果、受信した要求コマンドがデバイス情報要求コマンドでない場合には、ステップ６０２に戻り、次の要求コマンドの受信待機状態となる。
【図面の簡単な説明】
【００４２】
【図１】本発明の実施形態に係る印刷システムの概略構成を示すブロック図である。
【図２】ＣＵＰＳ（Common Unix Printing System）の概略構成を示すブロック図である。
【図３】ＰＤＬデータ生成部の処理を示すフローチャートである。
【図４】図３に示したステップ３０３のデバイス情報取得処理の詳細を示したフローチャートである。
【図５】ステータス表示ＵＩ部の処理を示すフローチャートである。
【図６】プリンタモニタ部の処理を示すフローチャートである。
【図７】図４のステップ４０１及び図５のステップ５０２におけるＩ／Ｆ部初期化処理の詳細を示したフローチャートである。
【図８】図４のステップ４０３及び図５のステップ５０５におけるＩ／Ｆ部要求、取得処理の詳細を示したフローチャートである。
【図９】図４のステップ４０４及び図５のステップ５０８におけるＩ／Ｆ部終了処理の詳細を示したフローチャートである。
【図１０】本発明の実施形態に係る印刷システムのシステム構成図である。
【符号の説明】
【００４３】
１０１  ＰＤＬデータ生成部
１０２  プリンタモニタ部
１０３  ステータス表示ＵＩ部
１０４  Ｉ／Ｆ部
１０５  バックエンド部
１１０  プリンタ
２０１  ＣＵＰＳ
２０２  アプリケーション
２０３  スケジューラー部
２０４  フィルタ・レンダラ部
２０５  バックエンド部
２０６  プリンタモニタ部
２０７  ステータス表示ＵＩ部
１００１  ＣＰＵ
１００２  ＲＡＭ
１００３  外部記憶装置
１００４  表示装置
１００５  入力装置
１００６  Ｉ／Ｏ部
【図１】
2007011746.tif 000003
【図２】
2007011746.tif 000004
【図３】
2007011746.tif 000005
【図４】
2007011746.tif 000006
【図５】
2007011746.tif 000007
【図６】
2007011746.tif 000008
【図７】
2007011746.tif 000009
【図８】
2007011746.tif 000010
【図９】
2007011746.tif 000011
【図１０】
2007011746.tif 000012