JP2013016103A - 情報処理システム及び情報処理装置 - Google Patents

情報処理システム及び情報処理装置 Download PDF

Info

Publication number
JP2013016103A
JP2013016103A JP2011149838A JP2011149838A JP2013016103A JP 2013016103 A JP2013016103 A JP 2013016103A JP 2011149838 A JP2011149838 A JP 2011149838A JP 2011149838 A JP2011149838 A JP 2011149838A JP 2013016103 A JP2013016103 A JP 2013016103A
Authority
JP
Japan
Prior art keywords
print
print data
print setting
unit
information processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2011149838A
Other languages
English (en)
Other versions
JP5961937B2 (ja
Inventor
Akikazu Ono
晃和 小野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2011149838A priority Critical patent/JP5961937B2/ja
Publication of JP2013016103A publication Critical patent/JP2013016103A/ja
Application granted granted Critical
Publication of JP5961937B2 publication Critical patent/JP5961937B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

【課題】所定の印刷設定項目の値をDEVMODE構造体を用いずに有効化すること。
【解決手段】第一の情報処理装置と、第一の情報処理装置から転送される印刷要求に関する印刷を印刷装置に実行させる第二の情報処理装置とを有する情報処理システムであって、各情報処理装置は、印刷装置に印刷させる印刷データを生成する生成部と、印刷装置への印刷データの送信制御を行う送信制御部と、送信制御部による印刷データの送信制御を行う前に、該印刷データに対する処理を行う処理部とを有し、第一の情報処理装置は、印刷設定項目に対する値の設定を受け付け、所定の印刷設定項目に関して設定された値を、第二の情報処理装置の処理部に通知する設定部を有し、第二の情報処理装置の生成部は、印刷要求に応じ、所定の印刷設定項目に関する値を第二の情報処理装置の処理部より取得し、取得された値に応じた印刷データを生成する。
【選択図】図7

Description

本発明は、プリンタに印刷を実行させる情報処理システム及び情報処理装置に関する。
Windows(登録商標)において、プリンタドライバの機能は、印刷設定の受け付け機能と、印刷対象の文書データに関する印刷データ(RAWデータ)の生成機能とに大別される。前者の機能を担う部分を、以下「印刷設定部」といい。後者の機能を担う部分を、以下「描画部」という。
図1は、印刷設定部と描画部との関係を示す図である。印刷設定部と描画部とは直接的にはやりとりは行わず、OSからの通知に応じてそれぞれの機能に応じた処理を行う。また、印刷設定部が受け付けた印刷設定の内容は、DEVMODE構造体を介して描画部に伝達される。すなわち、印刷設定部は、OSからの印刷設定の受け付け要求に応じ、対応するプリンタに対するプロパティダイアログを表示させる。印刷設定部は、当該プロパティダイアログに対して設定された値をDEVMODE構造体に記録する。描画部は、OSからの印刷開始要求に応じ、DEVMODE構造体の値を参照し、当該値に応じた印刷データを生成する。
一方、特許文献1には、印刷設定の値を、DEVMODE構造体とは別に、印刷設定保持モジュールと呼ばれるプログラムモジュールを利用して管理する技術が記載されている。
図2は、印刷設定保持モジュールを用いた印刷設定の管理形態を示す図である。同図では、DEVMODE構造体に関しては、便宜上、省略されている。
印刷設定部は、所定の印刷設定項目の値に関しては、印刷設定保持モジュールに通知する。印刷設定保持モジュールは、メモリに当該値を記憶する。描画部は、印刷開始要求に応じ、所定の印刷設定項目の値に関しては、印刷設定保持モジュールより取得し、当該値が反映された印刷データを生成する。
印刷設定保持モジュールを用いることにより、DEVMODE構造体に関する各種の制約に拘束されずに、より柔軟で利便性の高い印刷設定機構を実現することができる。
他方において、Windows(登録商標)の印刷システムでは、アプリケーションからの印刷指示に同期した処理においてスプールされる印刷データが、RAW形式である動作モード(以下、「RAWモード」という。)と、EMF(Enhanced Meta File)形式である動作モード(以下、「EMFモード」という。)とがある。プリントサーバが設置されるシステム環境(すなわち、クライアント・サーバ環境)では、RAWモードの場合とEMFモードの場合とで、描画部が動作する位置が異なる。なお、以下において、EMFモードは、CSR(Client Side Rendering)以外をいう。CSRは、Window(登録商標)Vista以降でサポートされている機能であり、CSRの場合は、クライアント側で描画部が動作するからである。
図3は、RAWモード及びEMFモードにおける描画部の動作位置を説明するための図である。同図における矢印は、データの流れを示すものであり、必ずしも各部の呼び出し関係を示すものではない。
同図において、(A)は、RAWモードの場合の印刷データの流れを示す。RAWモードの場合、アプリケーションからの印刷命令は、GDI(Graphic Device Interface)を介して、描画部に入力される。描画部は、印刷命令に応じたRAWデータを生成する。描画部によって生成されたRAWデータは、スプーラによってスプールされる。スプールされたRAWデータは、プリントサーバに転送され、更に、プリンタに転送されて印刷される。
一方、(B)は、EMFモードの場合の印刷データの流れを示す。EMFモードの場合、GDIは、アプリケーションからの印刷命令に応じ、EMFデータを生成する。EMFデータは、スプーラによってスプールされる。スプールされたEMFデータは、プリントサーバに転送される。プリントサーバにおいて、EMFデータは、描画部によってRAWデータに変換される。当該RAWデータは、プリンタに転送されて印刷される。
このように、RAWモードの場合、描画部は、クライアントPCにおいて動作する。一方、EMFモードの場合、描画部は、プリントサーバにおいて動作する。なお、印刷設定部に関しては、いずれの場合もクライアントPCにおいて動作するため、図3では省略されている。
図3において明らかなように、EMFモードで、かつ、プリントサーバが利用されるシステム環境(以下、「EMFクライアント・サーバ環境」という。)では、印刷設定部と描画部とは、相互に異なるコンピュータにおいて動作する。したがって、斯かるシステム環境では、特許文献1に記載された印刷設定保持モジュールを有効に機能させることは困難であるという問題がある。
図4は、EMFクライアント・サーバ環境における印刷設定保持モジュールの問題点を説明するための図である。
同図に示されるように、EMFクライアント・サーバ環境において、印刷設定部は、クライアントPCにおける印刷設定保持モジュールに、所定の印刷設定項目の値を通知しようとする。一方、描画部は、プリントサーバにおける印刷設定保持モジュールから、所定の印刷設定項目の値を取得しようとする。印刷設定部による値の通知先と、描画部による値の取得先とは異なる。したがって、描画部は、印刷設定部が通知した値を取得することができない。
本発明は、上記の点に鑑みてなされたものであって、所定の印刷設定項目の値をDEVMODE構造体を用いずに有効化することのできる情報処理システム及び情報処理装置の提供を目的とする。
そこで上記課題を解決するため、本発明は、第一の情報処理装置と、前記第一の情報処理装置から転送される印刷要求に関する印刷を印刷装置に実行させる第二の情報処理装置とを有する情報処理システムであって、前記第一の情報処理装置及び前記第二の情報処理装置は、前記印刷装置に印刷させる印刷データを生成する印刷データ生成部と、前記印刷装置への前記印刷データの送信制御を行う印刷データ送信制御部と、前記印刷データ送信制御部による前記印刷データの送信制御を行う前に、該印刷データに対する処理を行う印刷データ処理部とを有し、前記第一の情報処理装置は、印刷設定項目に対する値の設定を受け付け、所定の印刷設定項目に関して設定された値を、前記第二の情報処理装置の前記印刷データ処理部に通知する印刷設定部を有し、前記第二の情報処理装置の前記印刷データ生成部は、前記印刷要求に応じ、前記所定の印刷設定項目に関する値を前記第二の情報処理装置の前記印刷データ処理部より取得し、取得された値に応じた印刷データを生成する。
所定の印刷設定項目の値をDEVMODE構造体を用いずに有効化することができる。
印刷設定部と描画部との関係を示す図である。 印刷設定保持モジュールを用いた印刷設定の管理形態を示す図である。 RAWモード及びEMFモードにおける描画部の動作位置を説明するための図である。 EMFクライアント・サーバ環境における印刷設定保持モジュールの問題点を説明するための図である。 本発明の実施の形態における印刷システムの構成例を示す図である。 本発明の実施の形態におけるクライアントPCのハードウェア構成例を示す図である。 本発明の実施の形態におけるクライアントPC及びプリントサーバの機能構成例を示す図である。 クライアントPCの印刷設定部とプリントサーバの描画部とランゲージモニタとの関係を説明するための図である。 印刷処理の処理手順の一例を説明するためのシーケンス図である。 印刷ジョブと所定の印刷設定項目の値との対応関係を維持するために実行される処理手順の一例を説明するためのシーケンス図である。 ローカル環境におけるクライアントPCの機能構成例を示す図である。
以下、図面に基づいて本発明の実施の形態を説明する。図5は、本発明の実施の形態における印刷システムの構成例を示す図である。同図において、印刷システム1は、一台以上のクライアントPC10、プリントサーバ20、及びプリンタ30等を含む。プリントサーバ20、クライアントPC10、及びプリンタ30等は、LAN(Local Area Network)等のネットワーク(有線又は無線の別は問わない。)を介して通信可能に接続されている。
クライアントPC10は、ユーザによって直接利用されるコンピュータである。クライアントPC10は、文書データの印刷指示の入力を受け付け、当該文書データに関する印刷データをプリントサーバ20に送信する。本実施の形態において、印刷システム1は、EMFモード(CSR(Client Side Rendering)以外)が採用されていることとする。したがって、クライアントPC10は、EMF(Enhanced Meta File)形式の印刷データ(EMFデータ)を、プリントサーバ20に送信する。
プリントサーバ20は、クライアントPC10より受信されるEMFデータを、プリンタ30が解釈可能な形式の印刷データ(RAWデータ、すなわち、PDL(Page Description Language)データ)に変換するコンピュータである。プリントサーバ20は、変換後のRAWデータをプリンタ30に送信する。
プリンタ30は、プリントサーバ20より受信されるRAWデータを印刷する。複合機等、印刷機能以外の機能を有する画像形成装置が、プリンタ30として用いられても良い。また、複数のプリンタ30が、印刷システム1に含まれていてもよい。
なお、図5に示されるようなお、プリンタ30サーバを経由して印刷データが転送されるシステム環境を、以下、「クライアント・サーバ環境」という。
図6は、本発明の実施の形態におけるクライアントPCのハードウェア構成例を示す図である。同図において、クライアントPC10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、インタフェース装置105、表示装置106、及び入力装置107等を有する。
クライアントPC10での処理を実現するプログラムは、CD−ROM等の記録媒体101によって提供される。プログラムを記録した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従ってクライアントPC10に係る機能を実現する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。表示装置106はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置107はキーボード及びマウス等で構成され、様々な操作指示を入力させるために用いられる。
なお、プリントサーバ20に関しても、図6と同様のハードウェア構成を有していればよい。但し、プリントサーバ20は、表示装置106及び入力装置107を有していなくてもよい。
図7は、本発明の実施の形態におけるクライアントPC及びプリントサーバの機能構成例を示す図である。
同図において、クライアントPC10は、OS11、アプリケーション12、GDI13、プリンタドライバ14、スプーラ15、ランゲージモニタ16、及びポートモニタ17等のプログラムを有する。各プログラムは、クライアントPC10のCPU104に処理を実行させることにより、それぞれに実装された機能を実現する。
OS11は、OS(Operating System)である。本実施の形態では、Windows(登録商標)OSが好適である。アプリケーション12は、印刷対象とされる文書データを生成する、ワープロソフト又は表計算ソフト等のアプリケーションプログラムである。GDI(Graphic Device Interface)13は、OSが備えるグラフィック関数の集合であり、アプリケーション12とプリンタドライバ14との間を仲介する。すなわち、アプリケーション12は、印刷対象の文書データに含まれる図形、文字、又は画像等の描画要素等に関するグラフィック関数を呼び出す。GDI13は、EMFモードにおいて、アプリケーション12からの呼び出しに応じてEMFデータを生成する。EMFデータは、アプリケーション12より呼び出されたグラフィック関数に対応する描画命令の集合である。
プリンタドライバ14は、いわゆるプリンタドライバである。同図において、プリンタドライバ14は、印刷設定部141及び描画部142等を含む。印刷設定部141は、プリンタ30に対応するプロパティダイアログ(設定画面)を表示させ、プロパティダイアログを介して各種の印刷設定項目の値を受け付ける。印刷設定部141は、受け付けた値をDEVMODE構造体に記録する。DEVMODE構造体とは、Windows(登録商標)OSにおいて、各印刷設定項目の値が記録される構造体である。
描画部142は、印刷対象の文書データに関する印刷データを生成する。但し、プリントサーバ20が設置されたEMFモードにおいて、クライアントPC10のプリンタドライバ14の描画部142は、実質的には機能しない。
スプーラ15は、EMFモードにおいて、GDI13によって生成されるEMFデータを、例えば、補助記憶装置102にスプール(記憶)する。スプールされたEMFデータは、OS11によってプリントサーバ20に転送される。
ランゲージモニタ16は、後述されるランゲージモニタ25と同様のプログラムモジュールである。但し、ランゲージモニタ16は、クラインと・サーバ環境において、実施的には機能しない。
ポートモニタ17は、プリンタ30への印刷データの送信制御を行うプログラムである。但し、ポートモニタ17は、クライアント・サーバ環境においては、実施的には機能しない。または、ポートモニタ17が、プリントサーバ20へEMFデータを転送してもよい。
プリントサーバ20は、OS21、GDI22、プリンタドライバ23、スプーラ24、ランゲージモニタ25、トラックID生成モジュール26、及びポートモニタ27等のプログラムを有する。各プログラムは、プリントサーバ20のCPUに処理を実行させることにより、それぞれに実装された機能を実現する。また、プリントサーバ20は、印刷設定記憶部28を有する。印刷設定記憶部28は、例えば、プリントサーバ20のメモリ装置又は補助記憶装置等を用いて実現可能である。
OS21は、OS(Operating System)である。本実施の形態では、Windows(登録商標)OSが好適である。クライアントPC10より転送されるEMFデータは、OS21によって受信され、GDI22に入力される。
GDI(Graphic Device Interface)22は、入力されたEMFデータに含まれている描画命令に対応する要求を、プリンタドライバ23に入力する。
プリンタドライバ23は、いわゆるプリンタドライバである。同図において、プリンタドライバ23は、印刷設定部231及び描画部232等を含む。描画部232は、GDI22より入力される要求と、印刷設定部141が受け付けた印刷設定項目の値とに基づいて、プリンタ30が解釈可能なRAWデータを生成する。印刷設定部231は、印刷設定部141と同様の機能を有する。但し、クライアント・サーバ環境のEMFモードにおいて、プリントサーバ20の印刷設定部231は、実質的には機能しない。なお、プリンタドライバ23は、プリンタドライバ14と同じプリンタドライバでよい。例えば、ポイントアンドプリント機能を使用して、プリントサーバ20におけるプリンタドライバ23が、クライアントPC10にインストールされてもよい。
スプーラ24は、描画部232によって生成されるRAWデータを、例えば、プリントサーバ20の補助記憶装置にスプールする。スプールされたRAWデータは、ランゲージモニタ25に入力される。
ランゲージモニタ25は、Windows(登録商標)OSにおいてランゲージモニタと呼ばれるプログラムモジュールである。一般的に、ランゲージモニタとは、スプーラとポートモニタとの間に位置し、スプーラより入力される印刷データ(RAWデータ)に関して処理を実行し、処理後の印刷データをポートモニタに出力する。ランゲージモニタは、例えば、プリンタのベンダ等が自由に実装することができる。すなわち、スプーラにスプールされた印刷データがポートモニタによって送信されるまでの間において、印刷データの加工、ログの記録、プリンタとの双方向の通信等、独自の実装を行うことができる。したがって、新たな機能が実装されたランゲージモニタをインストールすることにより、印刷システムの機能拡張を比較的容易に図ることができる。
本実施の形態のランゲージモニタ25は、独自の実装として、印刷設定保持部251を有する。印刷設定保持部251は、印刷設定部141が値の設定を受け付ける印刷設定項目のうちの所定の印刷設定項目に関して、その値を保持する。より詳しくは、印刷設定保持部251は、当該所定の印刷設定項目の値を印刷設定記憶部28に記憶させる。当該所定の印刷設定項目は、DEVMODE構造体に値が設定される印刷設定項目と重複していてもよいし、排他的であってもよい。また、当該所定の印刷設定項目は、DEVMODE構造体に値が設定される全ての印刷設定項目を含んでいてもよい。所定の印刷設定項目の具体例としては、印刷権限等を判断するためのユーザ名及びパスワード等が挙げられるが、他の項目が所定の印刷設定項目とされてもよい。
トラックID生成モジュール26は、印刷設定保持部251が保持する所定の印刷設定項目の値に関して、各印刷ジョブ(各印刷データ)との関連又は対応を識別するためのID(以下、「トラックID」という。)を生成する。すなわち、印刷設定保持部251は、トラックIDに関連付けて、所定の印刷設定項目の値を印刷設定記憶部28に記憶する。
ポートモニタ27は、スプーラ24にスプールされ、ランゲージモニタ25を介して入力されるRAWデータに関して、プリンタ30への送信制御を行う。
続いて、印刷設定部141、描画部232、及びランゲージモニタ25(印刷設定保持部251)等の関係について説明する。
図8は、クライアントPCの印刷設定部とプリントサーバの描画部とランゲージモニタとの関係を説明するための図である。
クライアントPC10において、印刷設定部141は、ランゲージモニタ25のAPI(Application Program Interface)を用いて、ランゲージモニタ25に対して所定の印刷設定項目の値を通知する。同図では、SendRecvBidiDataFromPort()関数が呼び出される例が示されている。例えば、当該関数の引数に、所定の印刷設定項目の値が指定される。クライアント・サーバ環境において、SendRecvBidiDataFromPort()関数の呼び出しは、OS11によって、プリンタ30サーバのランゲージモニタ25に通知される。すなわち、OS11は、RPC(Remote Procedure Call)によって、プリントサーバ20のランゲージモニタ25のSendRecvBidiDataFromPort()関数を呼び出す。なお、クライアント・サーバ環境において、プリントサーバ20のランゲージモニタ25のSendRecvBidiDataFromPort()関数がRPCによって呼び出されるのは、OS11の仕様であって、印刷設定部141が関与するところではない。すなわち、印刷設定部141は、プリントサーバ20のランゲージモニタ25の存在を意識しているわけではなく、クライアントPCにおけるランゲージモニタが有効な場合と同様に、SendRecvBidiDataFromPort()関数を呼び出す。
当該関数の呼び出しに応じ、ランゲージモニタ25の印刷設定保持部251は、例えば、当該関数の引数に指定されている所定の印刷設定項目の値を、印刷設定記憶部28に記憶する。
一方、プリントサーバ20において、描画部232は、ランゲージモニタ25のAPIを用いて、所定の印刷設定項目の値の取得をランゲージモニタ25に要求する。同図では、SendRecvBidiDataFromPort()関数が呼び出される例が示されている。当該関数の呼び出しに応じ、ランゲージモニタ25の印刷設定保持部251は、印刷設定記憶部28に記憶されている、所定の印刷設定項目の値を、当該関数の引数を介して描画部232に返却する。
上記のように、本実施の形態では、ランゲージモニタ25を介して、印刷設定部141と描画部232との間で、所定の印刷設定項目の値が共有される。すなわち、ランゲージモニタ25を介して、印刷設定部141から描画部232へ、所定の印刷設定項目の値が伝達される
以下、印刷システム1が実行する処理手順について説明する。図9は、印刷処理の処理手順の一例を説明するためのシーケンス図である。なお、同図は、印刷処理における各プログラム間の全てのやりとりを記述したものではない。一部のやりとりに関しては、便宜上、省略されている。
アプリケーション12は、プリンタ30のプロパティダイアログの表示指示をユーザより受け付けると、OS11に対して、印刷設定の受け付けを要求する(S101)。この際、アプリケーション12は、印刷設定項目の値等を格納するためのDEVMODE構造体を生成し、当該DEVMODE構造体をOS11に渡す。DEVMODE構造体の生成に際し、アプリケーション12は、設定可能な項目及びその初期値等の情報を印刷設定部141問い合わせ、当該情報に基づいてデフォルトの設定内容をDEVMODE構体に設定する。
続いて、OS11は、アプリケーション12からの要求に応じ、プリンタドライバ14の印刷設定部141に対し、印刷設定の受け付けを要求する(S102)。この際、アプリケーション12から渡されたDEVMODE構造体が、印刷設定部141に渡される。
印刷設定部141は、当該要求に応じ、プロパティダイアログを表示装置106に表示させ、各印刷設定項目に対する値の設定を受け付ける(S103)。プロパティダイアログは、プリンタ30に対応した印刷設定項目を設定可能なように構成されている。印刷設定部141は、プロパティダイアログを介して受け付けた値を、DEVMODE構造体に記録(保存)する。但し、所定の印刷設定項目の値がプロパティダイアログを介して設定される場合、当該値は、必ずしもDEVMODE構造体に記録されなくてもよい。例えば、印刷設定部141が、メモリ装置103に記憶しておいてもよい。
続いて、印刷設定部141は、ステップS102の要求に対する応答と共に、DEVMODE構造体をOS11に返却する(S104)。続いて、OS11は、ステップS101の要求に対する応答と共に、DEVMODE構造体をアプリケーション12に返却する(S105)。
続いて、アプリケーション12は、印刷の開始指示をユーザより受け付けると、OS11に対して、印刷の開始を指示する(S106)。当該指示と共に、DEVMODE構造体もOS11に渡される。続いて、OS11は、当該指示に応じ、印刷設定部141に対して、印刷準備の事前通知を送信する(S107)。当該事前通知と共に、DEVMODE構造体も印刷設定部141に渡される。当該事前通知は、これから描画部142に対して印刷準備要求を行うことを予め印刷設定部141に通知し、印刷準備要求の前に印刷設定部141において実行すべき処理があれば当該通知の時点で当該処理を実行できるようにするためのものである。当該事前通知は、例えば、Windows(登録商標)OSのDDI(Device Driver Interface)であるDrvDocumentEvent()関数に「DOCUMENTEVENT_CREATEDCPRE」が指定され呼び出されることによって行われる。なお、同図では、描画部142に対する印刷準備要求は、便宜上、省略されている。
印刷設定部141は、当該事前通知に応じ、今回の印刷ジョブを識別するための識別子(以下、「ジョブ識別子」という。)を生成し、渡されたDEVMODE構造体にジョブ識別子を記録する(S108)。例えば、ジョブ識別子は、DEVMODE構造体のプライベート領域に記録される。なお、ジョブ識別子は、トラックIDとは異なる識別子である。
続いて、印刷設定部141は、ランゲージモニタ25のAPIを呼び出すことにより、所定の印刷設定項目の値とジョブ識別子とを、ランゲージモニタ25に通知する(S109)。すなわち、図8において説明したように、SendRecvBidiDataFromPort()関数のRPCによって、所定の印刷設定項目の値とジョブ識別子とが、ランゲージモニタ25に通知される。当該関数の呼び出しに応じ、ランゲージモニタ25の印刷設定保持部251は、例えば、当該関数の引数に指定されている所定の印刷設定項目の値を印刷設定記憶部28に記憶する。
なお、印刷設定部141は、ステップS109の直前で、所定の印刷設定項目の値を受け付けるためのダイアログを表示装置106に表示させ、当該ダイアログを介して、当該値を受け付けてもよい。すなわち、所定の印刷設定項目の値の受け付けは、プロパティダイアログを介して行われてもよいし、印刷開始指示後に他のダイアログ等を介して行われてもよい。又は、所定の印刷設定項目の値は、所定のファイル等に記録されていてもよい。この場合、印刷設定部141は、所定の印刷設定項目の値を当該ファイルより読み込み、ランゲージモニタ25に通知する。
続いて、印刷設定部141は、印刷準備前通知に対する応答と共に、ジョブ識別子が記録されたDEVMODE構造体をOS11に返却する(S110)。続いて、OS11は、当該応答に応じ、返却されたDEVMODE構造体をアプリケーション12に返却する(S111)。
続いて、アプリケーション12は、OS11に対して、描画処理命令を入力する(S112)。厳密には、GDI13のグラフィック関数がアプリケーション12によって呼び出される。呼び出されるグラフィック関数は、印刷対象の文書データの内容に依存する。OS11(GDI13)は、呼び出されたグラフィック関数に応じたEMFデータを生成する(S113)。
描画処理命令の入力が終了すると、アプリケーション12は、OS11に対して、印刷の終了を通知する(S114)。当該通知に応じ、OS11は、ステップS113において生成されたEMFデータ、及びDEVMODE構造体等を含む印刷要求を、プリントサーバ20に送信する(S115)。
当該EMFデータ及びDEVMODE構造体等は、プリントサーバ20のOS21によって受信される。OS21は、受信されたEMFデータに基づく印刷処理の実行をプリンタドライバ23の描画部232に要求する(S121)。厳密には、受信されたEMFデータは、GDI22に入力され、GDI22から描画部232に対して印刷処理の実行が要求される。当該要求は、例えば、DDI(Device Driver Interface)であるDrvStartDoc()関数が呼び出されることよって行われる。
続いて、描画部232は、ランゲージモニタ25に対して、所定の印刷設定項目の値の取得を要求する(S122)。すなわち、図8において説明したように、SendRecvBidiDataFromPort()関数が呼び出される。当該関数の呼び出しに応じ、ランゲージモニタ25の印刷設定保持部251は、例えば、印刷設定記憶部28に記憶されている、所定の印刷設定項目の値を、当該関数の引数を介して描画部232に返却する(S123)。
続いて、描画部232は、必要に応じて、ランゲージモニタ25より取得された値を、OS21によって受信されているDEVMODE構造体に反映させる(S124)。すなわち、所定の印刷設定項目に関して、DEVMODE構造体との間に重複項目が有る場合、当該重複項目に関して、ランゲージモニタ25より取得された値がDEVMODE構造体に上書きされる。なお、重複項目でない項目に関しては、DEVMODE構造体に反映せずに、描画部232が保持しておいてもよい。
続いて、描画部232は、EMFデータ、DEVMODE構造体、及び自らが保持している所定の印刷設定項目の値等に基づいて、RAWデータを生成する(S125)。描画部232は、生成したRAWデータをスプーラ24に入力し(S126)、印刷処理の実行要求に対する応答をOS21に返却する(S127)。
一方、スプーラ24にスプールされたRAWデータは、ランゲージモニタ25及びポートモニタ27を経由してプリンタ30に送信される(S128)。プリンタ30は、当該RAWデータが示す画像を印刷用紙に印刷する。
ところで、印刷設定記憶部28には、複数の印刷ジョブ(EMFデータ)に関して、所定の印刷設定項目の値が記憶されうる。したがって、描画部232は、処理対象の印刷ジョブに対応した値をランゲージモニタ25から取得する必要がある。そこで、印刷ジョブと所定の印刷設定項目の値との対応関係を維持するために実行される処理について説明する。
図10は、印刷ジョブと所定の印刷設定項目の値との対応関係を維持するために実行される処理手順の一例を説明するためのシーケンス図である。同図中、括弧内のステップ番号は、図9において対応するステップのステップ番号を示す。括弧が付与されていないステップは、便宜上、図9において省略されたステップである。
ステップS201において、印刷設定部141は、ランゲージモニタ25のAPI(SendRecvBidiDataFromPort()関数)を呼び出すことにより、所定の印刷設定項目の値とジョブ識別子とを、ランゲージモニタ25に通知する。
当該通知に応じ、ランゲージモニタ25の印刷設定保持部251は、トラックIDの生成をトラックID生成モジュール26に要求する(S202)。トラックID生成モジュール26は、トラックIDを生成し、生成されたトラックIDを印刷設定保持部251に返却する(S203)。なお、トラックIDは、ステップS201の各通知を相互に識別可能であれば、どのような方法で生成されてもよい。続いて、印刷設定保持部251は、ステップS201において受信されたジョブ識別子と、生成されたトラックIDとを関連付けて保持しておく(S204)。例えば、当該ジョブ識別子と当該トラックIDとの関連情報がメモリ装置103に記憶される。続いて、印刷設定保持部251は、当該トラックIDに関連付けて、所定の印刷設定項目の値を印刷設定記憶部28に記憶する(S205)。
一方、描画部232は、図9のステップS121の印刷処理の実行要求に応じ、トラックIDの取得をランゲージモニタ25に要求する(S211)。当該要求には、OS21によって受信されているDEVMODE構造体に含まれているジョブ識別子が指定される。当該要求に応じ、ランゲージモニタ25の印刷設定保持部251は、指定されたジョブ識別子に関連付けて保持しているトラックIDを描画部232に返却する(S212)。
続いて、描画部232は、当該トラックIDを指定して、所定の印刷設定項目の値の取得をランゲージモニタ25に要求する(S213)。ランゲージモニタ25の印刷設定保持部251は、当該要求に応じ、当該トラックIDに関連付けられている所定の印刷設定項目の値を印刷設定記憶部28より取得する(S214、S215)。続いて、印刷設定保持部251は、取得された値を、描画部232に返却する(S216)。
以上の処理によって、描画部232は、各印刷ジョブ(EMFデータ)に対応する所定の印刷設定項目の値を入手することができる。ステップS115において受信されたEMFデータと、DEVMODE構造体との関連はOS21によって維持されており、DEVMODE構造体と所定の印刷設定項目との対応が分かるということは、EMFデータと所定の印刷設定項目との対応が分かるということと同義だからである。
なお、上記では、ジョブ識別子とトラックIDとを関連付け、トラックIDと所定の印刷設定項目の値とを関連付けることにより、ジョブ識別子と所定の印刷設定項目の値とが間接的に関連付けられる例を示した。但し、ジョブ識別子と所定の印刷設定項目の値とが直接的に関連付けられてもよい。具体的には、ステップS205において、ステップS201で受信されたジョブ識別子に関連付けて、所定の印刷設定項目の値が印刷設定記憶部28に記憶されてもよい。この場合、ステップS213において、描画部232は、OS21によって受信されているDEVMODE構造体に含まれているジョブ識別子を指定して、所定の印刷設定項目の値の取得を要求すればよい。したがって、この場合、トラックIDは不要となる。すなわち、ステップS202〜S204、S211、及びS212は実行されなくてもよい。
上述したように、本実施の形態によれば、クライアントPC10の印刷設定部141及びプリントサーバ20の描画部232の双方よりアクセス可能なランゲージモニタ25において所定の印刷設定項目の値が保持される。したがって、所定の印刷設定項目に関して、DEVMODE構造体を用いなくても、印刷設定部141が受け付けた値を描画部232に伝達することができる。すなわち、所定の印刷設定項目の値を、DEVMODE構造体を用いなくても有効化することができる。
特に、EMFモードの場合は、印刷設定部141と描画部232とは、異なるコンピュータ上で動作する。このような場合であっても、ランゲージモニタ25は、印刷設定部141及び描画部232の双方よりアクセス可能であるため、上記効果を得ることができる。
また、ランゲージモニタ25に所定の印刷設定項目の値の保持が要求される単位ごとに、所定の印刷設定項目の値には識別子(ジョブ識別子又はトラックID)が付与され保持される。したがって、描画部232は、各印刷ジョブに関して、それぞれに対応した所定の印刷設定項目の値を区別することができる。
ところで、図8において、描画部142は、呼び出し先がプリントサーバ20におけるランゲージモニタ25であるかローカル(クライアントPC10内)のランゲージモニタ17であるかは意識することはない。クライアント・サーバ環境において、プリントサーバ20のランゲージモニタ25のAPIに関するRPCは、OS11によって自動的に実行されるからである。
このことは、クライアント・サーバ環境でないシステム環境、すなわち、クライアントPC10において印刷設定部141及び描画部232の双方が実質的に機能するEMFモードのシステム環境(以下、「ローカル環境」という。)でも、各プログラムに変更を加える必要は無いことを意味する。環境の違いは、OS11によって吸収されるからである。
図11は、ローカル環境におけるクライアントPCの機能構成例を示す図である。図11中、図7と同一部分には同一符号を付している。同図において、GDI13は、図7のGDI13及びGDI22が実行していた処理を行う。描画部142は、図7の描画部232が実行していた処理を行う。スプーラ15は、図7のスプーラ15及びスプーラ24が実行していた処理を行う。ランゲージモニタ16は、図7のランゲージモニタ25と同様の構成を有し、ランゲージモニタ25が実行していた処理を行う。ポートモニタ17は、図7のポートモニタ27が実行していた処理を行う。
このように、本実施の形態は、クライアント・サーバ環境及びローカル環境の双方に対して有効である。
なお、本実施の形態において、クライアント装置10は、第一の情報処理装置の一例である。プリントサーバ20は、第二の情報処理装置の一例である。プリンタ30は、印刷装置の一例である。描画部142及び描画部232は、印刷データ生成部の一例である。ポートモニタ17及びポートモニタ27は、印刷データ送信制御部の一例である。ランゲージモニタ16及びランゲージモニタ25は、印刷データ処理部の一例である。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
1 印刷システム
10 クライアントPC
11 OS
12 アプリケーション
13 GDI
14 プリンタドライバ
15 スプーラ
16 ランゲージモニタ
17 ポートモニタ
20 プリントサーバ
21 OS
22 GDI
23 プリンタドライバ
24 スプーラ
25 ランゲージモニタ
26 トラックID生成モジュール
27 ポートモニタ
28 印刷設定記憶部
30 プリンタ
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 CPU
105 インタフェース装置
106 表示装置
107 入力装置
141 印刷設定部
142 描画部
231 印刷設定部
232 描画部
251 印刷設定保持部
B バス
特開2010−66876号公報

Claims (4)

  1. 第一の情報処理装置と、前記第一の情報処理装置から転送される印刷要求に関する印刷を印刷装置に実行させる第二の情報処理装置とを有する情報処理システムであって、
    前記第一の情報処理装置及び前記第二の情報処理装置は、
    前記印刷装置に印刷させる印刷データを生成する印刷データ生成部と、
    前記印刷装置への前記印刷データの送信制御を行う印刷データ送信制御部と、
    前記印刷データ送信制御部による前記印刷データの送信制御を行う前に、該印刷データに対する処理を行う印刷データ処理部とを有し、
    前記第一の情報処理装置は、
    印刷設定項目に対する値の設定を受け付け、所定の印刷設定項目に関して設定された値を、前記第二の情報処理装置の前記印刷データ処理部に通知する印刷設定部を有し、
    前記第二の情報処理装置の前記印刷データ生成部は、前記印刷要求に応じ、前記所定の印刷設定項目に関する値を前記第二の情報処理装置の前記印刷データ処理部より取得し、取得された値に応じた印刷データを生成する情報処理システム。
  2. 前記印刷設定部は、前記第二の情報処理装置の前記印刷データ処理部への通知ごとの識別子をDEVMODE構造体に記録すると共に、前記識別子を指定して、前記所定の印刷設定項目に関して設定された値を前記第二の情報処理装置の前記印刷データ処理部に通知し、
    前記第二の情報処理装置の前記印刷データ処理部は、前記識別子に関連付けて、前記所定の印刷設定項目の値を記憶し、
    前記第二の情報処理装置の印刷データ生成部は、前記第一の情報処理装置より転送される前記DEVMODE構造体に記録されている前記識別子に関連付けられている前記所定の印刷設定項目の値を前記第二の情報処理装置の前記印刷データ処理部より取得する請求項1記載の情報処理システム。
  3. 前記印刷要求は、EMFデータを含み、
    前記第二の情報処理装置の印刷データ生成部は、前記EMFデータに基づいて前記印刷装置に対応したRAWデータを生成する請求項1又は2記載の情報処理システム。
  4. 印刷装置に印刷させる印刷データを生成する印刷データ生成部と、
    前記印刷装置への前記印刷データの送信制御を行う印刷データ送信制御部と、
    前記印刷データ送信制御部による前記印刷データの送信制御を行う前に、該印刷データに対する処理を行う印刷データ処理部と、
    印刷設定項目に対する値の設定を受け付け、所定の印刷設定項目に関して設定された値を、前記印刷データ処理部に通知する印刷設定部とを有し、
    前記印刷データ生成部は、前記所定の印刷設定項目に関する値を前記印刷データ処理部より取得し、取得された値に応じた印刷データを生成する情報処理装置。
JP2011149838A 2011-07-06 2011-07-06 情報処理システム Active JP5961937B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011149838A JP5961937B2 (ja) 2011-07-06 2011-07-06 情報処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011149838A JP5961937B2 (ja) 2011-07-06 2011-07-06 情報処理システム

Publications (2)

Publication Number Publication Date
JP2013016103A true JP2013016103A (ja) 2013-01-24
JP5961937B2 JP5961937B2 (ja) 2016-08-03

Family

ID=47688721

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011149838A Active JP5961937B2 (ja) 2011-07-06 2011-07-06 情報処理システム

Country Status (1)

Country Link
JP (1) JP5961937B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013196503A (ja) * 2012-03-21 2013-09-30 Ricoh Co Ltd プログラム、情報処理装置、記憶媒体
US11233913B2 (en) 2018-05-10 2022-01-25 Fujifilm Business Innovation Corp. Image forming system, terminal apparatus, server apparatus, and non-transitory computer readable medium storing program

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001150745A (ja) * 1999-11-30 2001-06-05 Canon Inc 画像処理装置および方法
JP2005157585A (ja) * 2003-11-21 2005-06-16 Seiko Epson Corp ネットワーク印刷制御システム、印刷制御方法
JP2005275483A (ja) * 2004-03-23 2005-10-06 Seiko Epson Corp 可搬型記録媒体
JP2007034490A (ja) * 2005-07-25 2007-02-08 Fuji Xerox Co Ltd 印刷システムおよび印刷制御方法
JP2008186200A (ja) * 2007-01-29 2008-08-14 Canon Inc 印刷制御装置及び方法と印刷システム
JP2009217516A (ja) * 2008-03-10 2009-09-24 Ricoh Co Ltd 印刷項目設定システム、サーバ装置および印刷項目設定方法
JP2010072709A (ja) * 2008-09-16 2010-04-02 Ricoh Co Ltd 印刷システム、情報処理装置、分散印刷設定方法、プログラム及び記録媒体
US20100315672A1 (en) * 2009-06-16 2010-12-16 Katsunori Suzuki Data processing apparatus and recording medium
JP2011043869A (ja) * 2009-08-19 2011-03-03 Ricoh Co Ltd プリンタネットワークシステム、サーバ装置、プリント方法、プログラムおよび記録媒体

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001150745A (ja) * 1999-11-30 2001-06-05 Canon Inc 画像処理装置および方法
JP2005157585A (ja) * 2003-11-21 2005-06-16 Seiko Epson Corp ネットワーク印刷制御システム、印刷制御方法
JP2005275483A (ja) * 2004-03-23 2005-10-06 Seiko Epson Corp 可搬型記録媒体
JP2007034490A (ja) * 2005-07-25 2007-02-08 Fuji Xerox Co Ltd 印刷システムおよび印刷制御方法
JP2008186200A (ja) * 2007-01-29 2008-08-14 Canon Inc 印刷制御装置及び方法と印刷システム
JP2009217516A (ja) * 2008-03-10 2009-09-24 Ricoh Co Ltd 印刷項目設定システム、サーバ装置および印刷項目設定方法
JP2010072709A (ja) * 2008-09-16 2010-04-02 Ricoh Co Ltd 印刷システム、情報処理装置、分散印刷設定方法、プログラム及び記録媒体
US20100315672A1 (en) * 2009-06-16 2010-12-16 Katsunori Suzuki Data processing apparatus and recording medium
JP2011002881A (ja) * 2009-06-16 2011-01-06 Ricoh Co Ltd データ処理装置、プログラムおよび記録媒体
JP2011043869A (ja) * 2009-08-19 2011-03-03 Ricoh Co Ltd プリンタネットワークシステム、サーバ装置、プリント方法、プログラムおよび記録媒体

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013196503A (ja) * 2012-03-21 2013-09-30 Ricoh Co Ltd プログラム、情報処理装置、記憶媒体
US11233913B2 (en) 2018-05-10 2022-01-25 Fujifilm Business Innovation Corp. Image forming system, terminal apparatus, server apparatus, and non-transitory computer readable medium storing program

Also Published As

Publication number Publication date
JP5961937B2 (ja) 2016-08-03

Similar Documents

Publication Publication Date Title
JP7229680B2 (ja) 情報処理装置、制御方法及びプログラム
JP5857611B2 (ja) 情報処理装置、システム、プログラム
JP6331910B2 (ja) 情報処理装置、情報処理システム、及びプログラム
JP5763904B2 (ja) プリントシステム、印刷方法、プリントサーバおよびその制御方法、並びにプログラム
JP2020004158A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
KR20110010574A (ko) 정보 처리 장치, 정보 처리 방법 및 기억 매체
JP2012185748A (ja) プリントシステム、情報処理装置、制御方法、およびプログラム
JP2019175313A (ja) アプリケーションプログラム
US9311036B2 (en) Data processing system and method of data processing
JP2012245695A (ja) 画像出力装置、プログラムおよびシステム
US8670135B2 (en) Information processing apparatus and control method when installing a printer driver
JP6737170B2 (ja) サーバー装置、画像処理ユニット及びプログラム
JP2013073369A (ja) 印刷制御システム、印刷制御方法、画像処理装置、及び印刷制御プログラム
US8922823B2 (en) Information processing apparatus and storage medium with the function of adding a cover letter to a print job
JP7487277B2 (ja) プログラム、情報処理装置、及び情報処理装置の制御方法
JP5961937B2 (ja) 情報処理システム
JP2014041599A (ja) プログラム、情報処理装置、システム
JP7328405B2 (ja) 情報処理装置、情報処理装置の制御方法及び印刷設定アプリケーション
JP2013196259A (ja) データ処理装置、データ処理システムおよびプログラム
JP2012221198A (ja) プリントシステム
JP2004102986A (ja) 印刷制御装置、印刷制御方法、プログラム、印刷システム
JP4143598B2 (ja) 情報処理装置における管理方法、情報処理装置、プログラム及び記憶媒体
JP2023147785A (ja) サポートプログラムおよび印刷システム
EP2680127B1 (en) Image forming system and method in which client apparatuses are notified via print server of event generated in image forming apparatus
JP2020016951A (ja) 情報処理装置、制御方法、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140610

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150521

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150602

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150723

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150811

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150929

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160301

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160418

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160531

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160613

R151 Written notification of patent or utility model registration

Ref document number: 5961937

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151