JP2022145288A - 印刷システム、印刷方法、情報処理装置、プログラム - Google Patents

印刷システム、印刷方法、情報処理装置、プログラム Download PDF

Info

Publication number
JP2022145288A
JP2022145288A JP2021046636A JP2021046636A JP2022145288A JP 2022145288 A JP2022145288 A JP 2022145288A JP 2021046636 A JP2021046636 A JP 2021046636A JP 2021046636 A JP2021046636 A JP 2021046636A JP 2022145288 A JP2022145288 A JP 2022145288A
Authority
JP
Japan
Prior art keywords
print
intermediate data
job
information processing
screen
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.)
Pending
Application number
JP2021046636A
Other languages
English (en)
Inventor
浩一 長田
Koichi Osada
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 JP2021046636A priority Critical patent/JP2022145288A/ja
Publication of JP2022145288A publication Critical patent/JP2022145288A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Facsimiles In General (AREA)

Abstract

Figure 2022145288000001
【課題】印刷ジョブのグループ化における機種やプリンタードライバー等の制約を低減すること。
【解決手段】情報処理端末10から送信された印刷ジョブを情報処理装置30が画像形成装置20で印刷する印刷システム1であって、前記情報処理端末から受け取った印刷対象のデータを中間データに変換する中間データ生成手段と、前記中間データ生成手段が生成した前記中間データの印刷設定に基づいて、前記中間データをジョブグループに振り分ける印刷制御手段と、を有し、前記印刷制御手段は、前記ジョブグループに振り分けられている複数の前記中間データを別のジョブグループに振り分けられている前記中間データよりも優先して前記画像形成装置で印刷する。
【選択図】図4

Description

