(57)【特許請求の範囲】
【請求項１】
ページ記述言語の種類ごとにホールドするか否かを設定する設定手段と、
ネットワークを介して印刷データを受け取る受信手段と、
前記受信手段により受け取られた前記印刷データのページ記述言語の種類を決定する決定手段と、
前記決定手段により決定された前記ページ記述言語の種類が、前記設定手段によりホールドすると設定されている種類のページ記述言語である場合、前記受信手段により受け取られた前記印刷データに基づいてホールドジョブを生成するホールドジョブ生成手段と、
を有することを特徴とする印刷装置。
【請求項２】
前記受信手段により受け取られた前記印刷データの投入先がホールドキューか印刷キューかを判定する判定手段と、
前記ホールドジョブ生成手段は、前記判定手段により前記印刷データの投入先がホールドキューであると判定された場合で、かつ、前記決定手段により決定された前記ページ記述言語の種類が、前記設定手段によりホールドすると設定されている種類のページ記述言語である場合に、前記受信手段により受け取られた前記印刷データに基づいてホールドジョブを生成することを特徴とする請求項１記載の印刷装置。
【請求項３】
前記判定手段により前記ジョブの投入先が印刷キューであると判定された場合、前記受信手段により受け取られた前記印刷データに基づいて印刷ジョブを生成する印刷ジョブ生成手段を更に有することを特徴とする請求項２記載の印刷装置。
【請求項４】
前記受信手段により受け取られた前記印刷データを解析する解析手段と、
前記解析手段で前記印刷データにジョブ制御コードが含まれていた場合、前記ジョブ制御コードで指示されているジョブを生成するジョブ生成手段と、
を更に有することを特徴とする請求項１乃至３何れか１項記載の印刷装置。
【請求項５】
印刷装置が実行するジョブ生成方法であって、
ページ記述言語の種類ごとにホールドするか否かを設定する設定ステップと、
ネットワークを介して印刷データを受け取る受信ステップと、
前記受信ステップにより受け取られた前記印刷データのページ記述言語の種類を決定する決定ステップと、
前記決定ステップにより決定された前記ページ記述言語の種類が、前記設定ステップによりホールドすると設定されている種類のページ記述言語である場合、前記受信ステップにより受け取られた前記印刷データに基づいてホールドジョブを生成するホールドジョブ生成ステップと、
を含むことを特徴とするジョブ生成方法。
【請求項６】
コンピュータを、請求項１乃至４何れか１項記載の印刷装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置、ジョブ生成方法及びプログラムに関する。
【背景技術】
【０００２】
プリンタには、個人で使うものから専属ユーザがつく高速機まで様々なものがある。専属ユーザが操作するＰＯＤ向けの高速機は高い処理パフォーマンスがあるが、その分コストも高いものになってしまう。そこで、オフィス向けの比較的高速な印刷エンジンにＰＯＤ向けにも使えるコントローラを搭載しコストを抑えた、ＬｉｔｅＰＯＤ機といったモデルが出てきている。このようなモデルでは、複数のユーザが自分のホストコンピュータからネットワークプリンタとして使いながら、基幹系と言われるサーバからの印刷も行なうという運用が可能である。
【０００３】
基幹系の印刷では、ＲＤＯＰｒｉｎｔというサーバアプリケーションがよく知られている。これはＲＤＯ（Ｒａｓｔｅｒ  Ｄｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔｓ）ファイルを、制御コードは付与されていない生（以下、ネイティブという）のＰｏｓｔＳｃｒｉｐｔ言語へ変換しプリンタへ送るものである。ＰｏｓｔＳｃｒｉｐｔを解釈できるプリンタであればどこのメーカーのものでも印刷できるメリットがあり、ユーザはシステムを柔軟に運用できる。
ＬｉｔｅＰＯＤ機のようなプリンタでは、ジョブを投入してすぐ印刷することも可能だが、一旦機器にジョブをホールドすれば、ジョブの属性設定を確認する、一部だけ出力して確認後に複数部の印刷する、また問題があれば設定を変更する、といったことができる。ユーザがホストコンピュータからジョブを投入する際に、印刷するかホールドするかを例えばＭＳ  Ｗｉｎｄｏｗｓ（登録商標）のドライバ画面で指示すると、ドライバはプリンタ独自のジョブ制御用のコマンドをジョブに付与してパケット化しプリンタに送る。ところが基幹系のサーバからのジョブのようにネイティブの言語で記述されたジョブに対しては、プリンタ独自のジョブ制御コマンドを付与するのは困難なので、ジョブの動作を指定するのに他の方法を用いる。例えばｌｐｄ（Ｌｉｎｅ  Ｐｒｉｎｔｅｒ  Ｄａｅｍｏｎ  Ｐｒｏｔｏｃｏｌ）では、キューの名前を文字列で指定することができる。サーバアプリケーションの設定で送信先のキュー名を「Ｐｒｉｎｔ」にして送信すると印刷し、「Ｈｏｌｄ」にして送信すると一旦プリントサーバやプリンタコントローラ内にスプールする、或いはデータ解釈した後、ジョブを保存する機器が知られている。
【０００４】
ホットフォルダという仕組みも知られている。ホストコンピュータ上のあるフォルダ上にＰＤＦファイルを置くと、予め設定されたプロトコルでプリンタにジョブが送られるといったものである。設定を細かく変えたホットフォルダを複数作っておき、目的に応じてファイルを何れかのフォルダに置くことで、簡単にジョブを送信することができる。この送信プロトコルにも前述のｌｐｄが使用されることがある。
このようにドライバからのプリントジョブの送信やｌｐｄのように異なるプロトコルでジョブが投入された場合でも、それぞれのジョブを正しく処理する方法も知られている（特許文献１）。
また異なる種類のネイティブのＰＤＬ言語で記述されたジョブが送られてきた場合でも、データの内容から言語の種類を判断して、最適なインタプリタを選択・処理する方法も知られている（特許文献２）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３８４７９７０号公報
【特許文献２】特許第２８７１２７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
背景技術で説明したようなＬｉｔｅＰＯＤ機では、ジョブを投入する側で直ぐに印刷するかホールドするかを指定することができる。ところが、基幹系の印刷ジョブは、サーバの設定によってジョブの動作が決まってしまうので、ユーザが自分の判断で基幹系の印刷ジョブを直ぐ印刷するかホールドするかを切り替えられないという問題がある。ユーザは基幹系のジョブを直ぐ印刷したい場合もあれば、設定を変更してから印刷したい、特殊な用紙を補給するため、基幹系のみ止めておきたい等、様々なケースがある。
プリンタの機器全体で、ジョブの制御方法を変更する仕組みを持つことは可能だが、ドライバからジョブを投入したユーザやホットフォルダからジョブを投入しているユーザにとっては意図しない形にジョブの動作が変更されてしまうのは好ましくない。
そこで、プロトコル単位で若しくはジョブの投げ元単位で、ジョブの制御方法を変更する仕組みを持つことも可能ではある。しなしながらｌｐｄのような片方向通信のプロトコルで別のジョブ投入経路があった場合は問題となる。例えば誰かが自分のホストコンピュータ上に基幹系と同じプロトコルｌｐｄでＰＤＦを送信するホットフォルダを設定していたような場合には、基幹系から送信されたジョブとホットフォルダから送信されたジョブとをプリンタ側では区別できない。
【０００７】
本発明はこのような問題点に鑑みなされたもので、片方向通信のプロトコルで複数のジョブ投入経路がある環境でも、ユーザがジョブの動作制御を切り替え可能とすることを目的とする。
【課題を解決するための手段】
【０００８】
そこで、本発明の印刷装置は、ページ記述言語の種類ごとにホールドするか否かを設定する設定手段と、ネットワークを介して印刷データを受け取る受信手段と、前記受信手段により受け取られた前記印刷データのページ記述言語の種類を決定する決定手段と、前記決定手段により決定された前記ページ記述言語の種類が、前記設定手段によりホールドすると設定されている種類のページ記述言語である場合、前記受信手段により受け取られた前記印刷データに基づいてホールドジョブを生成するホールドジョブ生成手段と、を有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、片方向通信のプロトコルで複数のジョブ投入経路がある環境でも、ユーザがジョブの動作制御を切り替え可能とすることができる。
【図面の簡単な説明】
【００１０】
【図１】印刷システムのシステム構成の一例を示す図である。
【図２】印刷装置内のコントローラのハードウェア構成図である。
【図３】印刷装置内のソフトウェア構成及びその周辺構成を示す図である。
【図４】ＰＤＬ種別ごとにジョブをホールドするかどうかの設定画面の一例を示す図である。
【図５】ＰＤＬ種別ごとにジョブをホールドするかどうかの設定画面の一例を示す図である。
【図６】ジョブ制御部のジョブ生成処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について図面に基づいて説明する。
【００１２】
＜実施形態１＞
図１は、印刷システムのシステム構成の一例を示す図である。
図１に示されるように、ホストコンピュータ２０００〜４０００は、ネットワーク１を介して、印刷装置１０００と接続されている。
ホストコンピュータ２０００〜４０００からはドライバ経由でその機器に応じた制御コードを付与したジョブがネットワーク１を経由して印刷装置１０００に送られる。印刷装置１０００は、このジョブを受信する。
サーバ５０００は、基幹系のサーバであり、ネイティブのＰｏｓｔＳｃｒｉｐｔを生成する。サーバ５０００から送られたジョブは、ネットワーク１を経由して印刷装置１０００に送られる。印刷装置１０００は、このジョブを受信する。
【００１３】
図２は、印刷装置１０００内のコントローラのハードウェア構成図である。
１００は、コントローラである。１１０１は、ＣＰＵである。１１０２は、ＲＡＭである。１１０３は、プログラムＲＯＭである。１１０４は、データＲＯＭである。ＣＰＵ１１０１は、プログラムＲＯＭ１１０３に記憶されたプログラムに基づいて動作する。ＲＡＭ１１０２は、ＣＰＵ１１０１が動作する際のメインメモリ及び一時的に情報を記憶する領域として使用される。データＲＯＭ１１０４には、プログラムが動作する際に呼び出されるフォント等の固定情報が記憶される。
ネットワークインタフェース（ネットワークＩ／Ｆ）１１０５は、コントローラ１００をネットワーク１と接続し、ホストコンピュータやサーバからジョブを受け取る。
プリンタインタフェース１１０６は、プリンタエンジン２００とコントローラ１００とを接続する。
外部記憶装置１１０７は、ハードディスクやフラッシュメモリ等である。
１１０１〜１１０７及びＵＩ１０１は、システムバス１１０８で接続されている。
【００１４】
図３は、印刷装置１０００内のソフトウェア構成及びその周辺構成を示す図である。
ＵＩ制御部１０３は、ＵＩ１０１と通信する。
ネットワーク制御部１０４は、ネットワークインタフェース１１０５を制御する。
文書管理部１０５は、ジョブを保存する。
設定記憶部１０６は、ユーザ設定を記憶する。
ジョブ制御部１０７は、ジョブ制御を行う。
ＰＤＬ種別判定部１０８は、入力されたデータからＰＤＬ言語を判断する。ＰＤＬ言語は、ページ記述言語の一例である。
プリンタ制御部１０９は、プリンタインタフェース１１０６経由でプリンタエンジン２００を制御する。
外部から投入された印刷ジョブは、外部記憶装置１１０７上に一度記憶され、文書管理部１０５により管理されている。１０３、１０４、１０５、１０６、１０７、１０８、１０９の制御処理及び管理処理は、それぞれプログラムＲＯＭ１１０３内のプログラムに従ってＣＰＵ１１０１により実行される。
【００１５】
図４は、ＰＤＬ種別ごとにジョブをホールド（Hold）するかどうかの設定画面の一例を示す図である。
設定記憶部１０６に記憶されている設定値がジョブ制御部１０７、ＵＩ制御部１０３を介してＵＩ１０１上に表示されている。この設定画面３０１の例では、ＰｏｓｔＳｃｒｉｐｔ言語であればホールドする、ＰＤＦであればホールドしない、ＰＣＬであればしない、ＬＩＰＳ  ＬＸであればしない、と設定されていることを示している。ユーザは、ボタン３０２により設定を変更できる。
図５は、ＰＤＬ種別ごとにジョブをホールドするかどうかの設定画面の一例を示す図である。
図４のボタン３０２から遷移した画面である。
この設定画面３０３の例ではＯＮであることを示している。ユーザは、ＯＦＦボタン３０５、更にＯＫボタン３０６を押すことで設定記憶部１０６上のＰｏｓｔＳｃｒｉｐｔに対する設定を書き変えることができる。
なお、図４及び図５では、ＰＤＬ種別ごとにジョブをホールドするかどうかの設定を行う例を示したが、これは本実施形態を限定するものではない。例えば、図４に示されるような画面において同じ設定がなされている（例えば、ＯＦＦと設定されている）複数のＰＤＬ種別を選択し、図５に示されるような画面において一括で設定を変更（例えば、ＯＮに変更）することもできる。ＯＮからＯＦＦへの変更も同様である。また、異なる設定がなされているＰＤＬ種別の設定を一の画面で変更可能に画面を構成していもよい。
【００１６】
図６は、ジョブ制御部１０７のジョブ生成処理の一例を示すフローチャートである。ジョブ制御部１０７はＣＰＵ１１０１、ＲＡＭ１１０２、プログラムＲＯＭ１１０３、データＲＯＭ１１０４等からなる。フローチャートの手順はジョブ制御部１０７のプログラムＲＯＭ１１０３に記憶され、ＣＰＵ１１０１により実行される。
図１、図２、図３を参考に、図６のフローチャートに従って、ジョブ生成処理を説明する。
ホストコンピュータ２０００〜４０００上のプリンタドライバからジョブが送られると、ネットワーク制御部１０４は、データを検知し、ジョブ制御部１０７へ通知し生成処理を開始する。ジョブ制御部１０７は、ネットワーク制御部１０４から投入先キュー名を取得する（Ｓ１１）。
そして、ジョブ制御部１０７は、１ジョブ分のデータを読み込む（Ｓ１２）。
続いて、ジョブ制御部１０７は、ジョブの先頭部分を解析する（Ｓ１３）。
【００１７】
先頭部分にジョブ制御コードがあれば（Ｓ１４においてＹｅｓ）、ジョブ制御部１０７は、そのジョブ制御コードによって指示されている種類の、印刷ジョブ若しくはホールドジョブを生成して、図６に示す処理を終了する（Ｓ１５）。
また、サーバ５０００からジョブが送られると、ジョブ制御部１０７は、Ｓ１２で１ジョブ分のデータを読み込み、Ｓ１３でジョブの先頭部分を解析する。この場合、ネイティブ言語のジョブなのでジョブ制御コードがない。つまり、先頭部分にジョブ制御コードがないので（Ｓ１４においてＮｏ）、ジョブ制御部１０７は、Ｓ１２で受け取ったデータの一部をＰＤＬ種別判定部１０８に渡し、結果を返してもらい、何のネイティブ言語かを判断する（Ｓ１６）。この処理は特許文献２で示されるように先頭からある程度のサイズのデータを各ＰＤＬの言語判定部に渡し、自分の言語だと判断したＰＤＬの中からジョブ制御部１０７が最終決定を行なう。ここで仮にＰｏｓｔＳｃｒｉｐｔと判断されたとする。
次に判断した結果、即ちネイティブなＰｏｓｔＳｃｒｉｐｔであればホールド保存するかどうかの設定を、ジョブ制御部１０７は、設定記憶部１０６に問い合わせる（Ｓ１７）。
【００１８】
Ｓ１１で得た投入先のキュー名がＨｏｌｄであり（Ｓ１８においてＹｅｓ）、更にＳ１７での設定がＯＮであれば（Ｓ１９においてＹｅｓ）、ジョブ制御部１０７は、ホールドジョブを生成（ホールドジョブ生成）する（Ｓ２０）。
もしキュー名がＰｒｉｎｔ若しくは他の指定であれば（Ｓ１８においてＮｏ）、ジョブ制御部１０７は、印刷ジョブを生成（印刷ジョブ生成）する（Ｓ２１）。Ｓ１９で設定がＯＦＦであった場合にも（Ｓ１９においてＮｏ）、ジョブ制御部１０７は、Ｓ２１で印刷ジョブを生成する。
上記の説明のようにしてジョブの生成処理を終了する。
この後、生成されたホールドジョブは、ジョブ制御部１０７により実行され、内容を解析され、文書管理部１０５上に保存文書として置かれ、ホールドジョブ処理が終了する。
一方、生成された印刷ジョブは、ジョブ制御部１０７により実行され、内容を解析され、プリンタ制御部１０９からプリンタエンジン２００に送られ、用紙に印刷され、印刷ジョブ処理が終了する。
保存されたホールドジョブは、ＵＩ１０１から属性を変更され、また印刷処理を指示される。印刷実行されたら、プリンタ制御部１０９からプリンタエンジン２００に送られ、印刷処理を終了する。より具体的に説明すると、ユーザは、ＵＩ１０１から保存されたホールドジョブに対して、印刷部数の属性を変更したり、印刷範囲の属性を変更したり、使用する用紙の属性を変更したりする。
【００１９】
以上の説明に従って、課題を見ると以下のことが分かる。
基幹系のサーバの設定を常時Ｈｏｌｄキューへ送信する設定にしておき、ネイティブＰｏｓｔＳｃｒｉｐｔのホールドへの保存をＯＦＦにしておくと、サーバから投入されたＰｏｓｔＳｃｒｉｐｔのジョブは即時印刷される。例えば、特殊な用紙が不足してユーザがそれを使用するジョブ設定を変更したい場合には、ネイティブＰｏｓｔＳｃｒｉｐｔのホールドへの保存をＯＮにすれば、その後にサーバから投入されたＰｏｓｔＳｃｒｉｐｔのジョブは全てホールドされる。ユーザは、ホールドされたジョブから必要なジョブを探し設定を変更し印刷を行なう。用紙が確保でき、ジョブ設定を変更する必要がなくなれば残ったホールドジョブを全て印刷し、ネイティブＰｏｓｔＳｃｒｉｐｔのホールドへの保存をＯＦＦに戻す。
この間に、別のユーザがドライバからジョブを投入していても、その投入ジョブの動作には影響を与えない。
また、ホストコンピュータ４０００上に設定されたホットフォルダからジョブが送信されていた場合にも、そのデータがＰｏｓｔＳｃｒｉｐｔでなければ、設定を変えた影響はなく、指定したとおりのジョブ動作を行なうことがわかる。仮にホットフォルダからのホールドジョブ投入が連続して外部記憶装置の容量が厳しくなった場合を想定する。このときユーザはＰＤＦのホールド保存をＯＮからＯＦＦへ切り替えれば、ホットフォルダからのホールドジョブも即時印刷でき、問題が回避できる。
このように、プロトコル若しくはＰＤＬ言語の何れかが異なれば、投入側でジョブ動作を固定としているジョブであっても、ユーザの判断によりプリンタ側でジョブ動作を切り替えられることがわかる。
この例では、全ての条件がホールドするであった場合にのみホールドするが、逆に全ての条件が印刷するであった場合には印刷し、そうでない場合には全てホールドする、という仕組みでもよい。
また、本実施形態の例では、ジョブの動作としてホールドと印刷との２通りで説明したが、メイルボックスへの保存、ファクシミリ送信、外部ストレージへの保存、であってもよい。
また、例えば、ジョブ制御部１０７は、投入されたジョブのＰＤＬデータの言語を、機器で予め設定されている言語に一意に決定するようにしてもよい。
【００２０】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００２１】
以上、上述し各実施形態によれば、片方向通信のプロトコルで複数のジョブ投入経路がある環境でも、ユーザがジョブの動作制御を切り替え可能とすることができる。
【００２２】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図１】
0005932484.tif 000002
【図２】
0005932484.tif 000003
【図３】
0005932484.tif 000004
【図４】
0005932484.tif 000005
【図５】
0005932484.tif 000006
【図６】
0005932484.tif 000007