(57)【要約】【課題】  印刷処理の高速化を低コストで実現する。【解決手段】  汎用ＯＳ印刷システム２１２において印刷データを処理し、印刷装置１３１に送信する情報処理装置１２０のコンピュータに、複数のページから構成される前記印刷データを先頭ページから、順次、受信する受信工程と、前記受信したページの数が所定のページ数に到達するごとに、当該所定のページ数のデータを、１の印刷ジョブとして、ジョブ番号とともに、順次、汎用ＯＳ印刷システム２１２に出力する出力工程と、を実行させるためのプログラムであって、前記出力工程は、前記印刷データの最後のページが受信された場合に、該最後のページに、コメントを挿入する挿入工程を更に有することを特徴とする。【選択図】図３
2015121853.tif 000002
【特許請求の範囲】
【請求項１】
汎用オペレーティングシステムにおいて印刷データを処理し、印刷装置に送信する情報処理装置のコンピュータに、
複数のページから構成される前記印刷データを先頭ページから、順次、受信する受信工程と、
前記受信工程において受信されたページの数が所定のページ数に到達するごとに、当該所定のページ数のデータを、１つのファイルとして、出力順序を示す情報とともに、前記汎用オペレーティングシステムに出力する出力工程と、を実行させるためのプログラムであって、
前記出力工程は、
前記受信工程において前記印刷データの最後のページが受信された場合に、該最後のページに、
前記印刷装置において印字されることのない命令文であって、かつ、
前記汎用オペレーティングシステムにおいて処理された前記印刷データを、前記印刷装置に送信するためのプログラムによって識別可能な命令文、
を挿入する挿入工程を更に有することを特徴とするプログラム。
【請求項２】
汎用オペレーティングシステムにおいて印刷データを処理し、印刷装置に送信する情報処理装置のコンピュータに、
前記汎用オペレーティングシステムから、前記印刷データが、分割された複数のファイルとして出力された場合に、該出力されたファイルを、順次、格納していく格納工程と、
前記格納工程において格納されたファイルに付加された情報であって、前記印刷装置に前記ファイルを送信する際の送信順序を示す情報に基づいて、前記格納工程において格納されたファイルを、順次、読み出し、前記印刷装置に送信する送信工程と、
前記送信工程において読み出されたファイルに組み込まれたページから、所定の命令文が抽出された場合に、当該ページが組み込まれたファイルを、前記印刷データを構成する最後のファイルであると判定する判定工程と
を実行させるためのプログラム。
【請求項３】
汎用オペレーティングシステムにおいて印刷データを処理し、印刷装置に送信する情報処理装置における情報処理方法であって、
複数のページから構成される前記印刷データを先頭ページから、順次、受信する受信工程と、
前記受信工程において受信されたページの数が所定のページ数に到達するごとに、当該所定のページ数のデータを、１つのファイルとして、出力順序を示す情報とともに、前記汎用オペレーティングシステムに出力する出力工程と、
前記汎用オペレーティングシステムから、複数の前記ファイルが出力された場合に、該出力されたファイルを、順次、格納していく格納工程と、
前記格納工程において格納されたファイルに付加された前記出力順序を示す情報に基づいて、前記格納工程において格納されたファイルを、順次、読み出し、前記印刷装置に送信する送信工程と、
前記送信工程において読み出されたファイルに組み込まれたページから、所定の命令文が抽出された場合に、当該ページが組み込まれたファイルを、前記印刷データを構成する最後のファイルであると判定する判定工程と、を有し、
前記出力工程は、
前記受信工程において前記印刷データの最後のページが受信された場合に、該最後のページに、前記所定の命令文として、
前記印刷装置において印字されることのない命令文であって、かつ、
前記判定工程において抽出される命令文、
を挿入する挿入工程を更に有することを特徴とする情報処理方法。
【請求項４】
汎用オペレーティングシステムにおいて印刷データを処理し、印刷装置に送信する情報処理装置であって、
複数のページから構成される前記印刷データを先頭ページから、順次、受信する受信手段と、
前記受信手段により受信されたページの数が所定のページ数に到達するごとに、当該所定のページ数のデータを、１つのファイルとして、出力順序を示す情報とともに、前記汎用オペレーティングシステムに出力する出力手段と、
前記汎用オペレーティングシステムから、複数の前記ファイルが出力された場合に、該出力されたファイルを、順次、格納していく格納手段と、
前記格納手段により格納されたファイルに付加された前記出力順序を示す情報に基づいて、前記格納手段により格納されたファイルを、順次、読み出し、前記印刷装置に送信する送信手段と、
前記送信手段により読み出されたファイルに組み込まれたページから、所定の命令文が抽出された場合に、当該ページが組み込まれたファイルを、前記印刷データを構成する最後のファイルであると判定する判定手段と、を有し、
前記出力手段は、
前記受信手段により前記印刷データの最後のページが受信された場合に、該最後のページに、前記所定の命令文として、
前記印刷装置において印字されることのない命令文であって、かつ、
前記判定手段により抽出される命令文、
を挿入する挿入手段を更に有することを特徴とする情報処理装置。
【請求項５】
印刷装置と、
汎用オペレーティングシステムにおいて印刷データを処理し、前記印刷装置に送信する情報処理装置のコンピュータに実行させるプログラムと、
を有する情報処理システムであって、
前記プログラムを構成する第１のプログラムは、前記コンピュータに、
前記汎用オペレーティングシステムから、前記印刷データが、分割された複数のファイルとして出力された場合に、該出力されたファイルを、順次、格納していく格納工程と、
前記格納工程において格納されたファイルに付加された情報であって、前記印刷装置に前記ファイルを送信する際の送信順序を示す情報に基づいて、前記格納工程において格納されたファイルを、順次、読み出し、前記印刷装置に送信する送信工程と、
前記送信工程において読み出されたファイルに組み込まれたページから、所定の命令文が抽出された場合に、当該ページが組み込まれたファイルを、前記印刷データを構成する最後のファイルであると判定する判定工程と
を実行させることを特徴とする情報処理システム。
【請求項６】
前記プログラムを構成する第２のプログラムは、前記コンピュータに、
複数のページから構成される前記印刷データを先頭ページから、順次、受信する受信工程と、
前記受信工程において受信されたページの数が所定のページ数に到達するごとに、当該所定のページ数のデータを、１つのファイルとして、前記送信順序を示す情報とともに、前記汎用オペレーティングシステムに出力する出力工程と、を実行させるためのプログラムであって、
前記出力工程は、
前記受信工程において前記印刷データの最後のページが受信された場合に、該最後のページに、前記所定の命令文として、
前記印刷装置において印字されることのない命令文であって、かつ、
前記判定工程において抽出される命令文
を挿入する挿入工程を更に有することを特徴とする請求項５に記載の情報処理システム。
【請求項７】
前記プログラムを実行する前記コンピュータを有する情報処理装置を有することを特徴とする請求項５または６に記載の情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
近年、システムのオープン化に伴い、これまでホストシステム環境で実現していた大量印刷の処理を、オープンシステム環境で実現することが求められている。
【０００３】
ここで、オープンシステム環境において用いられるＷｉｎｄｏｗｓ（登録商標）等の汎用ＯＳ（Operating System）の場合、所定サイズ以上の印刷データを処理することができないといった制約がある。このため、汎用ＯＳを介して大量印刷を行う場合には、予め（汎用ＯＳの上流側で）印刷データを分割しておく必要がある。
【０００４】
しかしながら、印刷データを複数の印刷ジョブに分割した場合、汎用ＯＳから出力される印刷ジョブの順序が、分割時の印刷ジョブの順序と同じにならないことがあるといった問題がある。このため、汎用ＯＳの下流側では、汎用ＯＳから出力される印刷ジョブの順序を、分割時の印刷ジョブの順序に戻すための処理が必要となる。
【０００５】
これに対して、例えば、下記特許文献１等には、汎用ＯＳの上流側で印刷データを複数の印刷ジョブに分割し、汎用ＯＳの下流側で、所望の順序に並び替える構成が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に開示された構成の場合、汎用ＯＳの上流側で印刷データの全てのページを取得し、総ページ数や分割数等の各種処理情報を解析したうえで、印刷処理を開始する必要がある。このため、印刷処理に時間がかかるといった問題がある。
【０００７】
これに対して、印刷処理の時間を短縮させるべく、印刷ジョブ単位で処理を開始し、印刷ジョブの受け渡しとは別に、汎用ＯＳの上流側と下流側との間で、別途、上記各種処理情報の受け渡しをするといった構成にすることも考えられる。しかしながら、その場合、各種処理情報を受け渡すための専用のアプリケーションを介在させる必要があり、実現に際してコストがかかるといった問題がある。
【０００８】
このようなことから、大量印刷をオープンシステム環境において実現するにあたっては、処理速度及び実現コストの観点から、専用のアプリケーションを介在させることなく、印刷ジョブ単位で印刷処理を実行する構成とすることが望ましい。
【０００９】
本発明は上記課題に鑑みてなされたものであり、印刷処理の高速化を低コストで実現することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の実施形態に係るプログラムは、以下のような構成を有する。すなわち、
汎用オペレーティングシステムにおいて印刷データを処理し、印刷装置に送信する情報処理装置のコンピュータに、
複数のページから構成される前記印刷データを先頭ページから、順次、受信する受信工程と、
前記受信工程において受信されたページの数が所定のページ数に到達するごとに、当該所定のページ数のデータを、１つのファイルとして、出力順序を示す情報とともに、前記汎用オペレーティングシステムに出力する出力工程と、を実行させるためのプログラムであって、
前記出力工程は、
前記受信工程において前記印刷データの最後のページが受信された場合に、該最後のページに、
前記印刷装置において印字されることのない命令文であって、かつ、
前記汎用オペレーティングシステムにおいて処理された前記印刷データを、前記印刷装置に送信するためのプログラムによって識別可能な命令文、
を挿入する挿入工程を更に有することを特徴とする。
【発明の効果】
【００１１】
本発明の各実施形態によれば、印刷処理の高速化を低コストで実現することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】実施形態に係る情報処理装置を含む情報処理システムの一例を示す図である。
【図２】情報処理装置のハードウェア構成を示す図である。
【図３】情報処理システムにおける印刷データの流れを示す図である。
【図４】ジョブ生成部（上流側アプリケーション）の機能構成を示す図である。
【図５】ジョブ生成部における処理内容を模式的に示した図である。
【図６】ジョブ生成部におけるジョブ生成処理の流れを示すフローチャートである。
【図７】プリンタ管理部（下流側アプリケーション）の機能構成を示す図である。
【図８】プリンタ管理部におけるジョブ送信制御処理の流れを示すフローチャートである。
【図９】プリンタ管理部におけるジョブ送信制御処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省く。
【００１４】
［第１の実施形態］
＜１．情報処理システムの全体構成＞
はじめに、本実施形態に係る情報処理装置を含む情報処理システムのシステム構成について説明する。図１は、本実施形態に係る情報処理装置１２０を含む情報処理システム１００のシステム構成の一例を示す図である。
【００１５】
図１に示すように、情報処理システム１００は、サーバ装置１１０と、情報処理装置１２０と、印刷装置群１３０とを有し、各装置は、ネットワーク１４０を介して接続されている。
【００１６】
サーバ装置１１０は、印刷対象となる印刷データ（ここでは、帳票データ）を保存・管理する。サーバ装置１１０では、ユーザからの指示に基づいて、帳票データを情報処理装置１２０を介して、印刷装置群１３０に印刷出力させることができる。
【００１７】
情報処理装置１２０は、サーバ装置１１０から送信された帳票データを、印刷装置群１３０に適したデータ形式に変換し、複数の印刷ジョブに分割したうえで、印刷装置群１３０に順次送信する。
【００１８】
印刷装置群１３０は、プリンタやＭＦＰ（Multifunction Peripheral）等の印刷機能を有する印刷装置１３１、１３２を含み、印刷装置１３１、１３２は、情報処理装置１２０からの指示に基づいて、印刷処理を行う。なお、図１の例では、印刷装置群１３０として、２台の印刷装置１３１、１３２がネットワーク１４０に接続されている場合について図示しているが、ネットワーク１４０に接続される印刷装置の数は、これに限定されない。
【００１９】
＜２．情報処理装置のハードウェア構成＞
次に、情報処理装置１２０のハードウェア構成について説明する。図２は、情報処理装置１２０のハードウェア構成を示す図である。
【００２０】
図２に示すように、情報処理装置１２０は、ＣＰＵ（コンピュータ）２０１、ＲＯＭ２０２、ＲＡＭ２０３、記憶装置２０４、ユーザインタフェース部２０５、ネットワークインタフェース部２０６を有する。なお、情報処理装置１２０を構成する各要素は、バス２０７を介して相互に接続されているものとする。
【００２１】
ＣＰＵ２０１は、ＲＡＭ２０３をワークエリアとしてＲＯＭ２０２または記憶装置２０４に記憶された各種プログラムを実行することにより、情報処理装置１２０全体を制御する。
【００２２】
記憶装置２０４は、不揮発性記憶媒体であり、ＣＰＵ２０１が実行することにより、ジョブ生成部２１０として機能するプログラム、プリンタ管理部２１１として機能するプログラムを記憶する。また、Ｗｉｎｄｏｗｓ（登録商標）等の汎用オペレーティングシステム（ＯＳ）のうち、印刷処理を司る汎用ＯＳ印刷システム２１２として機能するプログラムを記憶する。なお、ジョブ生成部２１０、プリンタ管理部２１１の機能構成の詳細は後述する。
【００２３】
ユーザインタフェース部２０５は、ユーザが各種操作を行う際に用いる操作部を有する。また、情報処理装置１２０の内部状態や、印刷装置群１３０と通信を行うことで得られた各種情報を表示する表示部を有する。
【００２４】
ネットワークインタフェース部２０６は、ネットワーク１４０を介して、サーバ装置１１０や印刷装置群１３０と通信を行うための接続部である。
【００２５】
＜３．情報処理システムにおける印刷データの流れ＞
次に、情報処理システム１００における印刷データ（ここでは帳票データ）の流れについて説明する。図３は、情報処理システム１００における印刷データの流れを説明するための図である。
【００２６】
図３に示すように、サーバ装置１１０において保存・管理されている帳票データ３００（帳票識別子＝Ａ）及び帳票データ３１０（帳票識別子＝Ｂ）は、サーバ装置１１０内のホスト印刷システム３２０を介して情報処理装置１２０に送信される。
【００２７】
情報処理装置１２０では、ジョブ生成部２１０が帳票データ３００を受信し、複数の印刷ジョブ（ファイル）に分割する。これは、汎用ＯＳ印刷システム２１２において処理可能な印刷データのサイズに制約（例えば、最大４ＧＢといった制約）があるためである。また、サイズの巨大化に伴う汎用ＯＳ印刷システム２１２によるパフォーマンスの劣化を回避するためである。このため、ジョブ生成部２１０では、帳票データ３００及び帳票データ３１０をそれぞれ、例えば４ＧＢ以下の複数の印刷ジョブに分割する。
【００２８】
図３の例では、帳票データ３００を、印刷ジョブ３０１〜印刷ジョブ３０３の３つに分割した様子を示している。また、帳票データ３１０を、印刷ジョブ３１１〜印刷ジョブ３１３の３つに分割した様子を示している。なお、印刷ジョブ３０１〜印刷ジョブ３０３には、それぞれ、"帳票Ａジョブ１"、"帳票Ａジョブ２"、"帳票Ａジョブ３"というジョブ番号（識別子）が付加されているものとする。同様に、印刷ジョブ３１１〜印刷ジョブ３１３には、それぞれ、"帳票Ｂジョブ１"、"帳票Ｂジョブ２"、"帳票Ｂジョブ３"というジョブ番号（識別子）が付加されているものとする。
【００２９】
ジョブ生成部２１０において分割することで得られた印刷ジョブ３０１〜印刷ジョブ３０３は、汎用ＯＳ印刷システム２１２に入力され、印刷装置１３１、１３２による印刷出力に必要な各種処理が実行される。同様に、ジョブ生成部２１０において分割することで得られた印刷ジョブ３１１〜印刷ジョブ３１３は、汎用ＯＳ印刷システム２１２に入力され、印刷出力に必要な各種処理が実行される。
【００３０】
このとき、汎用ＯＳ印刷システム２１２では、受信した印刷ジョブの入力順序で出力を行うとは限らず、入力順序とは異なる出力順序で印刷ジョブを出力する。図３の例では、印刷ジョブ３０１→印刷ジョブ３０２→印刷ジョブ３０３→印刷ジョブ３１１→印刷ジョブ３１２→印刷ジョブ３１３の入力順序で、汎用ＯＳ印刷システム２１２に入力されている。
【００３１】
これに対して、汎用ＯＳ印刷システム２１２では、印刷ジョブ３０１→印刷ジョブ３０２→印刷ジョブ３１１→印刷ジョブ３０３→印刷ジョブ３１３→印刷ジョブ３１２の出力順序で出力している。
【００３２】
プリンタ管理部２１１では、汎用ＯＳ印刷システム２１２より受信した印刷ジョブ３０１〜３１３のうち、印刷ジョブ３０１〜３０３を、分割時の印刷ジョブの順序で印刷装置１３１に出力する。続いて、印刷ジョブ３１１〜３１３を、分割時の印刷ジョブの順序で印刷装置１３２に出力する。
【００３３】
以上の説明から明らかなように、オープンシステム環境においては、汎用ＯＳ印刷システム２１２において処理可能な印刷データのサイズに制約がある。このため、汎用ＯＳ印刷システム２１２の上流側に位置するアプリケーション（図３の例では、ジョブ生成部２１０）が印刷データを分割し、複数の印刷ジョブを生成する処理を実行する。更に、汎用ＯＳ印刷システム２１２の下流側に位置するアプリケーション（図３の例では、プリンタ管理部２１１）が、汎用ＯＳ印刷システム２１２より出力された印刷ジョブを、分割時の順序にして印刷装置１３１または１３２に送信する処理を実行する。
【００３４】
＜４．ジョブ生成部及びプリンタ管理部の機能の概要＞
次に、ジョブ生成部２１０及びプリンタ管理部２１１における印刷処理に関する機能の概要について説明する。図３に示した印刷データの流れを実現するにあたり、
・情報処理システム１００全体の印刷処理を高速化させ、かつ、
・汎用ＯＳ印刷システム２１２の上流側と下流側との間に、各種処理情報の受け渡しを行うための専用のアプリケーションを介在させることなく、下流側で、印刷ジョブを分割時の順序で送信できるようにする、
ために、本実施形態に係る情報処理装置１２０では、ジョブ生成部２１０（上流側アプリケーション）及びプリンタ管理部２１１（下流側アプリケーション）に以下のような機能を設けている。
（ａ）ジョブ生成部２１０（上流側アプリケーション）
・受信した印刷データから印刷ジョブを分割するごとに、順次、印刷ジョブを汎用ＯＳ印刷システム２１２に送信していく機能（つまり、印刷ジョブ単位で、処理を実行する機能）。
・印刷データを分割する際に、プリンタ管理部２１１に受け渡すべき情報を印刷ジョブの所定のページに挿入する機能。
（ｂ）プリンタ管理部２１１（下流側アプリケーション）
・汎用ＯＳ印刷システム２１２から印刷ジョブを受信した場合に、分割時の順序どおりであれば、そのまま印刷装置１３１に出力する機能。
・分割時の順序と異なっていれば、正しい順序で出力できる状態になるまで当該印刷ジョブの出力を待機させる機能。
・印刷ジョブの所定のページに挿入された情報を抽出し、最後の印刷ジョブであることを判定する機能。
【００３５】
ここで、ジョブ生成部２１０及びプリンタ管理部２１１に上記機能を設けるにあたっては、以下のような制約が生じる。
・印刷ジョブ単位で処理を実行していくため、ジョブ生成部２１０が、印刷データの最終ページを認識し、印刷データの総ページ数や、分割数が確定した時点では、既に、生成した印刷ジョブは汎用ＯＳ印刷システム２１２に送信済されてしまっている。このため、印刷データの最終ページを含む印刷ジョブ以前の印刷ジョブには、印刷データの総ページ数や分割数といった各種処理情報を挿入することができない。
・プリンタ管理部２１１では、分割時の印刷ジョブの順序が印刷ジョブに付加されていない限り、分割時の印刷ジョブの順序を知ることができない。また、同一の印刷データから分割された複数の印刷ジョブのうち、最後の印刷ジョブを識別するための情報が挿入されていない限り、プリンタ管理部２１１では、最後の印刷ジョブを識別することができない。この場合、プリンタ管理部２１１では、次の印刷データの処理に移行していよいのか否か（前の印刷データの印刷ジョブを待ち続けるべきか否か）を判断することができない。
【００３６】
そこで、上記制約に対応するため、ジョブ生成部２１０及びプリンタ管理部２１１では、以下のような処理を実行する。
（ａ）ジョブ生成部２１０
・印刷データを分割し、印刷ジョブを生成するごとに、当該印刷ジョブに、分割時の順序を示す情報を付加する。
・印刷データの最後のページに、最後のページであることを示す情報を挿入する。
（ｂ）プリンタ管理部２１１
・印刷ジョブに付加された、分割時の順序を示す情報に基づいて、印刷装置１３１への印刷ジョブの送信を制御する。
・受信した印刷ジョブに含まれる各ページに、最後のページであることを示す情報が含まれているか否かを判断する。そして、最後のページであることを示す情報が含まれている場合には、当該ページが含まれる印刷ジョブが印刷装置１３１へ送信されたことをもって、印刷データの印刷処理が完了したと判断し、次の印刷データの印刷処理に移行する。
【００３７】
＜５．ジョブ生成部の詳細構成＞
次に、上記処理を実行するジョブ生成部２１０の詳細構成について説明する。
【００３８】
＜５．１  ジョブ生成部の機能構成＞
はじめに、ジョブ生成部２１０の機能構成について説明する。図４は、ジョブ生成部２１０の詳細な機能構成を示す図である。図４に示すように、ジョブ生成部２１０は、データ送受信部４０１、データ処理部４０２、ページ監視・分割部４０３、ジョブ番号生成部４０４、コメント生成部４０５を有する。
【００３９】
データ送受信部４０１は、サーバ装置１１０から印刷データとして、帳票データ３００及び帳票データ３１０を受信する。また、印刷データを分割することで生成された印刷ジョブ３０１〜３１３を汎用ＯＳ印刷システム２１２に出力する。
【００４０】
データ処理部４０２は、データ送受信部４０１において受信した印刷データを、順次、汎用印刷システム２１２が処理できるデータ形式に変換する変換処理を行う。
【００４１】
ページ監視・分割部４０３は、変換処理された印刷データを複数の印刷ジョブに分割する。具体的には、まず１番目の印刷ジョブを生成しておく。そして、データ処理部４０２において、順次、変換処理された印刷データのページ数をカウントしていき、所定のページ数（例えば、４ＧＢに相当するページ数）に到達するまで、当該１番目の印刷ジョブに、当該カウントしたページを組み込んでいく。その後、所定のページ数に到達したら、２番目の印刷ジョブを生成し、続きのページから所定のページ数に到達するまで、印刷データのページ数をカウントしながら、カウントしたページを順次印刷ジョブに組み込んでいく。これらの処理を繰り返すことで、印刷データを複数の印刷ジョブに分割することができる。
【００４２】
ジョブ番号生成部４０４は、ページ監視・分割部４０３において印刷ジョブが生成されるごとに、ジョブ番号を生成する。生成したジョブ番号は、ページ監視・分割部４０３が当該印刷ジョブに付加する。
【００４３】
コメント生成部４０５は、ページ監視・分割部４０３において実行される、印刷データを複数の印刷ジョブに分割する処理において、印刷データの最後のページに到達した場合に、当該最後のページに挿入すべきコメント（命令文）を生成する。生成したコメントは、ページ監視・分割部４０３が最後のページに挿入する。
【００４４】
図５は、ジョブ生成部２１０において生成された印刷ジョブ３０１〜３１３を模式的に示した図である。図５の例では、印刷データとして８５００ページからなる帳票データ３００（帳票識別子＝Ａ）と、６２００ページからなる帳票データ３１０（帳票識別子＝Ｂ）とを対象にジョブ生成処理を実行したケースを示している。なお、ここでは帳票データ３０００ページが４ＧＢ分のサイズを有しているものとする。
【００４５】
図５に示すように、印刷ジョブ３０１〜３１３に付加されるジョブ番号には、分割前の印刷データを示す帳票識別子と、分割時の印刷ジョブの順序を示す情報とが含まれている。例えば、ジョブ番号"帳票Ａジョブ１"は、分割前の印刷データが"帳票識別子＝Ａ"の帳票データであり、分割時に１番目に生成された印刷ジョブであること示している。同様に、"帳票Ａジョブ２"、"帳票Ａジョブ３"は、それぞれ、２番目及び３番目に生成された印刷ジョブであることを示している。
【００４６】
一方、ジョブ番号"帳票Ｂジョブ１"は、分割前の印刷データが"帳票識別子＝Ｂ"の帳票データであり、分割時に１番目に生成された印刷ジョブであることを示している。同様に、"帳票Ｂジョブ２"、"帳票Ｂジョブ３"は、それぞれ、２番目及び３番目に生成された印刷ジョブであることを示している。
【００４７】
また、図５に示すように、印刷ジョブ３０１には、印刷データの１ページ目（先頭ページである参照番号５０１）から３０００ページ目（参照番号５０２）の各ページが組み込まれている。同様に、印刷ジョブ３０２には、印刷データの３００１ページ目（参照番号５０３）から６０００ページ目（参照番号５０４）の各ページが組み込まれている。更に、印刷ジョブ３０３には、印刷データの６００１ページ目（参照番号５０５）から８５００ページ目（参照番号５０６）の各ページが組み込まれている。
【００４８】
一方、印刷ジョブ３１１には、印刷データの１ページ目（先頭ページである参照番号５１１）から３０００ページ目（参照番号５１２）の各ページが組み込まれている。同様に、印刷ジョブ３１２には、印刷データの３００１ページ目（参照番号５１３）から６０００ページ目（参照番号５１４）の各ページが組み込まれている。更に、印刷ジョブ３１３には、印刷データの６００１ページ目（参照番号５１５）から６２００ページ目（参照番号５１６）の各ページが組み込まれている。
【００４９】
更に、図５に示すように、印刷ジョブ３０３に組み込まれている最後のページ（８５００ページ目、参照番号５０６）には、コメント５０７として最後のページであることを示す記載が挿入されている。同様に、印刷ジョブ３１３に組み込まれている最後のページ（６２００ページ目、参照番号５１６）には、コメント５１７として最後のページであることを示す記載が挿入されている。
【００５０】
＜５．２  ジョブ生成部におけるジョブ生成処理の流れ＞
次に、ジョブ生成部２１０におけるジョブ生成処理の流れについて説明する。図６は、ジョブ生成部２１０におけるジョブ生成処理の流れを示すフローチャートである。なお、ここでは説明を簡略化するため、サーバ装置１１０より、印刷データとして帳票データ３００が送信された場合について説明する。
【００５１】
ステップＳ６０１では、ジョブ番号生成部４０４がジョブ番号として"帳票Ａジョブ１"を生成し、ページ監視・分割部４０３が、当該ジョブ番号を付加した印刷ジョブを生成する。ステップＳ６０２では、データ送受信部４０１が、サーバ装置１１０より帳票データ３００を１ページ目から順次受信する。ステップＳ６０３では、データ送受信部４０１において受信された帳票データ３００を、データ処理部４０２が汎用印刷システム２１２に適したデータ形式に変換する変換処理を行う。
【００５２】
ステップＳ６０４では、ステップＳ６０３において変換処理されたページが帳票データ３００の最後のページであるか否かを、ページ監視・分割部４０３が判定する。ステップＳ６０４において、最後のページであると判定された場合には、ステップＳ６０９に進む。
【００５３】
一方、最後のページではないと判定された場合には、ステップＳ６０５に進む。ステップＳ６０５では、ページ監視・分割部４０３が、現在の印刷ジョブ（ジョブ番号＝"帳票Ａジョブ１"）に組み込まれた印刷データのページ数が所定のページ数（例えば、４ＧＢに相当するページ数）に到達したか否かを判定する。
【００５４】
ステップＳ６０５において所定のページ数に到達していないと判定した場合には、ステップＳ６０３において変換処理されたページを、現在の印刷ジョブ（ジョブ番号＝"帳票Ａジョブ１"）に組み込み、ステップＳ６０２に戻る。
【００５５】
一方、ステップＳ６０５において所定のページ数に到達したと判定した場合には、ステップＳ６０６に進む。ステップＳ６０６では、ページ監視・分割部４０３が、ステップＳ６０３において変換処理されたページを、現在の印刷ジョブ（ジョブ番号＝"帳票Ａジョブ１"）に組み込む。更に、データ送受信部４０１が、現在の印刷ジョブを汎用ＯＳ印刷システム２１２に出力する。
【００５６】
ステップＳ６０７では、ジョブ番号生成部４０４がジョブ番号をインクリメントし、新たなジョブ番号を生成する（ここでは、ジョブ番号＝"帳票Ａジョブ２"を生成する）。ステップＳ６０８では、ページ監視・分割部４０３が、新規の印刷ジョブを生成し、ジョブ番号生成部４０４において生成されたジョブ番号を、当該新規の印刷ジョブに付加したのち、ステップＳ６０２に戻る。
【００５７】
このように、ステップＳ６０２からステップＳ６０８までの処理を繰り返すことで、順次、印刷ジョブ３０１、印刷ジョブ３０２、印刷ジョブ３０３が生成される。
【００５８】
一方、ステップＳ６０４において、最後のページであると判定され、ステップＳ６０９に進むと、ステップＳ６０９では、コメント生成部４０５が最後のページであることを示す情報を生成する。更に、ページ監視・分割部４０３が、生成したコメントを、当該最後のページに挿入する。
【００５９】
ステップＳ６１０では、ページ監視・分割部４０３が、当該最後のページを印刷ジョブ（ジョブ番号＝"帳票Ａジョブ３"）に組み込む。更に、データ送受信部４０１が当該最後のページが組み込まれた印刷ジョブを汎用ＯＳ印刷システム２１２に出力する。
【００６０】
＜６．プリンタ管理部の詳細構成＞
次に、上記処理を実行するプリンタ管理部２１１の詳細構成について説明する。
【００６１】
＜６．１  プリンタ管理部の機能構成＞
はじめに、プリンタ管理部２１１の機能構成について説明する。図７は、プリンタ管理部２１１の詳細な機能構成を示す図である。図７に示すように、プリンタ管理部２１１は、ジョブ送受信部７０１、ジョブ格納部７０２、送信ジョブ制御部７０３、印刷状態監視部７０４、ＧＵＩ部７０５、エラー状態監視部７０６を有する。
【００６２】
ジョブ送受信部７０１は、汎用ＯＳ印刷システム２１２から出力された印刷ジョブを受信する。また、送信ジョブ制御部７０３において送信順序が制御された印刷ジョブを、印刷装置１３１、１３２に送信する。
【００６３】
ジョブ格納部７０２は、汎用ＯＳ印刷システム２１２から出力されジョブ送受信部７０１において受信された印刷ジョブを、記憶装置２０４内に格納する。
【００６４】
送信ジョブ制御部７０３は、ジョブ格納部７０２により記憶装置２０４内に格納された印刷ジョブを、分割時の印刷ジョブの順序で送信するよう制御する。具体的には、所定のタイミングで記憶装置２０４内を探索し、分割時の印刷ジョブの順序に即した印刷ジョブが格納されていた場合には、当該印刷ジョブを読み出し、ジョブ送受信部７０１に送る。なお、ジョブ送受信部７０１では、送信ジョブ制御部７０３から送られた順序に従って、印刷ジョブを印刷装置１３１、１３２に送信する。
【００６５】
印刷状態監視部７０４は、印刷装置１３１、１３２と通信することで、印刷装置１３１、１３２の印刷状態を監視する。印刷状態監視部７０４では、印刷装置１３１、１３２が印刷ジョブの処理を完了した場合に、処理が完了したことを送信ジョブ制御部７０３に通知する。これにより、送信ジョブ制御部７０３では、次の印刷ジョブを印刷装置１３１、１３２に送信するための制御を行う。
【００６６】
ＧＵＩ部７０５は、ユーザが情報処理装置１２０に対して各種操作を行うための操作画面を提供する。なお、提供した操作画面を介してユーザにより入力された操作内容は、送信ジョブ制御部７０３に通知される。送信ジョブ制御部７０３では、ユーザの操作内容に応じて、印刷ジョブの送信を制御する。また、ＧＵＩ部７０５は、印刷状態監視部７０４が監視している印刷装置１３１、１３２の印刷状態を表示する。更に、エラー状態監視部７０６が監視している印刷装置１３１、１３２のエラー状態を表示する。
【００６７】
エラー状態監視部７０６は、印刷装置１３１、１３２と通信することで、印刷装置１３１、１３２のエラー状態を監視する。エラー状態監視部７０６では、印刷装置１３１、１３２においてエラーが発生した場合に、ＧＵＩ部７０５に通知する。ＧＵＩ部７０５では、エラー状態監視部７０６からの通知に応じて、エラー状態を表示する。
【００６８】
＜６．２  ＧＵＩ部の詳細機能＞
次に、ＧＵＩ部７０５の詳細機能について説明する。ＧＵＩ部７０５は、印刷状態監視部７０４における監視結果、エラー状態監視部７０６における監視結果等に応じた表示画面を提供する。
【００６９】
具体的には、印刷処理実行中に、印刷する用紙サイズまたは用紙名が変化した場合に、"用紙変更画面"と"印刷ページ指定画面"とを表示する。"用紙変更画面"は、ユーザに、用紙の変更を促すための画面であり、"印刷ページ指定画面"は、ユーザが、印刷開始ページを指定するための画面である。
【００７０】
用紙変更画面の表示に従って、ユーザが用紙を変更し、印刷ページ指定画面において印刷開始ページを指定すると、当該指定に応じて送信ジョブ制御部７０３では、当該ページから印刷を開始するための制御を行う。
【００７１】
また、印刷ページ指定画面は、用紙詰まりや用紙切れが起きた場合にも表示される。用紙詰まりや用紙切れ等のエラーが起きた場合の印刷開始ページには、デフォルト値として、エラーが起きた時点でのページ番号が入力される。これにより、ユーザは、印刷処理の再実行を指示するだけで、エラーが起きたページから、継続して印刷処理を再開させることができる。なお、デフォルト値をキャンセルして、別途、ページ番号を入力することで、ユーザは、任意のページから印刷処理を再開させることもできる。
【００７２】
更に、印刷ページ指定画面は、ユーザがマニュアル操作することによっても表示させることもできる。この場合も、ユーザは、任意のページから、印刷処理を再実行させることができる。なお、ここでいう任意のページには、既に印刷装置１３１、１３２に出力された印刷ジョブのページも含まれるものとする。
【００７３】
＜６．３  プリンタ管理部におけるジョブ送信制御処理の流れ＞
次に、プリンタ管理部２１１におけるジョブ送信制御処理の流れについて説明する。図８は、プリンタ管理部２１１におけるジョブ送信制御処理の流れを示すフローチャートである。なお、ここでは説明を簡略化するため、汎用ＯＳ印刷システム２１２より、印刷ジョブ３０１〜印刷ジョブ３０３が出力された場合のジョブ送信制御処理について説明する。
【００７４】
ステップＳ８０１では、送信ジョブ制御部７０３が、帳票識別子カウンタαとして、"帳票識別子＝Ａ"を代入する。また、ステップＳ８０２では、送信ジョブ制御部７０３が、ジョブカウンタｎとして"１"を代入する。
【００７５】
ステップＳ８０３では、汎用ＯＳ印刷システム２１２より印刷ジョブを順次受信する。ここでは、ジョブ番号として"帳票Ａジョブ１"が付加された印刷ジョブを受信したとする。
【００７６】
ステップＳ８０４では、ジョブ格納部７０２が、受信した印刷ジョブを記憶装置２０４に格納する。
【００７７】
ステップＳ８０５では、送信ジョブ制御部７０３が、受信した印刷ジョブに付加されたジョブ番号に含まれる帳票識別子を抽出する。更に、ステップＳ８０６では、抽出した帳票識別子が、帳票識別子リストに登録済みであるか否かを判定する。なお、帳票識別子リストとは、帳票識別子の抽出順序を管理するためのリストであり、先入先出（ＦＩＦＯ）方式で登録される。
【００７８】
ステップＳ８０６における判定の結果、抽出した帳票識別子が、帳票識別子リストに登録されていないと判定された場合には、ステップＳ８０７に進む。ステップＳ８０７では、送信ジョブ制御部７０３が、ステップＳ８０５において抽出した帳票識別子を、帳票識別子リストの最後に追加する。ここでは、帳票識別子＝"Ａ"が、帳票識別子リストの最後に追加される。なお、ステップＳ８０７において帳票識別子を追加した後は、ステップＳ８０３に戻る。
【００７９】
一方、ステップＳ８０６における判定の結果、抽出した帳票識別子が、帳票識別子リストに既に登録済みであると判定された場合には、そのままステップＳ８０８に進む。
【００８０】
ステップＳ８０８では、送信ジョブ制御部７０３が、記憶装置２０４内を探索する。具体的には、帳票識別子カウンタα＝"Ａ"で、ジョブカウンタｎ＝"１"が含まれるジョブ番号が付加された印刷ジョブを探索する。
【００８１】
ステップＳ８０９では、探索の結果に基づいて、帳票識別子カウンタα＝"Ａ"で、ジョブカウンタｎ＝"１"が含まれるジョブ番号が付加された印刷ジョブが記憶装置２０４内に格納されているか否かを判定する。ステップＳ８０９において、当該印刷ジョブが記憶装置２０４内に格納されていないと判定した場合には、ステップＳ８０３に戻る。
【００８２】
一方、ステップＳ８０９において、当該印刷ジョブが記憶装置２０４内に格納されていると判定した場合には、ステップＳ８１０に進む。ここでは、記憶装置２０４内に、ジョブ番号＝"帳票Ａジョブ１"が付加された印刷ジョブが格納されているため、ステップＳ８１０に進む。
【００８３】
ステップＳ８１０では、送信ジョブ制御部７０３が、ジョブ番号＝"帳票Ａジョブ１"が付加された印刷ジョブを記憶装置２０４より読み出す。
【００８４】
ステップＳ８１１では、送信ジョブ制御部７０３が、ステップＳ８１０において読み出した印刷ジョブに組み込まれた各ページ内に、コメントが挿入されているか否かを判定する。
【００８５】
ステップＳ８１１において、コメントが挿入されていると判定された場合には、図９のステップＳ９０１に進む。一方、コメントが挿入されていないと判定した場合には、ステップＳ８１２に進む。ジョブ番号＝"帳票Ａジョブ１"が付加された印刷ジョブには、最後のページが組み込まれていないため、ここでは、ステップＳ８１２に進む。
【００８６】
ステップＳ８１２では、ステップＳ８１０において送信ジョブ制御部７０３が読み出した印刷ジョブを、ジョブ送受信部７０１が印刷装置１３１に送信する。更に、ステップＳ８１３では、送信ジョブ制御部７０３が、ジョブカウンタｎをインクリメントした後、ステップＳ８０８に戻る。
【００８７】
ステップＳ８０８及びＳ８０９において、帳票識別子カウンタα＝"Ａ"で、ジョブカウンタｎ＝"２"が含まれるジョブ番号が付加された印刷ジョブが記憶装置２０４内に格納されているか否かを判定する。格納されていないと判定した場合には、ステップＳ８０３〜ステップＳ８０９の処理が繰り返し実行される。そして、帳票識別子カウンタα＝"Ａ"で、ジョブカウンタｎ＝"２"が含まれるジョブ番号が付加された印刷ジョブが記憶装置２０４内に格納されると、ジョブ送受信部７０１が、当該印刷ジョブを印刷装置１３１に送信する。
【００８８】
一方、ステップＳ８１１において、コメントが挿入されていると判定された場合には、図９のステップＳ９０１に進む。ステップＳ９０１では、ステップＳ８１０において送信ジョブ制御部７０３が読み出した印刷ジョブを、ジョブ送受信部７０１が印刷装置１３１に送信する。
【００８９】
ここでは、ジョブ番号＝"帳票Ａジョブ３"が付加された印刷ジョブに、最後のページが組み込まれているため、ステップＳ９０１では、当該印刷ジョブが印刷装置１３１に送信される。
【００９０】
ステップＳ９０２では、ジョブ格納部７０２が、記憶装置２０４内に格納されている印刷ジョブのうち、ステップＳ９０１において送信された印刷ジョブと同じ帳票識別子を含むジョブ番号が付加された印刷ジョブを、記憶装置２０４から削除する。
【００９１】
更に、ステップＳ９０３では、送信ジョブ制御部７０３が、次の印刷データがあるか否かを判定する。具体的には、記憶装置２０４内に、他の帳票識別子を含むジョブ番号が付加された印刷ジョブが格納されているか否かを判定する。
【００９２】
ステップＳ９０３において、次の印刷データがあると判定した場合には、ステップＳ９０４に進む。ステップＳ９０４では、送信ジョブ制御部７０３が、帳票識別子リストから次の帳票識別子を取り出し、帳票識別子カウンタαに代入する。ここでは、帳票識別子リストから次の帳票識別しである"Ｂ"を取り出し、帳票識別子カウンタαに代入する。その後、ステップＳ８０２に戻り、同様の処理を繰り返す。
【００９３】
一方、ステップＳ９０３において、次の印刷データがないと判定した場合には、ジョブ送信制御処理を終了する。
【００９４】
＜７．まとめ＞
以上の説明から明らかなように、本実施形態では、
・オープンシステム環境において大量印刷の処理を実現すべく、汎用ＯＳ印刷システムを介して、印刷処理を行う構成とした。
・汎用ＯＳ印刷システムの制約等に対応するために、汎用ＯＳ印刷システムの上流側のアプリケーションに、印刷データを所定ページ数以下の印刷ジョブに分割する機能をもたせる構成とした。
・印刷処理の高速化を図るべく、汎用ＯＳ印刷システムの上流側及び下流側のアプリケーションを、印刷ジョブ単位で印刷処理を実行する構成とした。
・汎用ＯＳ印刷システムが、印刷ジョブの出力順序を保証していない点に対処するため、汎用ＯＳ印刷システムの下流側アプリケーションに、印刷ジョブの出力順序を分割時の順序に戻す機能をもたせる構成とした。
・下流側アプリケーションが、印刷ジョブの出力順序を戻すことができるよう、上流側アプリケーションでは、印刷ジョブに、分割時の順序を示す情報を付加する構成とした。
・印刷ジョブ単位で処理を行った場合に、下流側アプリケーションが、最後の印刷ジョブを識別することができない点に対処するため、上流側アプリケーションでは、印刷データの最後のページにコメントを挿入する構成とした。
【００９５】
これにより、オープンシステム環境において、印刷処理の高速化を実現することが可能となる。また、上流側アプリケーションと下流側アプリケーションとの間で、情報の受け渡しを行うための専用のアプリケーションを介在させる必要がなくなり、印刷処理を低コストで実現することが可能となる。
【００９６】
［第２の実施形態］
上記第１の実施形態では、最後のページであることを示す情報を、最後のページにコメントとして挿入する構成としたが、本発明はこれに限定されない。
【００９７】
下流側アプリケーションにおいて、最後のページであることが識別可能であれば、他の方法であってもよい。ただし、上記第１の実施形態に示す印刷処理を実現するためには、以下のような制約を満たす必要がある。
・下流側アプリケーションでは、汎用ＯＳ印刷システム２１２を介して、印刷ジョブを受信するため、汎用ＯＳ印刷システム２１２において削除されることない命令文に、最後のページであることを示す情報が挿入される必要がある。
・印刷ジョブ単位で印刷処理が実行されるため、上流側アプリケーションでは、印刷データの最後のページに到達した場合に、はじめて最後のページであることを識別することができる。このため、最後のページであることを示す情報は、最後のページに挿入可能な命令文であることが必要である。
・下流側アプリケーションで受信した印刷ジョブは、印刷装置において印刷出力されるため、最後のページであることを示す情報は、印刷出力時に印字されない形で、最後のページに挿入されることが必要である。
【００９８】
なお、上記制約を満たす命令文としては、上記第１の実施形態で説明した"コメント命令"のほか、例えば、ＰＪＬ（Printer Job Language）命令が挙げられる。ただし、上記制約を満たす命令文であれば、コメント命令やＰＪＬに限定されるものではない。
【００９９】
［その他の実施形態］
上記実施形態に挙げた構成等に、その他の要素との組み合わせなど、ここで示した構成に本発明が限定されるものではない。これらの点に関しては、本発明の趣旨を逸脱しない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
【符号の説明】
【０１００】
１００          情報処理システム
１１０          サーバ装置
１２０          情報処理装置
１３０          印刷装置群
１３１、１３２  印刷装置
２０１          ＣＰＵ
２０２          ＲＯＭ
２０３          ＲＡＭ
２０４          記憶装置
２０５          ユーザインタフェース部
２０６          ネットワークインタフェース部
２０７          バス
２１０          ジョブ生成部
２１１          プリンタ管理部
２１２          汎用ＯＳ印刷システム
【先行技術文献】
【特許文献】
【０１０１】
【特許文献１】特開２０１３−０７７１２９号公報
【図１】
2015121853.tif 000003
【図２】
2015121853.tif 000004
【図３】
2015121853.tif 000005
【図４】
2015121853.tif 000006
【図５】
2015121853.tif 000007
【図６】
2015121853.tif 000008
【図７】
2015121853.tif 000009
【図８】
2015121853.tif 000010
【図９】
2015121853.tif 000011