本発明は、印刷システム、印刷方法、情報処理装置、及び、プログラムに関する。
プリンターや複合機などの画像形成装置は、連続紙を印刷する場合とカット紙を印刷する場合がある。カット紙印刷の場合、「A4用紙に印刷する印刷ジョブ」と「A3用紙に印刷する印刷ジョブ」が続けて画像形成装置に投入されても、画像形成装置は適切な給紙トレイを自動的に選択し、「A4用紙への印刷」と「A3用紙への印刷」を連続して行える。しかし、連続紙印刷の場合、一時点でセットされる用紙は1種類だけである。画像形成装置に「15x11インチ帳票」がセットされた状態で、「15x11インチ帳票に印刷する印刷ジョブ」と「8.5x11インチ帳票に印刷する印刷ジョブ」が続けて画像形成装置に投入されたとする。この場合、「15x11インチ帳票に印刷する印刷ジョブ」の印刷が完了した時点で、オペレーターが画像形成装置をいったん停止する。そして、オペレーターが「15x11インチ帳票」を画像形成装置から取り外し、代わりに「8.5x11インチ帳票」をセットしてから、「8.5x11インチ帳票に印刷する印刷ジョブ」を開始する必要がある。
そこで、連続紙の交換を低減する技術が考案されている(例えば、特許文献1参照。)。特許文献1には、異なる用紙を印刷対象とする複数の印刷ジョブを、同じ温度条件又は同じ用紙情報の印刷ジョブが連続して実行されるように並び替えてから、画像形成装置に投入する技術が開示されている。
しかしながら、従来の技術では、特定の機種のプリンタードライバーで作成した印刷ジョブでなければグループ化されなかった。
例えば、特許文献1において、DFE(Digital Front End)内のジョブコントローラが処理する印刷ジョブは、特定の機種のプリンタードライバーにより生成されたRAWデータである。したがって、特許文献1では画像形成装置にRAWデータを渡す特定の上流システムが必要である。
本発明は、上記課題に鑑み、印刷ジョブのグループ化における機種やプリンタードライバー等の制約を低減することを目的とする。
上記課題に鑑み、本発明は、情報処理端末から送信された印刷ジョブを情報処理装置が画像形成装置で印刷する印刷システムであって、前記情報処理端末から受け取った印刷対象のデータを中間データに変換する中間データ生成手段と、前記中間データ生成手段が生成した前記中間データの印刷設定に基づいて、前記中間データをジョブグループに振り分ける印刷制御手段と、を有し、前記印刷制御手段は、前記ジョブグループに振り分けられている複数の前記中間データを別のジョブグループに振り分けられている前記中間データよりも優先して前記画像形成装置で印刷する。
印刷ジョブのグループ化における機種やプリンタードライバー等の制約を低減することができる。
印刷システムの一例のシステム構成図である。 コンピュータ装置の一例のハードウェア構成図である。 プリンターの一例である複合機のハードウェア構成図である。 クライアントPC、及び、プリントサーバーが有する機能をブロックに分けて説明する機能ブロック図の一例である。 仮想プリンタードライバーの印刷設定画面の一例を示す図である。 仮想プリンタードライバーのプロパティ画面の一例を示す図である。 端末装置が有する機能をブロックに分けて説明する機能ブロック図の一例である。 Webアプリケーションのオペレーター向け画面例を示す図である。 ジョブグループ一覧画面の一例を示す図である。 編集ボタンが押下された場合に表示されるジョブグループ編集画面の一例を示す図である。 管理者メニュー画面の一例を示す図である。 印刷システム設定画面の一例を示す図である。 振り分けキー定義と振り分けテーブルを説明する図である。 ログイン画面とプリンター選択画面の一例を示す図である。 テーブル登録画面の一例を示す図である。 「(1) 標準の「振り分けキー定義」を作成する」ボタンが押下された場合を説明する図である。 「(2)「振り分けキー定義」にユーザー定義の振り分けキーを追加する…」ボタンが押下された場合を説明する図である。 確認画面(その1)の一例を示す図である。 プリンター設定画面の一例を示す図である。 標準設定画面の一例を示す図である。 確認画面(その2)の一例を示す図である。 「振り分けテーブル」の内容の一例を示す図である。 振り分けテーブルの作成手順を説明するフローチャート図の一例である。 振り分けテーブル登録画面(その1)の一例を示す図である。 振り分けテーブル登録画面(その2)の一例を示す図である。 振り分けテーブル登録画面(その3)一例を示す図である。 プリンター設定画面の一例を示す図である。 標準設定画面の一例を示す図である。 振り分けテーブル登録画面(その4)の一例を示す図である。 振り分けキー登録確認画面の一例を示す図である。 振り分け先ジョブグループ登録確認画面の一例を示す図である。 印刷システムが印刷ジョブをジョブグループに振り分ける手順を示すシーケンス図の一例である。 振り分けテーブルと振り分けキー定義を用いた印刷ジョブの振り分けを説明するフローチャート図の一例である。 プリンタードライバーの印刷設定画面(基本設定)の一例を示す図である。 プリンタードライバーの印刷設定画面(拡張設定)の一例を示す図である。 表計算ソフトの「ページ設定」画面でエンドユーザーが用紙サイズを指定する画面例を示す図である。 システム管理者が操作する「標準の設定」画面の一例を示す図である。 レジストリエディター画面の一例を示す図である。
以下、本発明を実施するための形態の一例として、印刷システムと印刷システムにおける印刷方法について実施例を挙げながら説明する。
<本実施形態の印刷システムの動作の概略>
本実施形態の印刷システムは、本実施形態の印刷システム1では、後述するプリントサーバー常駐プログラムが、用紙サイズ等の印刷設定が共通する印刷ジョブをまとめてグループ化する。印刷ジョブはEMFデータなので、機種やプリンタードライバー等の制約を低減することができる。実プリンタードライバーはグループ単位で印刷ジョブを実行するので、用紙交換の回数を減らし、プリンターの稼働率を向上させることができる。また、プリンターから見て上流システムも必要ない。
<用語について>
グループとは、共通点を持つ物の集まりである。グループ化とは共通点を持つ物を同じグループに振り分けることをいう。本実施形態では、同じ印刷設定を有する印刷ジョブが同じグループに振り分けられる。
ジョブグループに振り分けられている中間データを別のジョブグループに振り分けられている中間データよりも優先するとは、同じジョブグループに所属する全ての印刷ジョブの印刷が完了するまで、同じジョブグループに所属する印刷ジョブが印刷されることをいう。ただし、オペレーターがジョブグループの印刷順を変更した場合は、同じジョブグループに所属する印刷ジョブの印刷が中断される場合がある。
<構成例>
図1は、印刷システム1の一例のシステム構成図である。ネットワークNにプリンター20、プリントサーバー30、クライアントPC10、及び、端末装置50が接続されている。プリントサーバー30及びクライアントPC10には、例えば、Windows(登録商標)系のOS(サーバーにはサーバー用のOS)がインストールされている。
クライアントPC10は(情報処理端末の一例)、このプリントサーバー30に対してプリンター20による印刷を要求することができる。このようなシステムでは、クライアントPC10にはプリントサーバー30と同じプリンタードライバーがインストールされている必要がある。ネットワーク上の個々のクライアントPC10に、管理者などがプリンタードライバーをインストールするには非常にコストがかかってしまう。
Point&Printは、この不都合を解決する手段として、プリントサーバー30からクライアントPC10にプリンタードライバーをダウンロードしてインストールすることを可能にしている。これは、Windows(登録商標)系OS標準の機能である。本実施形態では、後述する仮想プリンタードライバー及び実プリンタードライバーがPoint&Printの仕組みで、プリントサーバー30へのインストール後、クライアントPC10にインストールされる。
プリンター20は、用紙などのカット紙又は連続紙に画像を形成し、出力する画像形成装置である。プリンター20は印刷装置と呼ばれる場合がある。また、プリンター20の機能を有していれば、プリンター20は、MFP(Multifunction Peripheral/Printer/Product)、複合機、コピー機、ファクシミリ装置、又は、スキャナ装置等と呼ばれていてもよい。
プリントサーバー30は所定のOSが動作する情報処理装置であればよい。プリントサーバー30は一台以上の情報処理装置を有していてよい。この場合、一台の情報処理装置がそれぞれプリントサーバー30の機能を提供しても、複数の情報処理装置で1つのプリントサーバー30の機能を提供してもよい。また、プリントサーバー30はクラウドコンピューティングに対応していてよい。クラウドコンピューティングとは、特定ハードウェア資源が意識されずにネットワーク上のリソースが利用される利用形態をいう。プリントサーバー30はオンプレミスに存在しても、インターネット上に存在してもよい。
クライアントPC10は、所定のOS、アプリケーション及びプリンタードライバーが動作する情報処理装置である。OS上では、印刷対象の文書を作成する各種のアプリケーションが動作する。エンドユーザーはクライアントPC10を操作して、プリントサーバー30に印刷を要求する。クライアントPC10は例えば、PC、タブレット端末、スマートフォン、ウェアラブルPC、又は、PDA(Personal Digital Assistant)などである。この他、所定のOS、アプリケーション及びプリンタードライバーが動作すれば、ゲーム機、デジタルカメラ等でもよい。
また、ネットワークNには必要に応じて端末装置50が接続される。端末装置50ではWebブラウザが動作し、プリントサーバー30が提供するWebアプリケーションを実行する。Webアプリケーションとは、ブラウザ上で動作するプログラミング言語(例えばJavaScript(登録商標))によるプログラムとWebサーバー側のプログラムが協調することによって動作し、ブラウザ上で実行されるソフトウェア又はその仕組みを言う。本実施形態では、オペレーターがジョブグループの優先順位を変更するなどのために端末装置50を操作する。また、管理者が各種の設定を行うために端末装置50を操作する。端末装置50の具体例はクライアントPC10と同様でよい。
<ハードウェア構成例>
図2は、コンピュータ装置500の一例のハードウェア構成図である。クライアントPC10、プリントサーバー30、及び、端末装置50は図2に示すようなコンピュータ装置500のハードウェア構成を有している。
コンピュータ装置500は、図2に示されているように、CPU501、ROM502、RAM503、HD504、HDD(Hard Disk Drive)コントローラ505、ディスプレイ506、外部機器接続I/F(Interface)508、ネットワークI/F509、バスライン510、キーボード511、ポインティングデバイス512、DVD-RW(Digital Versatile Disk Rewritable)ドライブ514、メディアI/F516を備えている。
これらのうち、CPU501は、コンピュータ装置全体の動作を制御する。ROM502は、IPL等のCPU501の駆動に用いられるプログラムを記憶する。RAM503は、CPU501のワークエリアとして使用される。
HD504は、プログラム等の各種データを記憶する。HDDコントローラ505は、CPU501の制御にしたがってHD504に対する各種データの読み出し又は書き込みを制御する。
ディスプレイ506は、カーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示する。外部機器接続I/F508は、各種の外部機器を接続するためのインターフェースである。この場合の外部機器は、例えば、USB(Universal Serial Bus)メモリやプリンター20等である。
ネットワークI/F509は、通信ネットワークを利用してデータ通信をするためのインターフェースである。バスライン510は、図2に示されているCPU501等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
また、キーボード511は、文字、数値、各種指示などの入力のための複数のキーを備えた入力手段の一種である。ポインティングデバイス512は、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行う入力手段の一種である。光学ドライブ514は、着脱可能な記録媒体の一例としての光学メディア513に対する各種データの読み出し又は書き込みを制御する。なお、光学メディアはCD-ROM、DVD-RW、Blu-Ray(登録商標)など、どのようなものでもよい。メディアI/F516は、フラッシュメモリ等の記録メディア515に対するデータの読み出し又は書き込み(記憶)を制御する。
<<機器>>
図3は、プリンター20の一例である複合機のハードウェア構成図である。図3に示されているように、プリンター20は、コントローラ910、近距離通信回路920、エンジン制御部930、操作パネル940、ネットワークI/F950を備えている。
これらのうち、コントローラ910は、コンピュータの主要部であるCPU901、システムメモリ(MEM-P)902、ノースブリッジ(NB)903、サウスブリッジ(SB)904、ASIC(Application Specific Integrated Circuit)906、記憶部であるローカルメモリ(MEM-C)907、HDDコントローラ908、及び、記憶部であるHD909を有し、NB903とASIC906との間をAGP(Accelerated Graphics Port)バス921で接続した構成となっている。
これらのうち、CPU901は、プリンター20の全体制御を行う制御部である。NB903は、CPU901と、MEM-P902、SB904、及びAGPバス921とを接続するためのブリッジであり、MEM-P902に対する読み書きなどを制御するメモリコントローラと、PCI(Peripheral Component Interconnect)マスタ及びAGPターゲットとを有する。
MEM-P902は、コントローラ910の各機能を実現させるプログラムやデータの格納用メモリであるROM902a、プログラムやデータの展開、及びメモリ印刷時の描画用メモリなどとして用いるRAM902bとからなる。なお、RAM902bに記憶されているプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、CD-R、DVD等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
SB904は、NB903とPCIデバイス、周辺デバイスとを接続するためのブリッジである。ASIC906は、画像処理用のハードウェア要素を有する画像処理用途向けのIC(Integrated Circuit)であり、AGPバス921、PCIバス922、HDDコントローラ908及びMEM-C907をそれぞれ接続するブリッジの役割を有する。このASIC906は、PCIターゲット及びAGPマスタ、ASIC906の中核をなすアービタ(ARB)、MEM-C907を制御するメモリコントローラ、ハードウェアロジックなどにより画像データの回転などを行う複数のDMAC(Direct Memory Access Controller)、並びに、スキャナ部931、プリンター部932、及びファクシミリ部との間でPCIバス922を介したデータ転送を行うPCIユニットとからなる。なお、ASIC906は、USB(Universal Serial Bus)のインターフェースや、IEEE1394(Institute of Electrical and Electronics Engineers 1394)のインターフェースを有し、これらと接続されてもよい。
MEM-C907は、コピー用画像バッファ及び符号バッファとして用いるローカルメモリである。HD909は、画像データの蓄積、印刷時に用いるフォントデータの蓄積、フォームの蓄積を行うためのストレージである。HD909は、CPU901の制御にしたがってHD909に対するデータの読出又は書込を制御する。AGPバス921は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレータカード用のバスインタフェースであり、MEM-P902に高スループットで直接アクセスすることにより、グラフィックスアクセラレータカードを高速にすることができる。
また、近距離通信回路920には、近距離通信回路のアンテナ920aが備わっている。近距離通信回路920は、NFC、Bluetooth(登録商標)等の通信回路である。
更に、エンジン制御部930は、スキャナ部931、プリンター部932及びファクシミリ部933を有している。また、操作パネル940は、現在の設定値や選択画面等を表示させ、操作者からの入力を受け付けるタッチパネル等のパネル表示部940a、並びに、濃度の設定条件などの画像形成に関する条件の設定値を受け付けるテンキー及びコピー開始指示を受け付けるスタートキー等からなるハードキー940bを備えている。コントローラ910は、プリンター20全体の制御を行い、例えば、描画、通信、操作パネル940からの入力等を制御する。スキャナ部931又はプリンター部932には、誤差拡散やガンマ変換などの画像処理部分が含まれている。
なお、プリンター20は、操作パネル940のアプリケーション切り替えキーにより、ドキュメントボックス機能、コピー機能、プリンター20機能、及びファクシミリ機能を順次に切り替えて選択することが可能となる。プリンター20は、ドキュメントボックス機能の選択時にはドキュメントボックスモードとなり、コピー機能の選択時にはコピーモードとなり、プリンター20機能の選択時にはプリンタモードとなり、ファクシミリモードの選択時にはファクシミリモードとなる。
また、ネットワークI/F950は、ネットワークNを利用してデータ通信をするためのインターフェースである。近距離通信回路920及びネットワークI/F950は、PCIバス922を介して、ASIC906に電気的に接続されている。
<機能について>
図4は、クライアントPC10、及び、プリントサーバー30が有する機能をブロックに分けて説明する機能ブロック図の一例である。まず、全体の流れを簡単に説明する。
(1) エンドユーザーAがアプリケーション11に対し印刷対象のデータ(文書ファイル12)の印刷操作を入力する。印刷操作の際、エンドユーザーAは仮想プリンタードライバー14を選択する。仮想プリンタードライバー14とは、実際の印刷を行う実プリンタードライバー16と区別するための呼称であり、エンドユーザーからはプリンタードライバーに見えるが、実プリンタードライバー16との紐付けなどに使用される。エンドユーザーAが実プリンタードライバー16を使用すると、独自スプール41にスプールされずに印刷が開始されてしまう。仮想プリンタードライバー14があることで、プリントサーバー常駐プログラム33が独自スプール41にEMFデータを保存できる。
(2) GDI(Graphics Device Interface)13が、仮想プリンタードライバー14にEMFデータを渡す。EMFデータとは、Windows(登録商標)のGDIコマンドで記述された印刷データである。EMFデータはプリンター20の機種には依存しない。EMFデータは後にプリンター20に固有のRAWデータに変換されることから、中間データと呼ばれる場合がある。
(3) 仮想プリンタードライバー14はEMFデータをEMFスプール(クライアント用)15に保存する。
(4) EMFスプール(クライアント用)15に保存されたEMFデータは、Windows(登録商標)がRPC(Remote Procedure Call)プロトコルで自動的に(ほぼ瞬時に)EMFスプール(サーバー用)32に送信する。
(5) プリントサーバー30のスプーラー(スプールを管理・制御するプログラム)は、クライアントPC10のスプーラーとRPCで通信しており、印刷要求があったことを検出して、実プリンタードライバー36を呼び出し、EMFデータの印刷を要求する。仮想プリンタードライバー31は自分が印刷する機能を有していない。
(6) ここで、本実施形態では、プリントサーバー常駐プログラム33(印刷制御手段の一例)が印刷要求を受け取り、EMFデータを印刷ジョブとして独自スプール41に保存する。独自スプール41はOSが用意するスプールでなく、本実施形態の印刷システム1が用意するスプールである。スプールという名称だが、プリントサーバー常駐プログラム33が管理できる記憶手段であればよい。
本実施形態のプリントサーバー常駐プログラム33は、印刷設定とグループ化条件に応じて印刷ジョブをジョブグループに振り分ける。すなわち、プリントサーバー常駐プログラム33は、グループ化条件に適合する印刷設定を有するEMFデータを同じジョブグループに振り分ける。
このように、機種依存がないEMFデータでグループ化するので、本実施形態の印刷システム1は、プリンタードライバーやプリンター20の機種に依存せずに、印刷ジョブをグループ化できる。
(7) また、印刷システム1は、グループ化条件の登録又は変更を受け付けるドライバー設定登録プログラム40(条件作成手段の一例)を提供する。管理者Cはこのドライバー設定登録プログラム40に、グループ化条件の登録又は変更を設定する。グループ化条件(後述する振り分けテーブル)は設定情報DB38に保存される。
(8) プリントサーバー常駐プログラム33は、独自スプール41に保存されているジョブグループの印刷順に基づいて、実プリンタードライバー36(印刷手段の一例)で印刷を実行するようにGDI35に要求する。プリントサーバー常駐プログラム33は、1つのジョブグループに所属している印刷ジョブを他のジョブグループの印刷ジョブより優先して印刷するようにGDI35に要求する。
GDI35は、要求を受けて、印刷ジョブを独自スプール41から取り出し、実プリンタードライバー用スプール42に保存する。実プリンタードライバー36は、実プリンタードライバー用スプール42のEMFデータをRAWデータに変換して、実プリンタードライバー用スプール42に保存し直す。
(9) プリントサーバー30のスプーラー(Windows(登録商標)のスプールを管理・制御するプログラム)は、実プリンタードライバー用スプール42のRAWデータをポートモニター37に渡す。ポートモニター37は、RAWデータを取得すると、プリンター20で印刷する。
<各機能の説明>
図4に示したように、クライアントPC10は、アプリケーション11、GDI13、仮想プリンタードライバー14、EMFスプール(クライアント)15、1つ以上の実プリンタードライバー16、及び、クライアントPC常駐プログラム17を有している。プリントサーバー30は、仮想プリンタードライバー31、EMFスプール(サーバー)32、プリントサーバー常駐プログラム33、Webアプリケーション34、GDI35、1つ以上の実プリンタードライバー36、及び、ポートモニター37を有する。なお、設定情報DB38、及び外部ユーザー情報DB39はプリントサーバー30が有していてもネットワーク上にあってもよい。
以下、これらのうち、主に、本実施形態の印刷システム1が提供する機能について詳細に説明する。
<<アプリケーション>>
まず、アプリケーション11は、エンドユーザーが印刷指示する文書ファイル12を編集するためのソフトウェアである。アプリケーション11は、ワープロアプリ、表計算アプリ、又は、Webブラウザアプリなどどのようなものでもよい。
<<GDI>>
Windows(登録商標)の印刷アーキテクチャでは、アプリケーション11からの印刷設定及び印刷指示はAPIを使ってOSのGDIに対して通知される。このGDI13はOSの一部である。GDI13は直線や曲線等の描画、フォントのレンダリング、パレットの制御といった描画に関する処理を担当する。本実施形態では、GDI13はEMFデータを生成する。
<<仮想プリンタードライバー>>
仮想プリンタードライバー14は、Windows(登録商標)のPoint&Print機能をエンドユーザーが使うことで、クライアントPC10にインストールされる。仮想プリンタードライバー14は、実際には印刷を行わず、プリントサーバー30に印刷を要求する。仮想プリンタードライバー14の印刷設定画面では、エンドユーザーが実際に印刷を行う実プリンタードライバー16を指定する。
図5は、仮想プリンタードライバー14の印刷設定画面100の一例である。図5の印刷設定画面100は、エンドユーザーが仮想プリンタードライバー14のアイコンを右クリックし、「印刷設定」を選択すると表示される。
・プリンター名欄101は、エンドユーザーがプルダウンメニューで実プリンタードライバー16を選択する欄である。エンドユーザーは、プリンター20の機種を問わず、任意の実プリンタードライバー16を指定できる。クライアントPC10にインストール済みの実プリンタードライバー16がプルダウンメニューで表示される。
・設定ボタン102は、プリンター名欄101で、現在選択されている実プリンタードライバー16の印刷設定画面をエンドユーザーが表示させるためのボタンである。
エンドユーザーが仮想プリンタードライバー14を使って印刷を行うと、プリントサーバー30がEMFデータに対して図4で説明した処理を行い、実プリンタードライバー36にEMFデータが渡される。
<<実プリンタードライバー>>
実プリンタードライバー16は、クライアントPC10からプリンター20に実際に印刷を行う際に使用されるプリンタードライバーであるが、本実施形態では、直接は使用されない。ただし、クライアントPC10には、プリントサーバー30上の仮想プリンタードライバー14だけでなく、エンドユーザーが利用するすべての実プリンタードライバー16がネットワークプリンターとしてインストールされる(Point&Printでインストールされたプリンタードライバー)。これにより、エンドユーザーは設定ボタン102の押下で所定の画面を表示できる。
<<クライアントPC常駐プログラム>>
本実施形態の印刷システム1は、直接印刷禁止機能を有している。直接印刷とは、エンドユーザーが、仮想プリンタードライバー14を使わずに、実プリンタードライバー16を使って印刷を行うことである。
図6は、仮想プリンタードライバー14のプロパティ画面の一例である。図6のプロパティ画面110は、管理者が仮想プリンタードライバー14のアイコンを右クリックし、「プリンターのプロパティ」を選択すると表示される。
図6に示すように、仮想プリンタードライバー14のプロパティで、管理者が「他のプリンタードライバーを使った印刷を禁止する」のチェックボックス111にチェックを入れる。これにより、エンドユーザーは直接印刷ができなくなる。すなわち、実プリンタードライバー16を使って直接印刷しようとするとエラーが表示される。
クライアントPC常駐プログラム17は、エンドユーザーの操作を監視することによって直接印刷禁止機能を実現する。
なお、エンドユーザーがWindows(登録商標)の管理者権限を持っていると、クライアントPC常駐プログラム17を終了できてしまうため、この機能は無効になる可能性がある。Windows(登録商標)の管理者だけが行える設定なので、図6は印刷設定画面ではなく、プロパティ画面である必要がある。
<端末装置の機能について>
図7は、端末装置50が有する機能をブロックに分けて説明する機能ブロック図の一例である。端末装置50は通信部51、表示制御部52、及び、操作受付部53を有している。これら各機能部は、端末装置50にインストールされた1以上のプログラムに含まれる命令をCPU501が実行することで実現される機能又は手段である。なお、このプログラムはWebブラウザが想定されるが、プリントサーバー30と通信するための専用のソフトウェアでもよい。
通信部51は、プリントサーバー30が提供するHTML、XML、CSS(Cascade Style Sheet)、及びJavaScript(登録商標)等により記述された画面情報を受信する。Webアプリケーション34はこのJavaScript(登録商標)等により実現される。通信部51は、管理者又はオペレーターが端末装置50に入力した情報をプリントサーバー30に送信する。
表示制御部52は各種の画面の画面情報を解釈してディスプレイ506に表示する。操作受付部53は、ディスプレイ506に表示された各種画面における管理者又はオペレーターの各種操作を受け付ける。
<<プリントサーバーの仮想プリンタードライバー>>
プリントサーバー30の仮想プリンタードライバー31はクライアントPC10のものと同じである。
<<Webアプリケーション>>
Webアプリケーション34は、後述するように、オペレーター用のジョブグループ一覧画面、及び、各種の管理者用の画面を提供できる。
エンドユーザーは、ジョブグループ一覧画面で、独自スプール41上の印刷ジョブ(実体はEMFデータ)をジョブグループごとに表示したり、ジョブグループの印刷順を変更したりできる。
なお、オペレーターは、Webアプリケーション34を使用する前に、Webアプリケーション34にログインする必要がある。これは、Webアプリケーション34が、オペレーターごとの操作履歴をログに残し、「誰が印刷ジョブやジョブグループを操作したか」を後で確認できるようにするためである。
Webアプリケーション34のユーザー情報は、外部ユーザー情報DB39に保存されている。外部ユーザー情報DB39のユーザー情報はWebアプリケーション34独自で管理機能を提供してもよいし、LDAP(Lightweight Directory Access Protocol)などにより提供してもよい。
<<独自スプール>>
独自スプール41上では、印刷設定とグループ化条件に応じてグループ化された印刷ジョブがジョブグループごとに保存されている。例えば、図4では、用紙サイズとコピー強化という印刷設定の項目に応じて、印刷ジョブが3つのジョブグループ41aにグループ化されている。これは、用紙サイズとコピー強化をグループ化条件とすることが、後述する振り分けテーブルに設定されているためである。詳細は後述する。なお、コピー強化とは、インパクトプリンタカーボン紙又はノンカーボン紙に印刷する場合のインパクトの強さを調整する機能である。
<<Webアプリケーションとドライバー設定登録プログラム>>
Webアプリケーション34とドライバー設定登録プログラム40は関連が深いので、まとめて説明する。
図8は、Webアプリケーション34のオペレーター向け画面例を示す。図8(a)は端末装置50が表示するログイン画面120の一例である。
・ユーザー名欄121は、オペレーター又は管理者がユーザー名(又はユーザーID)を入力する欄である。
・パスワード欄122は、オペレーター又は管理者がパスワードを入力する欄である。
図8(b)は、ログインボタン124の押下(ログイン成功)により端末装置50が表示するプリンター選択画面130の一例である。プリンター選択画面130は、オペレーターが選択可能なプリンターの一覧を表示する。プリンター選択画面130はプリンター名131と対応するラジオボタン132を有する。
本実施形態では、プリントサーバー30にプリンター1台が接続され、プリントサーバー30にプリンタードライバー1種類がインストールされた状態を想定しているので、図8(b)のプリンター選択画面130には、1つのプリンターが表示されている。
オペレーターがこのプリンターを選択し、次へボタン133を押下すると、ジョブグループ一覧画面が表示される。
図9は、ジョブグループ一覧画面140の一例である。各項目について説明する。
・ラジオボタン151はオペレーターによるジョブグループの選択を受け付ける。
・ジョブグループ名141は、印刷ジョブのジョブグループの名称である。印刷システム1は独自スプール41上で、印刷ジョブをジョブグループごとに管理する。
・ジョブグループの状態142は、以下のどれかの状態を持つ。
a. 印刷中
b. 印刷待ち
c. 印刷停止
なお、ジョブグループに含まれている印刷ジョブも「印刷中」、「印刷待ち」、「印刷停止」のどれかの状態を持つ。「印刷中」のジョブグループは、内部に「印刷中」の印刷ジョブを1つ持ち、残りのすべての印刷ジョブが「印刷待ち」の状態である。「印刷待ち」のジョブグループは、内部のすべての印刷ジョブが「印刷待ち」の状態である。「印刷停止」のジョブグループは、内部のすべての印刷ジョブが「印刷停止」の状態である。
・ジョブ数143は、ジョブグループが有する印刷ジョブの数である。
・ジョブグループのタイプ144には、「ユーザー作成」と「標準」のどちらかが登録される。「ユーザー作成」は、後述する振り分けテーブルに基づいて作成されたジョブグループである。「標準」は印刷ジョブが有する用紙サイズに基づいて作成されたジョブグループである。なお、図9の最下行の「グループ非所属ジョブ」は、いずれのジョブグループにも所属しない印刷ジョブが登録されるジョブグループである。
・上へボタン145は、ジョブグループが印刷される優先順位を上げる。
・下へボタン146は、ジョブグループが印刷される優先順位を下げる。
・停止ボタン147は、ジョブグループの状態142を「印刷停止」にする。停止ボタン147が有効なのは、ジョブグループの状態142が「印刷中」又は「印刷待ち」の場合だけである。停止ボタン147は、ジョブグループ内の全ジョブの状態を「印刷停止」にする。「印刷中」の印刷ジョブがある場合、停止ボタン147は、印刷完了後(実プリンタードライバーへの印刷依頼完了後)に、残っている全印刷ジョブを「印刷停止」にする。印刷ジョブの状態が「印刷中」とは、プリントサーバー常駐プログラム33が、独自スプール41から印刷ジョブを取り出す動作を開始してから、実プリンタードライバー36へ印刷要求を完了するまでの間の状態を指す。実プリンタードライバー36への印刷要求が完了すると、ジョブグループから印刷ジョブはなくなる。しかし、実プリンタードライバー36の印刷キューでは、印刷ジョブがまだ「印刷中」の可能性がある。
・開始ボタン148は、ジョブグループの状態142を「印刷待ち」にする。開始ボタン148が有効なのは、ジョブグループの状態が「印刷停止」の場合だけである。開始ボタン148は、ジョブグループ内の全ジョブの状態を「印刷待ち」にする。開始ボタン148の押下により、「印刷中」のジョブを含むジョブグループの状態は「印刷中」になる。
「印刷中」の印刷ジョブの印刷が完了して、ジョブグループから削除されたときは、以下のようになる。
a. 最上位のジョブグループに「印刷待ち」の印刷ジョブが存在する場合、ジョブグループ内の最上位の「印刷待ち」ジョブの状態が「印刷中」に変わり、直ちに印刷を開始する(実プリンタードライバーに印刷依頼をする)。
b. 最上位のジョブグループに残りの印刷ジョブが存在しない場合、そのジョブグループは、ジョブグループ一覧に表示されなくなる(今後、そのジョブグループにジョブが登録されると、再表示される)。
c. 最上位のジョブグループの状態が「印刷停止」の場合は、「印刷待ち」の最上位のジョブグループ内の最上位ジョブが「印刷中」に遷移し、そのジョブグループの状態も「印刷中」になる。
・編集ボタン149は、オペレーターがジョブグループ間で印刷ジョブを移動させるためのボタンである。
・戻るボタン150は、プリンター選択画面130に戻るためのボタンである。
図10は、編集ボタン149が押下された場合に表示されるジョブグループ編集画面160の一例である。なお、オペレーターは図9のラジオボタン151でジョブグループを選択済みである。ジョブグループ編集画面160は、追加対象ジョブリスト欄161、登録済みジョブリスト欄162、追加ボタン163、及び、削除ボタン164を有する。
・追加対象ジョブリスト欄161は、ジョブグループに非所属の印刷ジョブのリストを表示する。追加対象ジョブリスト欄161には、どのジョブグループにも振り分けられない印刷ジョブの振り分け先の「グループ非所属ジョブ」の印刷ジョブが表示される。
・登録済みジョブリスト欄162は、当該ジョブグループに登録済みの印刷ジョブのリストを表示する。
・追加ボタン163は、追加対象ジョブリスト欄161から登録済みジョブリスト欄162に印刷ジョブを登録するためのボタンである。
・削除ボタン164は、登録済みジョブリスト欄162から印刷ジョブを削除し、追加対象ジョブリスト欄161に移動させるためのボタンである。
続いて、図8(a)のログイン画面120で管理者が管理者画面へボタン123を押下した場合を説明する。
図11は、管理者画面へボタン123の押下により表示される管理者メニュー画面170の一例である。管理者メニュー画面170は印刷システム1の設定を開始するための画面である。管理者は「印刷システムの設定」172を選択して、次へボタン171を押下する。
図12は、次へボタン171の押下で表示される印刷システム設定画面180の一例である。以下、印刷システム設定画面180の各項目について説明する。
・「ジョブグループの自動作成」181
この項目は、ドライバー設定登録プログラム40がジョブグループを自動的に作成するか否かを管理者が設定する項目である。ラジオボタン181aは、用紙名に基づいて「標準」タイプのジョブグループを自動作成するという設定を受け付ける。ラジオボタン181bは、ジョブグループの自動作成を受け付けないという設定を受け付ける。
・「ジョブグループへのジョブの自動振り分け」182
この項目は、ドライバー設定登録プログラム40がジョブグループへ印刷ジョブを自動的に振り分けるか否かを管理者が設定する項目である。ラジオボタン182aは、ドライバー設定登録プログラム40が自動振り分けを行うという設定を受け付ける。ラジオボタン182bは、ドライバー設定登録プログラム40が自動振り分けを行わないという設定を受け付ける。
・「振り分けられたジョブの初期状態」183
この項目は、振り分けられたジョブの初期状態を管理者が設定する項目である。ラジオボタン183aは、振り分けられた印刷ジョブの初期状態を印刷待ちにするという設定を受け付ける。ラジオボタン183bは、振り分けられた印刷ジョブの初期状態を印刷停止にするという設定を受け付ける。
・「「グループ非所属ジョブ」グループの初期状態」184
この項目は、「グループ非所属ジョブ」グループの初期状態を管理者が設定する項目である。ラジオボタン184aは、「グループ非所属ジョブ」グループの印刷ジョブの初期状態を印刷停止にするという設定を受け付ける。ラジオボタン184bは、「グループ非所属ジョブ」グループの印刷ジョブの初期状態を印刷待ちにするという設定を受け付ける。
・「新しいジョブグループが「印刷中」の状態に遷移するときの動作」185
この項目は、新しいジョブグループが「印刷中」の状態に遷移するときの動作を、管理者が設定する項目である。チェックボックス185aを管理者がチェックすると、ドライバー設定登録プログラム40がプログラム欄185bで指定されたプログラム又はスクリプトを実行する。例えば、オペレーターに用紙の交換を促すメッセージを表示するプログラムなどが指定される。
管理者が図12の印刷システム設定画面180で設定した内容は、設定情報DB38に保存される。保存された情報は、Webアプリケーションとドライバー設定登録プログラム40が参照する。
<<設定情報DB>>
図13は、振り分けキー定義と振り分けテーブルを説明する図である。振り分けキー定義は、印刷ジョブをジョブグループに振り分けるためのキーとなる印刷設定項目を管理者が登録するテーブルである。振り分けテーブルは、1つ以上の振り分けキーの値と振り分け先ジョブグループの対応を管理者が定義するテーブルである。振り分けテーブルによりグループ化の条件が決まる。なお、振り分けキー定義と振り分けテーブルは設定情報DB38に保存される。
1つのプリンタードライバーに対して、振り分けキー定義と振り分けテーブルのそれぞれが定義される。
(1) 振り分けキー定義
(2) 振り分けテーブル
図13(a)は振り分けキー定義を説明する図である。振り分けキー定義は、プリントサーバー常駐プログラム33が、印刷ジョブをジョブグループに振り分ける際の印刷設定の項目(振り分けキー)を定義する。振り分けキー定義のうち斜線のセルは、管理者がドライバー設定登録プログラム40を使って登録する。振り分けキー定義のテーブルフォーマットは公開されるので、管理者は、作成済みのテーブルの内容を必要に応じて修正できる。図13(a)では、キーNo.=02,03,09の有効化フラグ191がチェックされているので、物理的な用紙サイズ(横と縦)と「コピー強化」を振り分けキーとしてプリントサーバー常駐プログラム33が使う例になる。
通常のカット紙プリンターの場合、後述する「OS定義用紙ID」(キーNo.01)の有効化フラグ(デフォルトはON)をONのままにしておく必要がある。これは、「A4」や「B4(JIS)」を使用する印刷ジョブの振り分けに必要なためである。「OS定義用紙ID」とは、「A4」や「B4(JIS)」など、OSが本来管理している用紙の識別番号が入る(「OS定義用紙ID」は、Windows(登録商標)によって決まっている)。「Drv/User定義用紙名」は、プリンタードライバーによって定義されている用紙〈「15x11インチ帳票(13.2")」など〉や管理者が定義したユーザー定義用紙の用紙名が入る。
しかし、プリンタードライバーによってはサポートしているのは、ドライバー定義用紙(「15x11インチ帳票(13.2")」など)とユーザー定義用紙だけの場合がある。つまり、OS定義用紙はプリンタードライバーによってはサポートされていない場合がある。したがって、OS定義用紙をサポートしていないプリンタードライバーを使う印刷システム1で用紙サイズを基準にジョブを振り分ける場合、「OS定義用紙ID」(キーNo.01)の有効化フラグはOFFでよい。図13(a)は、OS定義用紙IDの有効化フラグを管理者がOFFにした例である。
以下、各項目を説明する。
・有効化フラグ191
有効化フラグ191は、有効化フラグに対応する振り分けキーを印刷ジョブのグループ化にプリントサーバー常駐プログラム33が実際に使うかどうかを指定する。有効化フラグ191がONでないと、振り分けテーブルで振り分けキーが指定されてもグループ化には使用されない。
標準定義の振り分けキーとして、「OS定義用紙ID」と「Drv/User定義用紙名」だけがデフォルトで有効化される(図13はデフォルトが解除された状態)。残りはデフォルトで無効化されている。
ユーザー定義の振り分けキーは、管理者がドライバー設定登録プログラム40を実行することにより、振り分けキー定義に追加される。このとき、有効化フラグの初期値はONになる。
・キーNo.192
キーNo.は振り分けキーの識別番号である。キーNo.は、ドライバー設定登録プログラム40が自動採番する。後述の「振り分けテーブル」との対応付けに使われる。
・振り分けキー名193
振り分けキー名は、印刷ジョブのグループ化のキーになる属性である。振り分けキー名193は、管理者が分かるように文字等で記述される。例えば、「OS定義用紙ID」の有効化フラグがONの場合、プリントサーバー常駐プログラム33が、同一のOS定義用紙名の印刷ジョブを1つのジョブグループに振り分ける。複数の振り分けキーの有効化フラグがONの場合、プリントサーバー常駐プログラム33が、有効なすべての振り分けキーの値が同一の印刷ジョブを1つのジョブグループに振り分ける。図13(a)の例では、「用紙幅(横)」、「用紙長(縦)」、及び、「コピー強化」のすべての値が一致するジョブ群が1つのジョブグループに振り分けられる。
DEVMODE構造体では、「OS定義用紙ID」(dmPaperSize)か、「用紙幅(横)と用紙長(縦)」(dmPaperWidthとdmPaperLength)のどちらか片方だけが有効である。「A4」や「B4(JIS)」など、OSによって定義されている用紙は、「OS定義用紙ID」だけが有効である(「用紙幅(横)と用紙長(縦)」はゼロクリアされているものとする)。「15x11インチ帳票(13.2")」のようなプリンタードライバー又はユーザーによって定義されている用紙は、「用紙幅(横)と用紙長(縦)」だけが有効である(「OS定義用紙ID」はゼロクリアされている)。
・キーのタイプ194
キーのタイプ194は「標準定義」と「ユーザー定義」のどちらかである。「標準定義」は、予め定義済みの振り分けキーである。管理者が登録する必要はない。対応するDEVMODE構造体のメンバーは、標準領域に存在する。メンバーとは、構造体を構成する各項目である。「ユーザー定義」は、ドライバー設定登録プログラム40を使って、管理者が登録する振り分けキーである。対応するDEVMODE構造体のメンバーは、プライベート領域に存在する。
・DEVMODE構造体上のバイト位置195(位置情報の一例)
本項目は、DEVMODE構造体上の何バイト目に振り分けキーの情報が存在するかを示す。DEVMODE構造体上のバイト位置195は、レジストリーのDefault DevModeから判断される。標準定義の振り分けキーの場合は、バイト位置が固定で決まっているので、バイト位置の値が既に入力されている。DEVMODE構造体については図34~図38を参照されたい。
・バイト位置の取得方法196
ユーザー定義の振り分けキーの場合、管理者がドライバー設定登録プログラム40を実行することにより、ドライバー設定登録プログラム40がバイト位置を判断して、振り分けキー定義に書き込む。「ツール実行」の「ツール」とは、ドライバー設定登録プログラム40を指す。
・データ長197
DEVMODE構造体の標準メンバーの場合、「Drv/User定義用紙名」以外のデータ長は常にshort(2バイト)である。プライベート領域のメンバーの場合、データ長はプリンタードライバーに依存するので、ドライバー設定登録プログラム40が判断する。
・デフォルトON/OFF198
振り分けキー定義をドライバー設定登録プログラム40が作成した場合、最初からONになっている有効化フラグは「OS定義用紙ID」と「Drv/User定義用紙名」だけである。図13(a)の例は、作成済みの振り分けキー定義を管理者が編集して、「OS定義用紙ID」と「Drv/User定義用紙名」の有効化フラグをOFFに変えた状態である。この例では、物理的な用紙サイズをキーにしてジョブを振り分けるので、「Drv/User定義用紙名」を振り分けキーに使う必要がない。
・注釈199
この項目は、振り分けキー名の値がDEVMODE構造体でどのメンバーに登録されているかを示す。
図13(b)は、振り分けテーブルの一例を示す。振り分けテーブルは、1つ以上の振り分けキーの値と、振り分け先ジョブグループの対応を定義する。斜線のセルは、管理者がドライバー設定登録プログラム40を使って登録する。「振り分けテーブル」のテーブルフォーマットは公開されるので、管理者は、作成済みのテーブルの内容を必要に応じて修正できる。
・ID201
ID201は振り分けテーブルの各行の識別情報であり、ドライバー設定登録プログラム40が自動採番する。
・振り分けキー202
キーNo.は、「振り分けキー定義」で定義されている。値は、プリンタードライバーが規定しているが、一般には公開されていない。後述するように、管理者が、ドライバー設定登録プログラム40を使うことで登録できる。
・振り分け先ジョブグループ名203
この項目は、すべての振り分けキーの値が一致する印刷ジョブの振り分け先のジョブグループの名称である。
一例として、キーNo.に対応付けられる値は以下のように仮定する。
「振り分けキーNo.02[用紙幅(横)]の値01は、「15 inch」を意味するものと仮定する。
振り分けキーNo.02[用紙幅(横)]の値02は、「8.5 inch」を意味するものと仮定する。
振り分けキーNo.03[用紙長(縦)]の値01は、「11 inch」を意味するものと仮定する。
振り分けキーNo.09[コピー強化]の値00は、「コピー強化なし」を意味するものと仮定する。
振り分けキーNo.09[コピー強化]の値01は、「コピー強化あり」を意味するものと仮定する。」
<振り分けキー定義と振り分けテーブルの作成>
以下では、ドライバー設定登録プログラム40を用いた振り分けキー定義と振り分けテーブルの作成について説明する。ドライバー設定登録プログラム40は、Windows(登録商標)の管理者権限を使ってレジストリーを操作する。そのため、ドライバー設定登録プログラム40は、Webアプリケーションではなく、デスクトップアプリケーションとして実装される。
管理者がドライバー設定登録プログラム40を起動すると、まずユーザー名とパスワードの入力を求められる。
図14(a)はドライバー設定登録プログラム40を管理者が実行するためのログイン画面210である。ユーザー名欄211には管理者のユーザー名又はユーザーIDが入力される。パスワード欄212にはパスワードが入力される。ログインボタン213はユーザー名とパスワードを用いた認証を端末装置50がドライバー設定登録プログラム40に要求するボタンである。
図14(b)はログインボタン213が押下された場合に表示されるプリンター選択画面220の一例である。本実施形態では、プリンター1台、プリンタードライバー1種類が想定されているので、図14(b)の画面には単一のプリンターが表示されている。これから行う設定が、どのプリンターに対するものなのかを管理者が選択する。ここで指定したプリンター名は、振り分けキー定義と振り分けテーブルに対応付けて設定情報DB38に保存される。
図15は、次へボタン221が押下された場合に表示されるテーブル登録画面230の一例である。テーブル登録画面230は以下の3つのボタンを有している。
(1) 「標準の「振り分けキー定義」を作成する」ボタン231
(2) 「「振り分けキー定義」にユーザー定義の振り分けキーを追加する…」ボタン232
(3) 「「振り分けテーブル」を作成する…」ボタン233
以下これらのボタンについて説明する。
図16は、「(1)標準の「振り分けキー定義」を作成する」ボタン231が押下された場合を説明する図である。このボタンが押下された場合、ドライバー設定登録プログラム40は指定されたプリンター20に対して、図16の「振り分けキー定義」を自動作成する。すなわち、ドライバー設定登録プログラム40は、DEVMODE構造体における印刷設定の項目の位置やサイズを、振り分けキー(印刷設定の項目)に対応付けた振り分けキー定義を作成する。
管理者が「用紙名ごとにジョブがグループ化されるだけでよい」と考えており、かつ図12の印刷システム設定画面180で「用紙名に基づいて「標準」タイプのジョブグループを自動作成する(デフォルト)」を選択しているならば、必要な操作は以上で終了である。後述する図33のフローチャート図に従って、用紙名に基づくジョブのグループ化が容易に実現できる。
図17は、「(2)「振り分けキー定義」にユーザー定義の振り分けキーを追加する…」ボタン232が押下された場合を説明する図である。例として、図17では「振り分けキー定義」の最終行 (No. 09「コピー強化」)を管理者が追加するケースを説明する。
管理者が「(2)「振り分けキー定義」にユーザー定義の振り分けキーを追加する…」ボタン232を押下すると、ドライバー設定登録プログラム40は、指定されたプリンタードライバーに対応する現在のDefault DevMode の内容を一時的にメモリ上に保存する。
ドライバー設定登録プログラム40は、図18の確認画面(その1)240を表示する。確認画面(その1)240には、表示される画面の説明241と、画面の使い方242が表示されている。
画面の説明241は以下のとおりである。
・プリンター設定画面250
・確認画面(その2)270
画面の使い方242は以下のとおりである。
「まず、プリンター設定画面で[標準の設定…]ボタンをクリックしてから、
振り分けキーに使う設定の値を変更して、[OK]ボタンをクリックしてください。
次に「確認画面(その2)」で振り分けキーの名前を入力してから[OK]ボタンをクリックしてください。」
管理者がOKボタン243を押下すると、図19の画面と図21の画面が同時に表示される。
図19は、管理者がOKボタン243を押下して表示されるプリンター設定画面250の一例である。管理者は標準の設定ボタン251を押下する。
図20は、標準の設定ボタン251の押下で表示される標準設定画面260の一例である。標準設定画面260は、管理者がユーザー定義の振り分けキーを指定する画面である。管理者はユーザー定義の振り分けキーの一例として、コピー強化のチェックボックス261をチェックする。つまり、管理者はコピー強化のチェックボックス261の状態を変化させる。管理者がOKボタン262を押下する。
図21はOKボタン243の押下により表示される確認画面(その2)270の一例である。確認画面(その2)270は、以降の操作内容と注意点272を表示する。操作内容と注意点272は以下のとおりである。
「この「確認画面(その2)」が表示されたとき、同時に「プリンター設定画面」が表示されています。
まず「プリンター設定画面」で、[標準の設定…]ボタンをクリックしてから、振り分けキーに使う設定の値を変更して、[OK]ボタンをクリックしてください。
印刷設定の変更は、[詳細設定]タブで [標準の設定...]ボタンをクリックして行います。
[全般]タブの[基本設定...]ボタンではないことにご注意ください。
プリンター設定画面で設定値を変更して[OK]ボタンをクリックした後、この「確認画面(その2)」で、以下に振り分けキー名を入力してから[OK]ボタンをクリックしてください(必ずこの順序で操作してください)。」
「この「確認画面(その2)」で[OK]ボタンをクリックすると、「プリンター設定画面」の設定値変更後の設定情報を記録します。
更に、本「ドライバー設定登録プログラム」は、設定の変更前後のデータを比較し、解析結果を「設定データベース」の「振り分けキー定義」に保存します。」
また、確認画面(その2)270は振り分けキー名欄271を表示する。管理者が振り分けキー名欄271にユーザー定義の振り分けキーの名称を入力できる。図21で管理者がOKボタン273をクリックすると、ドライバー設定登録プログラム40は、振り分けキーの名称に対応付けて、値の変化があったレジストリーキー(Default DevMode)上のバイト位置と長さを「振り分けキー定義」に記録する。図34~図38にて説明するように、値の変化があったレジストリーキー上のバイト位置と長さが、「コピー強化」の設定が格納されるプライベート領域である。以上で、図17の「振り分けキー定義」の最終行に(No.09「コピー強化」)が追加された。
仮に、追加する振り分けキーが複数ある場合、管理者が以上の操作を繰り返す。
<<振り分けテーブルの作成>>
図22~図31は、「(3) 振り分けテーブルを作成する…」ボタン233が押下された場合を説明する図である。以下では、図22の「振り分けテーブル」の内容を管理者が登録するケースを説明する。
管理者は、後述する画面を繰り返し表示して、以下の手順で、図22の「振り分けテーブル」の内容をすべて登録する。「振り分けテーブル」のテーブルフォーマットは公開されるので、管理者は、「振り分けテーブル」を例えば1行分だけ作成して、残りの行を手作業で追加してもよい。
・振り分けテーブルのID101の行
[A] 管理者が、振り分け先ジョブグループ名「15x11インチ(コピー強化なし)」を指定する。
[A-1] 管理者が、振り分けキー1「用紙幅(横)」(キーNo.は02)を指定する。
→管理者が、対応する設定値「15インチ」(値は01)を指定する。
[A-2] 管理者が、振り分けキー2「用紙長(縦)」(キーNo.は03)を指定する。
→管理者が、対応する設定値「11インチ」(値は01)を指定する。
[A-3] 管理者が、振り分けキー3「コピー強化」(キーNo.は09)を指定する。
→管理者が、対応する設定値「なし」(値は00)を指定する。
・振り分けテーブルのID102の行
[B] 管理者が、振り分け先ジョブグループ名「15x11インチ(コピー強化あり)」を指定する。
[B-1] 管理者が、振り分けキー1「用紙幅(横)」(キーNo.は02)を指定する。
→管理者が、対応する設定値「15インチ」(値は01)を指定する。
[B-2] 管理者が、振り分けキー2「用紙長(縦)」(キーNo.は03)を指定する。
→管理者が、対応する設定値「11インチ」(値は01)を指定する。
[B-3] 管理者が、振り分けキー3「コピー強化」(キーNo.は09)を指定する。
→管理者が、対応する設定値「あり」(値は01)を指定する。
・振り分けテーブルのID103の行
[C] 管理者が、振り分け先ジョブグループ名「8.5x11インチ(コピー強化なし)」を指定する。
[C-1] 管理者が、振り分けキー1「用紙幅(横)」(キーNo.は02)を指定する。
→管理者が、対応する設定値「8.5インチ」(値は02)を指定する。
[C-2] 管理者が、振り分けキー2「用紙長(縦)」(キーNo.は03)を指定する。
→管理者が、対応する設定値「11インチ」(値は01)を指定する。
[C-3] 管理者が、振り分けキー3「コピー強化」(キーNo.は09)を指定する。
→管理者が、対応する設定値「なし」(値は00)を指定する。
・振り分けテーブルのID104の行
[D] 管理者が、振り分け先ジョブグループ名「8.5x11インチ(コピー強化あり)」を指定する。
[D-1] 管理者が、振り分けキー1「用紙幅(横)」(キーNo.は02)を指定する。
→管理者が、対応する設定値「8.5インチ」(値は02)を指定する。
[D-2] 管理者が、振り分けキー2「用紙長(縦)」(キーNo.は03)を指定する。
→管理者が、対応する設定値「11インチ」(値は01)を指定する。
[D-3] 管理者が、振り分けキー3「コピー強化」(キーNo.は09)を指定する。
→管理者が、対応する設定値「あり」(値は01)を指定する。
図23を参照して、管理者が、振り分けテーブルを作成する全体的な流れ(上記の[A]~[D])を説明する。図23は、振り分けテーブルの作成手順を説明するフローチャート図の一例である。なお、図23の処理はドライバー設定登録プログラム40をクライアントPC10が実行することで行われる。
まず、管理者がクライアントPC10を操作することで、クライアントPC10が図15のテーブル登録画面230を表示する(S1)。
次に、管理者が、「(3) 振り分けテーブルを作成する…」ボタン233を押下する(S2)。
これにより、クライアントPC10は、後述する振り分けテーブル登録画面(その1)280を表示する(S3)。
次に、管理者は振り分け先ジョブグループ名を入力して、次へボタンを押下する(S4)。 これにより、クライアントPC10は、後述する振り分けテーブル登録画面(その2)290を表示する(S5)。
次に、管理者は振り分けキーを選択して、次へボタンを押下する(S6)。
これにより、クライアントPC10は、後述する振り分けテーブル登録画面(その3)300を表示する(S7)。
次に、管理者は、OKボタンを押下する(S8)。これにより、クライアントPC10は、後述するプリンター設定画面310と振り分けテーブル登録画面(その4)330を同時並行に表示する(S9、S11)。
次に、管理者はプリンター設定画面310で振り分けキーの値を選択して、OKボタンを押下する(S10)。
また、管理者は振り分けテーブル登録画面(その4)330で、OKボタンを押下する(S12)。
これにより、クライアントPC10は後述する振り分けキー登録確認画面340を表示するので、管理者は同じ振り分け先ジョブグループに登録する他の振り分けキーがあるかどうかを判断し、はいボタン又はいいえボタンを押下する(S13)。
ドライバー設定登録プログラム40は、はいボタンが押下されると、振り分けテーブル登録画面(その2)290を再度、クライアントPC10に表示させる。
いいえボタンが押下されると、クライアントPC10は後述する振り分け先ジョブグループ登録確認画面350を表示するので、管理者は他の振り分け先ジョブグループを登録するかどうかを判断し、はいボタン又はいいえボタンを押下する(S14)。
ドライバー設定登録プログラム40は、はいボタンが押下されると、振り分けテーブル登録画面(その1)280を再度、クライアントPC10に表示させる。
ドライバー設定登録プログラム40は、いいえボタンが押下されると、テーブル登録画面230を、クライアントPC10に表示させる。
ドライバー設定登録プログラム40はこのように画面を遷移させることで、管理者が、振り分けテーブルを登録できる。
以下では、図23で説明した各画面について詳細に説明する。
図24は、「(3) 振り分けテーブルを作成する…」ボタン233の押下により表示される振り分けテーブル登録画面(その1)280の一例である。振り分けテーブル登録画面(その1)280は、振り分け先ジョブグループ名欄281を有している。管理者は所望の(任意の)振り分け先ジョブグループ名を入力して、次へボタン282を押下する。
図25は、次へボタン282の押下により表示される振り分けテーブル登録画面(その2)290の一例である。管理者は図24で入力した振り分け先ジョブグループへの振り分けに使用する振り分けキーをラジオボタン291で選択する。
図26は、次へボタン292を押下された場合に表示される振り分けテーブル登録画面(その3)300の一例である。振り分けテーブル登録画面(その3)300は、表示される画面の説明301と、画面の使い方302が表示されている。
画面の説明301は以下のとおりである。
・プリンター設定画面310
・振り分けテーブル登録画面(その4)330
画面の使い方302は以下のとおりである。
「まず、プリンター設定画面で[標準の設定…]ボタンをクリックしてから、
振り分けキーに使う値を設定して、[OK]ボタンをクリックしてください。
次に振り分けテーブル登録画面(その4)で[OK]ボタンをクリックしてください。」
管理者がOKボタン303を押下すると、図27の画面と図29の画面が同時に表示される。
図27は、プリンター設定画面310の一例である。図27は図19と同じである。
図28は、標準設定ボタン311の押下で表示される標準設定画面320の一例である。標準設定画面320で管理者は例えば用紙サイズ欄321の値を振り分けキーの値に指定する。管理者は、標準設定画面320の用紙サイズ欄321で「15x11インチ」の用紙を選択する。これにより、「15x11インチ」という用紙サイズが、図25の振り分けテーブル登録画面(その2)290で選択した振り分けキーの値になる。
図29は、OKボタン322の押下により表示される振り分けテーブル登録画面(その4)330の一例である。振り分けテーブル登録画面(その4)330は、以降の操作内容と注意点331を表示する。以降の操作内容と注意点331は以下のとおりである。
「この「振り分けテーブル登録画面(その4)」が表示されたとき、同時に「プリンター設定画面」が表示されています。
まず「プリンター設定画面」で、[標準の設定…]ボタンをクリックしてから、振り分けに使う値を設定して、[OK]ボタンをクリックしてください。
印刷設定の変更は、[詳細設定]タブで [標準の設定...]ボタンをクリックして行います。
[全般]タブの [基本設定...]ボタンではないことにご注意ください。
プリンター設定画面で設定を行って [OK]ボタンをクリックした後、この「振り分けテーブル登録画面(その4)」で [OK]ボタンをクリックしてください(必ずこの順序で操作してください)。
この「振り分けテーブル登録画面(その4)」で [OK]ボタンをクリックすると、「プリンター設定画面」の設定値を「設定データベース」の「振り分けテーブル」に記録します。」
OKボタン332の押下により、ドライバー設定登録プログラム40は、管理者が指定した振り分けキー名に対応するDefault DevMode上の値を読み取り、「振り分けテーブル」に記録してから、以下のダイアログを表示する。
図30は、振り分けキー登録確認画面340の一例である。ジョブグループ名欄341には、図24の振り分けテーブル登録画面(その1)280の振り分け先ジョブグループ名欄281で管理者が入力した振り分け先ジョブグループ名〈「15x11インチ(コピー強化なし)」など〉が入っている。
管理者がはいボタン342を押下すると、振り分けテーブル登録画面(その2)290が再度、表示される。管理者がいいえボタン343を押下すると、ドライバー設定登録プログラム40は以下のダイアログを表示する
図31は、振り分け先ジョブグループ登録確認画面350の一例である。管理者が、はいボタン351を押下すると、振り分けテーブル登録画面(その1)280が再度、表示される。管理者が、いいえボタン352を押下すると、図15のテーブル登録画面230が再度、表示される。
<印刷システムの全体的な処理の流れ>
図32を参照して、印刷システム1の処理を説明する。図32は、印刷システム1が印刷ジョブをジョブグループに振り分ける手順を示すシーケンス図の一例である。
S41:エンドユーザーがクライアントPC10上で仮想プリンタードライバー14を使って、アプリケーション11で生成した文書ファイル12の印刷操作を行う。
S42:GDI13はクライアントPC10の仮想プリンタードライバー14に文書から生成されたジョブデータ(EMFデータ)を渡す。EMFデータはEMFスプール(クライアント)15に保存される。
S43:クライアントPC10の仮想プリンタードライバー14はEMFデータをプリントサーバー30の仮想プリンタードライバー31に送信する(RPCを使用したEMFスプール(クライアント用)15からEMFスプール(サーバー用)32への移動)。
S44:プリントサーバー30の仮想プリンタードライバー31は、EMFデータをEMFスプール(サーバー)32に保存する。
S45:仮想プリンタードライバー31は、プリントサーバー常駐プログラム33に印刷ジョブの実行を要求する。プリントサーバー常駐プログラム33は、EMFスプール(サーバー)32に保存された印刷ジョブのジョブグループへの振り分けを行う。詳細を図33にて説明する。
S46:プリントサーバー常駐プログラム33はEMFスプール(サーバー用)32から独自スプール41に印刷ジョブを移動する。
S47:オペレーターPが、Webアプリケーション34を操作して、印刷ジョブが所属するジョブグループを変更する。こうすることで、自動的に振り分けられた印刷ジョブの振り分け先をオペレーターPが変更できる。必ずしもこのタイミングでこの操作が行われるわけではなく、操作タイミングは一例である。
S48:Webアプリケーション34はジョブグループの変更を受け付ける。Webアプリケーション34はプリントサーバー常駐プログラム33にジョブグループの変更を通知する。
S49:プリントサーバー常駐プログラム33は、Webアプリケーション34からの通知にしたがって、独自スプール41に保存されている印刷ジョブが所属するジョブグループを変更する。
S50:プリントサーバー常駐プログラム33は独自スプール41において優先順位が最も高いジョブグループのEMFデータの印刷を開始する。プリントサーバー常駐プログラム33は、1つのジョブグループに所属する印刷ジョブの印刷を受付日時などの順番で、開始する。つまり、プリントサーバー常駐プログラム33はジョブグループ単位で印刷を開始する。換言すると、プリントサーバー常駐プログラム33は、1つのジョブグループに所属している印刷ジョブを他のジョブグループの印刷ジョブより優先して印刷する。
S51:プリントサーバー常駐プログラム33は、ジョブグループ単位でEMFデータを実プリンタードライバー36で印刷するようにGDI35に要求する。GDI35は、要求を受けて、該EMFデータを独自スプール41から取り出し、実プリンタードライバー用スプール42に保存する。
S52:実プリンタードライバー36は、実プリンタードライバー用スプール42のEMFデータをRAWデータに変換して、実プリンタードライバー用スプール42に保存し直す。
S53:プリントサーバー30のスプーラーは、実プリンタードライバー用スプール42のRAWデータをポートモニター37に渡す。
S54:ポートモニター37はRAWデータをプリンター20に投入する。これにより、プリンター20が印刷ジョブを実行し、RAWデータを印刷できる。
以上により、特定の機種のプリンタードライバーに依存せず、印刷ジョブのグループ化が行われ、更に、プリントサーバー30はジョブグループ単位で印刷ジョブを実行できる。
<振り分けテーブルを用いた印刷ジョブの振り分け>
図33は、振り分けテーブルと振り分けキー定義を用いた印刷ジョブの振り分けを説明するフローチャート図の一例である。なお、設定情報DB38において、「ジョブグループへのジョブの自動振り分けを行う」がオンである。
まず、プリントサーバー常駐プログラム33が、EMFスプール(サーバー)32から印刷ジョブを1つ取り出す(S21)。
プリントサーバー常駐プログラム33は、振り分けテーブルが作成されている(存在する)かどうかを判断する(S22)。
ステップS22の判断がYesの場合、プリントサーバー常駐プログラム33は振り分けテーブルに登録されている振り分けキーの値を、印刷ジョブが有しており、かつ、振り分けキー定義に登録されている振り分けキーの有効化フラグがONかどうかを判断する(S23)。印刷ジョブが有する印刷設定はDEVMODE構造体に保存されている。振り分けキーが指定する項目の、DEVMODE構造体における値の位置は振り分けキー定義に登録されている。プリントサーバー常駐プログラム33は、DEVMODE構造体から上記位置で特定される印刷設定の項目を取得し、EMFデータが振り分けテーブル(グループ化条件)に適合するかどうかを判断する。
ステップS23の判断がYesの場合、プリントサーバー常駐プログラム33は振り分け先ジョブグループが既に存在するか否かを判断する(S24)。振り分け先ジョブグループは、例えば振り分けテーブルのIDにより識別される。
ステップS24の判断がYesの場合、プリントサーバー常駐プログラム33は印刷ジョブを、独自スプール41の振り分け先ジョブグループに登録する(S25)。
ステップS24の判断がNoの場合、プリントサーバー常駐プログラム33は振り分けテーブルの振り分け先ジョブグループ名を使って、新しいジョブグループを作成し、作成したジョブグループにジョブを登録する(S24-2)。
ステップS22の判断がNoの場合、プリントサーバー常駐プログラム33は振り分けキー定義の「有効化フラグ」はデフォルト状態(キーNo.01と04だけON)かどうかを判断する(S26)。
ステップS26の判断がNoの場合、プリントサーバー常駐プログラム33は「振り分けテーブルが未作成のときは、振り分けキー定義をデフォルト状態のまま使ってください」のエラーメッセージをクライアントPC10に表示させる(S27)。振り分けテーブルがないと振り分け先ジョブグループもないので、「有効化フラグ」がデフォルト状態でないと振り分けできない場合があるためである。この場合、印刷ジョブはグループ非所属ジョブに振り分けられる。
ステップS26の判断がYesの場合、プリントサーバー常駐プログラム33は、印刷ジョブが有する用紙名で特定される振り分け先ジョブグループが既に存在するか否かを判断する(S28)。「有効化フラグ」がデフォルト状態の場合は、用紙名に基づいて振り分けられるためである。なお、ジョブグループには用紙名が付されているので、プリントサーバー常駐プログラム33は振り分け先ジョブグループが作成済みかどうかを判断できる。
ステップS28の判断がYesの場合、プリントサーバー常駐プログラム33は用紙名をジョブグループ名として持つ既存のジョブグループに印刷ジョブを保存する(S29)。このように、「振り分けテーブル」を管理者が作成しなくても、プリントサーバー常駐プログラムはEMFデータをジョブグループに振り分けることができる。
ステップS28の判断がNoの場合、及び、ステップS23の判断がNoの場合、プリントサーバー常駐プログラム33は、設定情報DB38において、「用紙名に基づいて「標準」タイプのジョブグループを自動作成する」が選択されているか否かを判断する(S30)。
ステップS30の判断がYesの場合、プリントサーバー常駐プログラム33は用紙名をジョブグループ名として持つ新しいジョブグループを作成し、印刷ジョブを保存する(S31)。管理者がジョブグループを都度定義しなくても、プリントサーバー常駐プログラム33が用紙名に基づいて、ジョブグループを自動作成することにより、管理者の負担を軽減できる。
ステップS30の判断がNoの場合、プリントサーバー常駐プログラム33は、グループ非所属ジョブに印刷ジョブを保存する(S32)。
以上のように、プリントサーバー常駐プログラム33が、用紙サイズ等の印刷設定が共通する印刷ジョブをまとめてグループ化できる。本実施形態では、エンドユーザー又は管理者が「ジョブ属性を記述した書誌情報XML」を作る必要がない。
<DEVMODE構造体について>
以下では、DEVMODE構造体について補足する。DEVMODE構造体とは、エンドユーザーが印刷時に指定した印刷設定情報(用紙サイズ、部数、印刷の向き、給紙トレイ、解像度など)を保存するメモリ上の構造体である。DEVMODE構造体は、OSが提供するが、アプリケーションも参照できる。
DEVMODE構造体には、プライベート領域(拡張領域)と呼ばれる領域がある。プリンター独自の設定情報は、このプライベート領域に保存される。
例えば、図34はあるプリンタードライバーの印刷設定画面(基本設定)の一例である。エンドユーザーは「用紙サイズ」321、「コピー部数」323など、各種の印刷設定を行うことができる。これらの基本設定の印刷設定情報はDEVMODE構造体の標準の領域に保存される。
図35は、あるプリンタードライバーの印刷設定画面(拡張設定)の一例である。図35の「コピー強化」などの情報(コピー時に濃度を向上させる)は、一般のプリンターに存在する機能ではないので、DEVMODE構造体の標準領域には、該当するメンバーがない。このような拡張設定に関する印刷設定情報は、DEVMODE構造体のプライベート領域に保存される。
基本設定に含まれる「用紙サイズ」などは、アプリケーション固有の設定画面(「ページ設定」など)でもエンドユーザーが設定できる。
図36は、表計算ソフトの「ページ設定」画面でエンドユーザーが用紙サイズを指定する画面例である。アプリケーション固有の設定画面での「用紙サイズ」361の指定と、アプリケーションから表示させたドライバー設定画面での「用紙サイズ」の指定は、多くのアプリケーションでは自動的に同期されて、DEVMODE構造体に保存される。
設定が同期しないアプリケーションの場合、一般にはアプリケーション固有の設定画面での「用紙サイズ」が優先されて、DEVMODE構造体に保存される(ドライバー設定画面での「用紙サイズ」の指定は無視される)。
ところで、「用紙サイズ」や「コピー強化」などの設定は、エンドユーザーが印刷時に、設定画面上に既に表示されている設定の初期値を変更することによって行う。プリンタードライバーの導入直後に、設定画面に表示される初期値は、プリンタードライバーによって決まっている。
設定画面に表示される初期値は、システム管理者が、Windows(登録商標)の「標準の設定」画面で変更できる(「標準の設定」画面は、管理者権限を持つシステム管理者だけが操作できる)。
「標準の設定」画面の設定値を変更することにより、エンドユーザーが印刷時に表示する印刷設定画面の初期値を変更できる。
「標準の設定」画面は、Windows(登録商標)の「デバイスとプリンター」画面でプリンターを右クリックし、[詳細設定]タブの[標準の設定...]ボタンをクリックすることで表示できる。
図37は、システム管理者が操作する「標準の設定」画面の一例である。システム管理者は、「標準の設定」画面で、「コピー強化」362の初期値を「オフ」から「オン」に変更している。この画面で、「コピー強化」362のチェックボックスにシステム管理者がチェックを入れてから[適用]ボタンを押下すると、「コピー強化」362の初期値が「オン」に変更される。
変更後の初期値は、レジストリーの以下の場所に保存される。
■レジストリーキー名:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers\(プリンター名)
■レジストリーキーの値:
Default DevMode
図38はレジストリエディター画面の一例を示す。「用紙サイズ」などは、DEVMODE構造体の標準メンバーなので、Default DevModeの何バイト目なのかは決まっている。何の値が何の用紙を意味するかも通常は決まっている(プリンタードライバーによって定義されている用紙や、ユーザー定義用紙の場合は状況が多少異なるが、予め既知と扱える)。)。
しかし、「コピー強化」のようなプリンタードライバー独自の設定は、DEVMODE構造体のプライベート領域(拡張領域)に保存される。Default DevMode363の何バイト目が「コピー強化」なのか、何の値が「あり」で、何の値が「なし」なのか、といった情報は、プリンターメーカーが独自に決めており、一般には公開されていない。
しかし、図37の「標準の設定」画面で、「コピー強化」の設定を変更、保存し、Default DevModeのデータの変化をドライバー設定登録プログラム40が監視することにより、何バイト目が「コピー強化」なのか、何の値が「あり」で、何の値が「なし」なのか、といった情報を判断できる。
本実施形態では、上記のように、ドライバー設定登録プログラム40が、Default DevModeのデータの変化を監視して、プリンタードライバーの設定項目値を「設定データベース」に登録する。
<主な効果>
以上説明したように、本実施形態の印刷システム1では、プリントサーバー常駐プログラム33が、用紙サイズ等の印刷設定が共通する印刷ジョブをまとめてグループ化する。
印刷ジョブはEMFデータなので、機種やプリンタードライバー等の制約を低減することができる。実プリンタードライバー36はグループ単位で印刷ジョブを実行するので、用紙交換の回数を減らし、プリンターの稼働率を向上させることができる。また、プリンター20から見て上流システムも必要ない。
また、プリントサーバー常駐プログラム33は、用紙名、用紙の大きさなどの印刷設定をDEVMODE構造体から自動的に取得する。グループ化のための印刷設定を、エンドユーザーが都度、設定する必要がない。
また、本実施形態では、DEVMODE構造体のプライベート領域に格納される印刷設定に基づいて、プリントサーバー常駐プログラム33が印刷ジョブをグループ化できる。
<その他の適用例>
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
例えば、本実施形態では、エンドユーザー、オペレーター、及び管理者の役割を明記したが、エンドユーザー、オペレーター及び管理者のいずれかが、本実施形態で説明した全ての操作を行ってもよい。
また、図4などの構成例は、クライアントPC10、及び、プリントサーバー30による処理の理解を容易にするために、主な機能に応じて分割したものである。処理単位の分割の仕方や名称によって本願発明が制限されることはない。クライアントPC10、及び、プリントサーバー30の処理は、処理内容に応じて更に多くの処理単位に分割することもできる。また、1つの処理単位が更に多くの処理を含むように分割することもできる。
また、実施例に記載された装置群は、本明細書に開示された実施形態を実施するための複数のコンピューティング環境のうちの1つを示すものにすぎない。ある実施形態では、プリントサーバー30は、サーバクラスタといった複数のコンピューティングデバイスを含む。複数のコンピューティングデバイスは、ネットワークや共有メモリなどを含む任意のタイプの通信リンクを介して互いに通信するように構成されており、本明細書に開示された処理を実施する。
更に、プリントサーバー30は、本実施形態で開示された処理ステップ、例えば図32等を様々な組み合わせで共有するように構成できる。例えば、所定のユニットによって実行されるプロセスは、プリントサーバー30が有する複数の情報処理装置によって実行され得る。また、プリントサーバー30は、1つのサーバー装置にまとめられていても良いし、複数の装置に分けられていても良い。
上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)や従来の回路モジュール等のデバイスを含むものとする。
なお、GDI13は中間データ生成手段の一例であり、プリントサーバー常駐プログラム33は印刷制御手段の一例である。ドライバー設定登録プログラム40は条件作成手段の一例である。
1 印刷システム
10 クライアントPC
20 プリンター
30 プリントサーバー
50 端末装置
特開2020-113115号公報

Claims (14)

  1. 情報処理端末から送信された印刷ジョブを情報処理装置が画像形成装置で印刷する印刷システムであって、
    前記情報処理端末から受け取った印刷対象のデータを中間データに変換する中間データ生成手段と、
    前記中間データ生成手段が生成した前記中間データの印刷設定に基づいて、前記中間データをジョブグループに振り分ける印刷制御手段と、を有し、
    前記印刷制御手段は、前記ジョブグループに振り分けられている複数の前記中間データを別のジョブグループに振り分けられている前記中間データよりも優先して前記画像形成装置で印刷する、
    を有する印刷システム。
  2. 前記印刷制御手段は、グループ化条件に適合する前記印刷設定を有する前記中間データを同じジョブグループに振り分ける請求項1に記載の印刷システム。
  3. 前記印刷制御手段は、前記グループ化条件に前記中間データが適合した場合であり、前記グループ化条件に適合する前記ジョブグループが存在しない場合、前記中間データの振り分け先の前記ジョブグループを生成する請求項2に記載の印刷システム。
  4. 前記情報処理装置はWebアプリケーションを端末装置に提供し、
    前記端末装置は、前記Webアプリケーションを介して、前記ジョブグループを自動で生成する設定を受け付ける画面を表示し、前記ジョブグループを自動で生成する設定を管理者から受け付け、
    前記ジョブグループを自動で生成する設定を前記情報処理装置に送信する請求項3に記載の印刷システム。
  5. 前記印刷設定の項目を自動的に作成する条件作成手段を有し、
    前記条件作成手段は、DEVMODE構造体における前記印刷設定の項目の位置情報を前記印刷設定の項目に対応付けた振り分けキー定義を作成し、
    前記印刷制御手段は、前記グループ化条件に応じて、前記中間データのDEVMODE構造体から前記位置情報で特定される前記印刷設定の項目を取得し、前記中間データが前記グループ化条件に適合するかどうかを判断する請求項2~4のいずれか1項に記載の印刷システム。
  6. 前記情報処理装置はアプリケーションを端末装置に提供し、
    前記端末装置は、前記アプリケーションを介して、DEVMODE構造体のプライベート領域に格納される前記印刷設定の項目の設定を受け付ける画面を表示し、前記印刷設定の項目の設定を管理者から受け付け、
    DEVMODE構造体のプライベート領域に格納される前記印刷設定の項目の設定を前記情報処理装置に送信し、
    前記条件作成手段は、前記振り分けキー定義にDEVMODE構造体のプライベート領域に格納される前記印刷設定の項目を登録する請求項5に記載の印刷システム。
  7. 前記条件作成手段は、DEVMODE構造体のプライベート領域に格納される前記印刷設定の項目の設定を受ける際に変化したレジストリーキーに基づいて、DEVMODE構造体のプライベート領域における前記印刷設定の項目の位置情報を検出し、DEVMODE構造体のプライベート領域に格納される前記印刷設定の項目に前記位置情報を対応付ける請求項6に記載の印刷システム。
  8. 前記端末装置は、前記情報処理装置から提供されるWebアプリケーションを介して、前記グループ化条件の設定を受け付ける画面を表示し、前記グループ化条件の設定を管理者から受け付け、
    前記グループ化条件を前記情報処理装置に送信する請求項6又は7に記載の印刷システム。
  9. 前記端末装置は、中間データの振り分け先のジョブグループの名称を受け付ける画面、前記振り分けキー定義の前記印刷設定の項目を受け付ける画面、及び、前記項目の値を受け付ける印刷設定画面を表示し、
    前記端末装置は、前記ジョブグループの名称、前記振り分けキー定義の前記印刷設定の項目、及び、前記項目の値を前記情報処理装置に送信し、
    前記条件作成手段は、前記ジョブグループの名称、前記振り分けキー定義の前記印刷設定の項目、及び、前記項目の値を対応付けて前記グループ化条件を作成する請求項6~8のいずれか1項に記載の印刷システム。
  10. 前記グループ化条件が存在しない場合、前記印刷制御手段は、前記中間データ生成手段が生成した前記中間データを、前記中間データが有する印刷設定の用紙名を前記ジョブグループの名称とする前記ジョブグループに振り分ける請求項8に記載の印刷システム。
  11. 前記グループ化条件が存在せず、前記中間データが有する印刷設定の用紙名を前記ジョブグループの名称とする前記ジョブグループが存在しない場合、
    前記印刷制御手段は、前記中間データ生成手段が生成した前記中間データを、グループ非所属ジョブに振り分ける請求項8に記載の印刷システム。
  12. 情報処理端末から送信された印刷ジョブを情報処理装置が画像形成装置で印刷する印刷システムが行う印刷方法であって、
    中間データ生成手段が、前記情報処理端末から受け取った印刷対象のデータを中間データに変換するステップと、
    印刷制御手段が、前記中間データ生成手段が生成した前記中間データの印刷設定に基づいて、前記中間データをジョブグループに振り分けるステップと、
    前記印刷制御手段は、前記ジョブグループに振り分けられている複数の前記中間データを別のジョブグループに振り分けられている前記中間データよりも優先して前記画像形成装置で印刷するステップと、
    を有する印刷方法。
  13. 情報処理端末から送信された印刷ジョブを画像形成装置で印刷する情報処理装置であって、
    前記情報処理端末から受け取った印刷対象のデータを中間データに変換する中間データ生成手段と、
    前記中間データ生成手段が生成した前記中間データの印刷設定に基づいて、前記中間データをジョブグループに振り分ける印刷制御手段と、を有し、
    前記印刷制御手段は、前記ジョブグループに振り分けられている複数の前記中間データを別のジョブグループに振り分けられている前記中間データよりも優先して前記画像形成装置で印刷する情報処理装置。
  14. 情報処理端末から送信された印刷ジョブを画像形成装置で印刷する情報処理装置を、
    前記情報処理端末から受け取った印刷対象のデータを中間データに変換する中間データ生成手段と、
    前記中間データ生成手段が生成した前記中間データの印刷設定に基づいて、前記中間データをジョブグループに振り分ける印刷制御手段、として機能させ、
    前記印刷制御手段は、前記ジョブグループに振り分けられている複数の前記中間データを別のジョブグループに振り分けられている前記中間データよりも優先して前記画像形成装置で印刷するプログラム。
JP2021046636A 2021-03-19 2021-03-19 印刷システム、印刷方法、情報処理装置、プログラム Pending JP2022145288A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021046636A JP2022145288A (ja) 2021-03-19 2021-03-19 印刷システム、印刷方法、情報処理装置、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021046636A JP2022145288A (ja) 2021-03-19 2021-03-19 印刷システム、印刷方法、情報処理装置、プログラム

Publications (1)

Publication Number Publication Date
JP2022145288A true JP2022145288A (ja) 2022-10-03

Family

ID=83453786

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021046636A Pending JP2022145288A (ja) 2021-03-19 2021-03-19 印刷システム、印刷方法、情報処理装置、プログラム

Country Status (1)

Country Link
JP (1) JP2022145288A (ja)

Similar Documents

Publication Publication Date Title
EP1865409B1 (en) Information processing apparatus, print controlling method, and computer-readable storage medium
JP4690449B2 (ja) 印刷制御システム、印刷制御サーバ、画像形成装置と、その処理方法及びプログラム
US8503020B2 (en) Document management system, document management method, and storage medium
JP5763904B2 (ja) プリントシステム、印刷方法、プリントサーバおよびその制御方法、並びにプログラム
US8773701B2 (en) Image processing apparatus, print control method, recording medium storing print control program
JP5377044B2 (ja) 印刷システム、データ処理方法およびプログラム
US10956095B2 (en) Server system that improves availability of a plurality of printers, print controller, information processing apparatus, and print service system
JP2020004158A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
US20080304102A1 (en) Job management apparatus, job management method, and program
US8780392B2 (en) Client apparatus, control method therefor, and bookbinding system
JP2011129054A (ja) 印刷ジョブ管理装置、印刷ジョブ管理システム、印刷ジョブ管理方法、及び印刷ジョブ管理プログラム
JP4863475B2 (ja) 情報処理装置およびその方法
US11991331B2 (en) Server, method of controlling the server, and storage medium
US20110055689A1 (en) Method of performing at least one operation in image forming apparatus, and image forming apparatus and host device to perform the method
US11388300B2 (en) Appliance setting apparatus and non-transitory computer-readable recording medium storing appliance setting program
US9001359B2 (en) Information processing apparatus capable of setting configuration information for use by an image processing apparatus, and control method and storage medium therefor
JP2022145288A (ja) 印刷システム、印刷方法、情報処理装置、プログラム
CN113596275A (zh) 图像形成设备、图像形成设备的控制方法和存储介质
US20060119886A1 (en) Print control unit and a print control program
JP2022040993A (ja) 情報処理装置、制御方法及びプログラム
JP2001154961A (ja) 文書出力装置及びその方法
JP2015225535A (ja) 情報処理装置、及びこれを用いる認証プリントシステム
US20110063674A1 (en) Information processing apparatus and computer-readable medium including computer program
US11829674B2 (en) Printing system, apparatus, and method, utilizing a virtual printer
JP2022145184A (ja) 印刷システム、印刷方法、情報処理装置、プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240119