JP6212971B2 - 印刷制御装置、印刷制御方法、プログラムおよび印刷制御システム - Google Patents

印刷制御装置、印刷制御方法、プログラムおよび印刷制御システム Download PDF

Info

Publication number
JP6212971B2
JP6212971B2 JP2013124168A JP2013124168A JP6212971B2 JP 6212971 B2 JP6212971 B2 JP 6212971B2 JP 2013124168 A JP2013124168 A JP 2013124168A JP 2013124168 A JP2013124168 A JP 2013124168A JP 6212971 B2 JP6212971 B2 JP 6212971B2
Authority
JP
Japan
Prior art keywords
filter
description language
page description
printer
print
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.)
Expired - Fee Related
Application number
JP2013124168A
Other languages
English (en)
Other versions
JP2014241118A (ja
Inventor
雅利 柳瀬
雅利 柳瀬
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 JP2013124168A priority Critical patent/JP6212971B2/ja
Publication of JP2014241118A publication Critical patent/JP2014241118A/ja
Application granted granted Critical
Publication of JP6212971B2 publication Critical patent/JP6212971B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、印刷制御装置、印刷制御方法、プログラムおよび印刷制御システムに関する。
昨今、1つのプリンタドライバで複数の機種のプリンタに対応することができる機種共通ドライバが多く利用されている。この機種共通ドライバは、複数のプリンタに対応しているが、それらのプリンタに対応するPDL(Page Description Language:ページ記述言語)は1種類に固定されていることが多い。つまり、ユーザは、それらのプリンタに対応するPDLの機種共通ドライバを選ぶ必要がある。したがって、ユーザの利便性の観点から、ユーザが複数のプリンタドライバの中から1つを選択する必要がなく、1つのプリンタドライバによって複数種類のPDLに対応できることが望ましい。
次に、プリンタドライバの1つであるXPS(XML Paper Specification)ドライバについて説明する。XPSドライバは、Windows Vista(登録商標)以降に登場したプリンタドライバである。XPSドライバは、印刷処理の際にいくつかのフィルタを通して最終印刷データを作成するドライバである。XPSドライバにおいて、フィルタを利用する際には、XPSドライバのフィルタパイプライン設定ファイルに利用するフィルタを登録しておく必要がある。そして、フィルタパイプライン設定ファイルに登録されたフィルタは、フィルタパイプラインというOS(Operating System)の仕組みを介して、必ず利用されることになる。フィルタパイプライン設定ファイルとは、フィルタパイプライン動作において使用されるフィルタを登録しておくためのファイルである。
XPSドライバで複数のPDLに対応することを鑑みた場合、ドライバ内で、PDLであるXPSから、他のPDLであるPostScript(登録商標)またはPCL6(Printer Control Language 6)等に変換する必要がある。以下、PostScriptを「PS」と略して記載する。このPDLの変換をするために、Microsoft(登録商標)社が提供しているPDL変換フィルタがある。このPDL変換フィルタは、PDLを変換して最終印刷データを出力するか、または、変換せずにそのまま出力するかは選択できずに、使用すると必ずPDLを変換する。
また、Microsoft社から提供されているPDL変換フィルタは、内部を自由に変更することができない。そのため、PDL変換フィルタがフィルタパイプライン設定ファイルに登録されていても、PDL変換フィルタ内で分岐を作成して他のPDLに変換しないようにすることは不可能である。
この問題を解決するための方法として、フィルタパイプライン設定ファイルを書き換え、PDL変換フィルタの登録情報を変更する方法が考えられる。このようなフィルタパイプライン設定ファイルを書き換えることができる印刷制御装置として、フィルタパイプライン設定ファイルを書き換え、最適なフィルタ構成とすることができる印刷制御装置が提案されている(特許文献1参照)。
しかし、Windows8において登場したプリンタドライであるv4(Version4)ドライバは、フィルタパイプライン設定ファイルを書き換える方法は利用できない。その理由の1つとして、Windows8より前から利用されているプリンタドライバのv3(Version3)ドライバと、v4ドライバとでは、フィルタパイプライン設定ファイルの管理者権限が異なることが挙げられる。v3ドライバは、管理者権限であれば、フィルパイプライン設定ファイルの書き換えが可能である。それに対し、v4ドライバは、管理者権限よりも上位のシステム権限でないと、同ファイルが変更できない。したがって、プリンタドライバに設定できる最高権限は、管理者権限であるため、v4ドライバは、フィルタパイプライン設定ファイルの書き換えが不可能となった。
したがって、特許文献1に記載された印刷制御装置において、v4ドライバが使用された場合、フィルタパイプライン設定ファイルの書き換えによるPDL変換ファイルの使い分けができず、プリンタに対応するPDLに切り替えられないという問題点があった。
本発明は、上記に鑑みてなされたものであって、PDL変換フィルタによるPDL変換動作をフィルタパイプライン動作に組み入れずに、プリンタ等の印刷装置本体に応じてPDLを変換することができる印刷制御装置、印刷制御方法、プログラムおよび印刷制御システムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、印刷装置に対応するページ記述言語を判定する判定手段と、該判定手段による判定結果に基づいて、第1の印刷データのページ記述言語を前記印刷装置に対応するページ記述言語に変換する1以上の変換フィルタが登録された登録管理データを参照して前記変換フィルタを選択する切り替え手段と、設定データに登録されたフィルタを使用するフィルタパイプライン動作とは別の動作として、前記設定データには登録されておらず、かつ、前記登録管理データから前記切り替え手段によって選択され前記変換フィルタによって前記第1の印刷データのページ記述言語を前記印刷装置に対応するページ記述言語で変換して第2の印刷データを作成する変換手段と、を備えたことを特徴とする。
本発明によれば、PDL変換フィルタによるPDL変換動作をフィルタパイプライン動作に組み入れずに、印刷装置本体に応じてPDLを変換することができる。
図1は、第1の実施の形態の印刷制御システムの構成の一例を示すブロック図である。 図2は、第1の実施の形態の印刷制御装置のソフトウェアの構成の一例を示す図である。 図3は、第1の実施の形態の印刷制御装置のフィルタパイプライン設定ファイルの内容の一例を示す図である。 図4は、第1の実施の形態の印刷制御システムのデータの流れの一例を説明する図である。 図5は、第1の実施の形態の印刷制御装置のプリンタドライバGUIの表示の一例を示す図である。 図6は、第1の実施の形態の印刷制御装置の印刷指令動作の一例を示すフローチャートである。 図7は、PDL変換フィルタの追加時に、ユーザがどのように追加するDLLファイルの場所を指示するかの一例を示す図である。 図8は、第1の実施の形態の印刷制御装置において、新たなPDL変換フィルタが追加された場合の印刷指令動作の一例を示すフローチャートである。 図9は、第1の実施の形態の変形例の印刷制御システムのデータの流れの一例を説明する図である。 図10は、第1の実施の形態の変形例の印刷制御装置の印刷指令動作の一例を示すフローチャートである。 図11は、第2の実施の形態の印刷制御システムの構成の一例を示すブロック図である。 図12は、第2の実施の形態の印刷制御装置のソフトウェアの構成の一例を示す図である。 図13は、第2の実施の形態の印刷制御システムのデータの流れの一例を説明する図である。 図14は、第2の実施の形態の印刷制御装置のプリンタドライバGUIがプリンタの対応する機能を表示する例を示す図である。 図15は、第2の実施の形態の印刷制御装置のプリンタドライバGUIがプリンタに対応していない機能が選択された旨を表示する例を示す図である。 図16は、第2の実施の形態の印刷制御装置の印刷指令動作の一例を示すフローチャートである。
以下に、図面を参照しながら、本発明に係る印刷制御装置、印刷制御方法、プログラムおよび印刷制御システムの実施の形態を詳細に説明する。また、以下の実施の形態によって本発明が限定されるものではなく、以下の実施の形態における構成要素には、当業者が容易に想到できるもの、実質的に同一のもの、およびいわゆる均等の範囲のものが含まれる。さらに、以下の実施の形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換および変更を行うことができる。
(第1の実施の形態)
<印刷制御システムの全体構成>
図1は、第1の実施の形態の印刷制御システムの構成の一例を示すブロック図である。図1を参照しながら、本実施の形態の印刷制御システムの構成について説明する。
図1に示すように、本実施の形態の印刷制御システム500は、印刷制御装置の一例であるPC(Personal Computer)1と、印刷装置の一例であるプリンタ2と、を含んで構成されている。PC1は、入力装置11と、表示装置12と、記憶装置13と、外部記憶装置14(記憶手段)と、制御装置15と、パラレルI/F19と、USBI/F20と、ネットワークI/F21と、を備えている。
入力装置11は、ユーザがPC1に対して各種の情報を入力するための装置である。入力装置11は、例えば、キーボード、タッチパネル、マウス等のポインティングデバイス装置、または音声入力装置等によって実現される。
表示装置12は、ユーザに対して、各種のドキュメント、設定画面、選択画面、メッセージ等を表示する装置である。表示装置12は、例えば、CRT(Cathode Ray Tube)ディスプレイ、LED(Light Emitting Diode)、液晶ディスプレイまたは有機EL(Electroluminescence)ディスプレイ等によって実現される。
記憶装置13は、PC1で実行される各種プログラムおよびPC1で行われる各種処理に使用されるデータ等を記憶する装置である。記憶装置13は、例えば、ROM(Read Only Memory)およびRAM(Random Access Memory)等の記憶装置によって実現される。
外部記憶装置14は、ドキュメントデータ、画像データ、プログラムおよびフォントデータ等を蓄積して記憶する記憶装置である。外部記憶装置14は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、光ディスク、または光磁気ディスク(MO:Magneto−Optical Disk)等の記憶装置によって実現される。
制御装置15は、PC1の各部の動作を制御する装置である。制御装置15は、例えば、CPU(Central Processing Unit)およびASIC(Application Specific Integrated Circuit)等で実現される。制御装置15は、具体的には、外部記憶装置14に記憶されたOS102(図2において後述)および各種アプリケーションソフトウェアを、記憶装置13のRAMを作業領域として実行することにより、各種の機能を実現する。制御装置15は、このOS102によってPC1の全体の制御を司り、このOS102上で、文書作成ソフトウェア、画像作成ソフトウェアまたは表計算ソフトウェア等のアプリケーションソフトウェアを実行する。制御装置15は、機能ブロックとして、アプリケーション実行部16と、スプーラ部17と、を備えている。
アプリケーション実行部16は、外部記憶装置14に記憶された各種アプリケーションソフトウェアを実行する。アプリケーション実行部16は、例えば、文書作成ソフトウェアによってPDL形式であるXPSデータ等のドキュメントデータ(第1の印刷データ)の作成を含む各種の処理を実行する。
スプーラ部17は、OS102の印刷機能を管理し、同時に発生した複数の印刷処理要求を一時的にせき止め、順次処理を進めるように管理する。スプーラ部17は、OS102のソフトウェアモジュールであるスプーラ103(図2において後述)を実行することによって実現される。スプーラ部17は、プリンタドライバ部18を備える。
プリンタドライバ部18は、XPSデータ等のドキュメントデータから最終印刷データ(第2の印刷データ)を作成し、最終印刷データに基づいてプリンタ2に印刷出力させる。プリンタドライバ部18は、OS102のソフトウェアモジュールであり、スプーラ103の一部であるプリンタドライバ104(図2において後述)を実行することによって実現される。プリンタドライバ部18は、フィルタパイプライン制御部22と、プリンタGUI制御部23とを備える。
フィルタパイプライン制御部22は、後述するフィルタパイプライン設定ファイル108に登録されたフィルタ群を利用して各種処理を実行する。フィルタパイプライン制御部22は、プリンタドライバレンダリング106の一部であるフィルタパイプラインマネージャ107(図2において後述)を実行することによって実現される。
プリンタGUI制御部23は、アプリケーション実行部16によって起動され、ユーザが印刷に付加する機能を選択する画面を表示する。プリンタGUI制御部23は、プリンタドライバ104の一部であるプリンタGUIモジュール105(図2において後述)を実行することによって実現される。
パラレルI/F19は、IEEE1284に準拠した入出力インターフェースである。USBI/F20は、USB 1.0、USB 1.1、USB 2.0またはUSB 3.0のシリアルバス規格に準拠した入出力インターフェースである。ネットワークI/F21は、イーサネット(登録商標)に準拠したLAN(Local Area Network)またはインターネット等のネットワークに接続するための入出力インターフェースである。ネットワークI/F21は、例えば、NIC(Network Interface Card)等の通信装置によって実現される。
プリンタ2は、パラレルI/F19を介してPC1に接続されており、制御装置15から送信される最終印刷データに基づいて、記録紙に印刷出力するものである。なお、図1に示すように、プリンタ2はパラレルI/F19を介してPC1に接続されているものとしているが、これに限定されるものではない。すなわち、プリンタ2は、USBI/F20を介してPC1に接続されるものとしてもよく、ネットワークを経由し、ネットワークI/F21を介してPC1に接続されるものとしてもよい。
<印刷制御装置のソフトウェア構成>
図2は、第1の実施の形態の印刷制御装置のソフトウェアの構成の一例を示す図である。図3は、第1の実施の形態の印刷制御装置のフィルタパイプライン設定ファイルの内容の一例を示す図である。図2および3を参照しながら、本実施の形態の印刷制御装置であるPC1のソフトウェア構成について説明する。
PC1のソフトウェアは、アプリケーションソフトウェアであるアプリケーション101と、基本ソフトウェアであるOS102と、を有する。アプリケーション101は、例えば、文書作成ソフトウェアであり、制御装置15によって実行されることにより、ドキュメントデータの作成を含む各種の処理を実行する。
OS102は、制御装置15によって実行されることにより、PC1の全体の制御を司る。OS102は、スプーラ103を有する。
スプーラ103は、スプーラ部17によって実行されることにより、OS102の印刷機能を管理するソフトウェアモジュールである。スプーラ103は、アプリケーション101から渡された印刷するためのドキュメントデータを一時的にスプールファイル113として蓄積する。スプーラ103は、プリンタドライバ104を有する。
プリンタドライバ104は、プリンタドライバ部18によって実行されることにより、ドキュメントデータから最終印刷データを作成するソフトウェアモジュールである。プリンタドライバ104は、プリンタGUIモジュール105と、プリンタドライバレンダリング106と、を有する。
プリンタGUIモジュール105は、プリンタGUI制御部23によって実行されることにより、ユーザが印刷に付加する機能を選択する画面を表示するソフトウェアモジュールである。
プリンタドライバレンダリング106は、後述するフィルタパイプラインマネージャ107に、後述するフィルタパイプライン設定ファイル108に登録されたフィルタ群を利用した各種処理(フィルタパイプライン動作)を実行させる。プリンタドライバレンダリング106は、フィルタパイプラインマネージャ107と、双方向通信フィルタ109と、出力PDL判定フィルタ110と、切り替えフィルタ111と、PDL変換フィルタ112(変換フィルタ)と、を備えている。
フィルタパイプラインマネージャ107は、フィルタパイプライン制御部22によって実行されることにより、フィルタパイプライン設定ファイル108(設定データ)に登録されたフィルタ群を利用して各種処理を実行するソフトウェアモジュールである。これによって、フィルタパイプラインマネージャ107は、スプールファイル113として蓄積されたドキュメントデータを、プリンタ2が読み取れるPDLに変換して最終印刷データを作成する。
フィルタパイプライン設定ファイル108は、フィルタパイプラインマネージャ107によって実行されるフィルタパイプライン動作において使用されるフィルタを登録するファイルである。フィルタパイプライン設定ファイル108は、例えば、外部記憶装置14に記憶されている。具体的には、図3に示すように、フィルタパイプライン設定ファイル108は、双方向通信フィルタ109、出力PDL判定フィルタ110および切り替えフィルタ111の3つのフィルタが登録されている。
双方向通信フィルタ109は、プリンタ2と通信して、プリンタ2に対応するPDL等のプリンタ2の能力情報を取得するためのフィルタである。双方向通信フィルタ109は、図3に示す例では、「Bidi_filter.dll」というファイル名のDLL(Dynamic Link Library)ファイルとしてフィルタパイプライン設定ファイル108に登録されている。
出力PDL判定フィルタ110は、プリンタ2の能力情報に基づいて、最終印刷データとして出力する際のPDLを判定するためのフィルタである。出力PDL判定フィルタ110は、図3に示す例では、「PDLDecision_filter.dll」というファイル名のDLLファイルとしてフィルタパイプライン設定ファイル108に登録されている。
切り替えフィルタ111は、複数のPDL変換フィルタ112のうち、最終印刷データとして出力する際のPDLに変換するフィルタを決定するためのフィルタである。切り替えフィルタ111は、図3に示す例では、「Switching_filter.dll」というファイル名のDLLファイルとしてフィルタパイプライン設定ファイル108に登録されている。
PDL変換フィルタ112は、特定のPDL形式となっているドキュメントデータを、プリンタ2に対応したPDLに変換して最終印刷データを作成するためのフィルタである。PDL変換フィルタ112は、図3に示すように、フィルタパイプライン設定ファイル108には登録されていない。
<印刷制御システムのデータの流れ>
図4は、第1の実施の形態の印刷制御システムのデータの流れの一例を説明する図である。図5は、第1の実施の形態の印刷制御装置のプリンタドライバGUIの表示の一例を示す図である。図4および5を参照しながら、本実施の形態の印刷制御システム500におけるデータの流れについて説明する。
文書作成ソフトウェア等のアプリケーション101を実行するアプリケーション実行部16は、起動したプリンタGUI制御部23からユーザによって選択または設定された印刷設定情報を取得する。例えば、図5に示すプリンタ設定画面150は、プリンタGUI制御部23によって表示され、印刷設定を可能とする画面である。プリンタ設定画面150は、ユーザの操作によって、解像度選択表示部151aにおいて解像度の選択、および、カラー選択表示部151bにおいてカラー印刷か白黒印刷かの選択を可能とする。そして、ユーザによってOKボタン151cが押下されると、上述の解像度情報および印刷色情報を含む印刷設定情報が、プリンタGUI制御部23からアプリケーション実行部16に渡される。また、ユーザによってキャンセルボタン151dが押下されると、例えば、印刷設定情報はプリンタGUI制御部23からアプリケーション実行部16に渡されずに、プリンタ設定画面150が閉じられる。
アプリケーション実行部16は、実行しているアプリケーション101によって作成したXPSデータ等のドキュメントデータを、プリンタGUI制御部23から取得した印刷設定情報と共に、スプーラ部17に渡す。
スプーラ部17は、アプリケーション実行部16から取得したドキュメントデータおよび印刷設定情報を一時的にスプールファイル113として蓄積する。このように、スプーラ部17は、後述するフィルタパイプライン制御部22が最終印刷データの作成処理を実行している間においても、新たなドキュメントデータ等を一時的にスプールファイル113として蓄積することができる。すなわち、フィルタパイプライン制御部22によって最終印刷データが作成され、プリンタ2によって印刷出力されるまで待たなくても、アプリケーション実行部16は、スプーラ部17に対して、新たなドキュメントデータ等を渡すことができる。
フィルタパイプライン制御部22は、スプーラ部17からドキュメントデータおよび印刷設定情報を取得する。フィルタパイプライン制御部22は、フィルタパイプライン設定ファイル108を参照し、登録されている双方向通信フィルタ109を双方向通信部201(通信手段)に実行させる。フィルタパイプライン制御部22は、フィルタパイプライン設定ファイル108を参照し、登録されている出力PDL判定フィルタ110を出力PDL判定部202(判定手段)に実行させる。そして、フィルタパイプライン制御部22は、フィルタパイプライン設定ファイル108を参照し、登録されている切り替えフィルタ111を切り替え部203(切り替え手段)に実行させる。
双方向通信部201は、プリンタ2と通信して、プリンタ2に対応するPDL等のプリンタ2の能力情報を受信する。双方向通信部201は、スプーラ部17から取得したドキュメントデータおよび印刷設定情報、ならびにプリンタ2から受信したプリンタ2の能力情報を出力PDL判定部202に渡す。
出力PDL判定部202は、双方向通信部201から取得した印刷設定情報およびプリンタ2の能力情報に基づいて、ドキュメントデータを他のPDLに変換することが必要か否か、および必要な場合にどのPDLに変換するかを判定する。出力PDL判定部202は、その判定情報、ドキュメントデータおよび印刷設定情報、ならびにプリンタ2の能力情報を切り替え部203に渡す。
例えば、双方向通信部201が、プリンタ2本体がXPSおよびPSに対応しており、XPSが解像度600[dpi]および300[dpi]に対応し、PSが解像度600[dpi]のみに対応しているというプリンタ2の能力情報を受信したとする。また、アプリケーション実行部16は、プリンタGUI制御部23が提供するプリンタ設定画面におけるユーザの操作によって、解像度が300[dpi]に設定されたものとし、その印刷設定情報を取得したものとする。この場合、出力PDL判定部202は、プリンタ2がPSでは印刷出力できないため、XPSによって最終印刷データを作成する必要があると判定する。
また、例えば、双方向通信部201が、プリンタ2本体がXPSおよびPSに対応しており、プリンタ2のメモリ容量がどのくらいであるかのプリンタ2の能力情報を受信したとする。XPSに基づく最終印刷データは、プリンタ2本体によって全て受信されてからでないと、印刷処理が開始できない可能性がある。一方、PSに基づく最終印刷データは、プリンタ2によって受信された順番に印刷処理の実行が可能となる。すなわち、XPSに基づく最終印刷データの方が、PSに基づく最終印刷データよりも、プリンタ2のメモリの容量を多く占有することになる。したがって、出力PDL判定部202は、プリンタ2の能力情報におけるプリンタ2のメモリ容量が所定の閾値よりも高ければXPSによって、一方、所定の閾値よりも低ければPSによって最終印刷データを作成する必要があると判定する。
切り替え部203は、取得した判定情報によりドキュメントデータを他のPDLに変換する必要がない場合、PDLの変換処理は実行せずに、ドキュメントデータおよび印刷設定情報ならびにプリンタ2の能力情報から最終印刷データを作成する。そして、切り替え部203は、作成した最終印刷データをプリンタ2へ送信する。
一方、切り替え部203は、取得した判定情報によりドキュメントデータを他のPDLに変換する必要がある場合、その判定情報で指定され、フィルタパイプライン設定ファイル108に登録されていないPDL変換フィルタ112を読み出す。ここで、フィルタパイプライン設定ファイル108に登録されていないPDL変換フィルタ112として、XPSをPSに変換するPDL変換フィルタ112a、およびXPSをPCL6に変換するPDL変換フィルタ112bがあるものとする。切り替え部203は、取得した判定情報で指定されたPDL変換フィルタ112を検索して読み出す場合、例えば、複数のPDL変換フィルタ112が外部記憶装置14に記憶されている場所を示す情報(パス)が登録されているレジストリの情報を参照する。レジストリは、PC1のOS102がMicrosoft社のWindowsである場合の、OS102に関する基本情報ならびに各種アプリケーションの設定情報およびユーザパスワード等が保存されたデータベースである。レジストリは、例えば、外部記憶装置14に記憶されている。切り替え部203は、このレジストリの情報を参照することによって、目的とするPDL変換フィルタ112を検索して読み出すことができる。
切り替え部203によって読み出されたPDL変換フィルタ112を実行するPDL変換部204(変換手段)は、ドキュメントデータのPDLを変換する。PDL変換部204は、変換したドキュメントデータおよび印刷設定情報ならびにプリンタ2の能力情報から最終印刷データを作成する。そして、PDL変換部204は、作成した最終印刷データをプリンタ2へ送信する。
このように、ドキュメントデータのPDLの変換処理は、フィルタパイプライン設定ファイル108に登録された各種フィルタによって実現されるフィルタパイプライン動作とは別に実行される。なお、図4においては、フィルタパイプライン設定ファイル108に登録されていないPDL変換フィルタ112が、2種類のフィルタであるものとしたが、これに限定されるものではなく、その他の数の種類のフィルタであってもよい。
<印刷制御装置の印刷指令動作>
図6は、第1の実施の形態の印刷制御装置の印刷指令動作の一例を示すフローチャートである。図6を参照しながら、本実施の形態の印刷制御装置であるPC1の一連の印刷指令動作について説明する。
<<ステップS1>>
フィルタパイプライン制御部22の双方向通信部201は、プリンタ2と通信して、プリンタ2に対応するPDL等のプリンタ2の能力情報を受信する。双方向通信部201は、アプリケーション実行部16により作成されたドキュメントデータ(図6においてはXPSデータとする)および制御装置15により設定された印刷設定情報、ならびに受信したプリンタ2の能力情報を出力PDL判定部202に渡す。そして、ステップS2へ進む。
<<ステップS2>>
フィルタパイプライン制御部22の出力PDL判定部202は、取得した印刷設定情報およびプリンタ2の能力情報に基づいて、ドキュメントデータを他のPDLに変換することが必要か否か、および必要な場合にどのPDLに変換するかを判定する。出力PDL判定部202は、その判定情報、ドキュメントデータおよび印刷設定情報、ならびにプリンタ2の能力情報を切り替え部203に渡す。そして、ステップS3へ進む。
<<ステップS3>>
フィルタパイプライン制御部22の切り替え部203は、取得した判定情報によりドキュメントデータを他のPDLに変換する必要がない場合(ステップS3:No)、PDLの変換処理を実行しない。切り替え部203は、PDLの変換処理を実行せずに、ドキュメントデータおよび印刷設定情報ならびにプリンタ2の能力情報から最終印刷データを作成する。そして、切り替え部203は、作成した最終印刷データをプリンタ2へ送信し、PC1は、印刷指令動作を終了する。
一方、切り替え部203は、取得した判定情報によりドキュメントデータを他のPDLに変換する必要があると判断した場合(ステップS3:Yes)、ステップS4へ進む。
<<ステップS4>>
切り替え部203は、取得した判定情報によりドキュメントデータのPDLをXPSからPSに変換すると判断した場合は、フィルタパイプライン設定ファイル108に登録されていないPDL変換フィルタ112aを読み出す(ステップS4:PS)。そして、ステップS5へ進む。
一方、切り替え部203は、取得した判定情報によりドキュメントデータのPDLをXPSからPCL6に変換すると判断した場合、フィルタパイプライン設定ファイル108に登録されていないPDL変換フィルタ112bを読み出す(ステップS4:PCL6)。そして、ステップS6へ進む。
<<ステップS5>>
プリンタドライバ部18のPDL変換部204は、切り替え部203によって読み出されたPDL変換フィルタ112aを実行して、ドキュメントデータのPDLをXPSからPSに変換する。PDL変換部204は、PDL変換したドキュメントデータおよび印刷設定情報ならびにプリンタ2の能力情報から最終印刷データを作成し、最終印刷データをプリンタ2へ送信する。そして、PC1は、印刷指令動作を終了する。
<<ステップS6>>
プリンタドライバ部18のPDL変換部204は、切り替え部203によって読み出されたPDL変換フィルタ112bを実行して、ドキュメントデータのPDLをXPSからPCL6に変換する。PDL変換部204は、PDL変換したドキュメントデータおよび印刷設定情報ならびにプリンタ2の能力情報から最終印刷データを作成し、最終印刷データをプリンタ2へ送信する。そして、PC1は、印刷指令動作を終了する。
以上のように、フィルタパイプライン設定ファイル108に登録されているフィルタを利用する各種処理であるフィルタパイプライン動作においてではなく、登録されていないPDL変換フィルタ112によってドキュメントデータがPDL変換されている。これは、従来のように、フィルタパイプライン設定ファイルに登録されたPDL変換フィルタによって、すなわち、フィルタパイプライン動作内において、ドキュメントデータがPDL変換される動作とは相違する。すなわち、本実施の形態の切り替えフィルタ111を実行する切り替え部203が、従来のフィルタパイプライン動作内で実行されていたドキュメントデータをPDL変換するPDL変換フィルタを読み出す動作を担っている。具体的には、切り替え部203は、フィルタパイプライン設定ファイル108に登録されていないPDL変換フィルタ112を読み出すことによって、ドキュメントデータのPDL変換を実現させている。
<新たなPDL変換フィルタの追加動作>
図7は、PDL変換フィルタの追加時に、ユーザがどのように追加するDLLファイルの場所を指示するかの一例を示す図である。図8は、第1の実施の形態の印刷制御装置において、新たなPDL変換フィルタが追加された場合の印刷指令動作の一例を示すフローチャートである。図7および8を参照しながら、新たなPDL変換フィルタを追加する方法、および、その場合のPC1の一連の印刷指令動作について説明する。
XPS、PSおよびPCL6以外の異なるPDLとして新たなPDL(仮に「NEWPDL」と称するものとする)のPDL変換フィルタを追加する場合を考える。ユーザは、図7に示すように、例えば、上述のレジストリに、NEWPDLのPDL変換フィルタの実体であるDLLファイルのファイル名、およびDLLファイルが外部記憶装置14のどこに記憶されているかを示すパスを登録する。これによって、切り替え部203は、レジストリの情報を参照することによって、追加されたNEWPDLのPDL変換フィルタを検索して読み出すことが可能となる。
次に、図8を参照しながら、新たなPDL変換フィルタが追加された後のPC1の印刷指令動作について説明する。図8のステップS1〜S3、S5およびS6の処理は、図6のステップS1〜S3、S5およびS6の処理と同様である。
<<ステップS4>>
切り替え部203は、取得した判定情報によりドキュメントデータのPDLをXPSからPSに変換すると判断した場合は、フィルタパイプライン設定ファイル108に登録されていないPDL変換フィルタ112aを読み出す(ステップS4:PS)。そして、ステップS5へ進む。
また、切り替え部203は、取得した判定情報によりドキュメントデータのPDLをXPSからPCL6に変換すると判断した場合、フィルタパイプライン設定ファイル108に登録されていないPDL変換フィルタ112bを読み出す(ステップS4:PCL6)。そして、ステップS6へ進む。
また、切り替え部203は、取得した判定情報によりドキュメントデータのPDLをXPSからNEWPDLに変換すると判断した場合、フィルタパイプライン設定ファイル108に登録されていない、かつ、レジストリに新たなパスが登録されたNEWPDLのPDL変換フィルタを読み出す(ステップS4:NEWPDL)。そして、ステップS7へ進む。
<<ステップS7>>
プリンタドライバ部18のPDL変換部204は、切り替え部203によって読み出されたNEWPDLのPDL変換フィルタを実行して、ドキュメントデータのPDLをXPSからNEWPDLに変換する。PDL変換部204は、PDL変換したドキュメントデータおよび印刷設定情報ならびにプリンタ2の能力情報から最終印刷データを作成し、最終印刷データをプリンタ2へ送信する。そして、PC1は、印刷指令動作を終了する。
以上のように、切り替え部203は、フィルタパイプライン設定ファイル108に登録されていないPDL変換フィルタを読み出すことによってドキュメントデータがPDL変換される構成としている。また、切り替え部203は、PDL変換フィルタが記憶されている場所が登録され、かつ、フィルタパイプライン設定ファイル108とは異なる別の登録管理データ(例えば、レジストリ)を参照することによって、PDL変換フィルタを読み出している。登録管理データは、例えば、外部記憶装置14に記憶されている。そして、新たなPDLのPDL変換フィルタを追加する場合、PDL変換フィルタが記憶されている場所(パス)を、フィルタパイプライン設定ファイル108ではなく、別の登録管理データ(例えば、レジストリ)に登録することによって追加が可能となる。
したがって、本実施の形態の印刷制御装置は、フィルタパイプライン設定ファイル108には登録せずに、すなわち、PDL変換フィルタによるPDL変換動作をフィルタパイプライン動作に組み入れずに、プリンタ2に対応したPDLに変換することができる。また、プリンタが新たなPDLに対応する場合も、そのPDLのPDL変換フィルタは、フィルタパイプライン設定ファイル108に登録させることなく追加が可能となり、そのPDL変換フィルタに基づいて、ドキュメントデータのPDL変換が可能となる。特に、プリンタドライバ104が、v4ドライバのようなフィルタパイプライン設定ファイルのフィルタの登録内容の書き換えができないドライバであっても、新たなPDL変換フィルタの登録が可能となり、新たなPDLのプリンタについても対応可能となる。
なお、上述(図7参照)のように、PDL変換フィルタのパスを登録する登録管理データとして、レジストリを例に挙げたが、これに限定されるものではなく、INI(initialization)ファイル等その他の設定ファイルを登録管理データとしてもよい。
また、プリンタドライバ部18によってPDL変換される印刷対象データとしてドキュメントデータを例に説明したが、これに限定されるものではなく、例えば、PDLによって規定される画像データ等その他の印刷対象データであってもよい。
<変形例>
図9は、第1の実施の形態の変形例の印刷制御システムのデータの流れの一例を説明する図である。図9を参照しながら、本実施の形態の変形例の印刷制御システムにおけるデータの流れについて説明する。なお、本変形例の印刷制御システムの構成は、図1に示す構成と同様であり、本変形例の印刷制御装置のソフトウェアの構成は、図2に示す構成と同様である。また、図4に示す印刷制御システム500におけるデータの流れと相違する点を中心に説明する。
双方向通信部201は、プリンタ2と通信して、プリンタ2に対応するPDL等のプリンタ2の能力情報を受信する。双方向通信部201は、スプーラ部17から取得したドキュメントデータおよび印刷設定情報、ならびにプリンタ2から受信したプリンタ2の能力情報を出力PDL判定部202に渡す。なお、ここでは、ドキュメントデータは、PDLがXPSであるXPSデータであるものとする。
出力PDL判定部202は、双方向通信部201から取得した印刷設定情報およびプリンタ2の能力情報に基づいて、ドキュメントデータをどのPDLに変換するかを判定する。出力PDL判定部202は、その判定情報、ドキュメントデータおよび印刷設定情報、ならびにプリンタ2の能力情報を切り替え部203に渡す。
切り替え部203は、取得した判定情報で指定され、フィルタパイプライン設定ファイル108に登録されていないPDL変換フィルタ112を読み出す。ここで、フィルタパイプライン設定ファイル108に登録されていないPDL変換フィルタ112として、PDL変換フィルタ112a〜112cの3種類のフィルタがあるものとする。PDL変換フィルタ112aは、XPSをPSに変換し、PDL変換フィルタ112bは、XPSをPCL6に変換し、PDL変換フィルタ112cは、XPSをXPSに変換する。
切り替え部203によって読み出されたPDL変換フィルタ112を実行するPDL変換部204は、ドキュメントデータのPDLを変換する。PDL変換部204は、変換したドキュメントデータおよび印刷設定情報ならびにプリンタ2の能力情報から最終印刷データを作成する。そして、PDL変換部204は、作成した最終印刷データをプリンタ2へ送信する。
なお、アプリケーション実行部16、スプーラ部17、プリンタGUI制御部23、スプールファイル113およびフィルタパイプライン設定ファイル108は、図4に記載したものと同様であるので、同一符号を付し、ここでの説明を省略する。
図10は、第1の実施の形態の変形例の印刷制御装置の印刷指令動作の一例を示すフローチャートである。次に、図10を参照しながら、本実施の形態の印刷制御装置であるPC1の一連の印刷指令動作について説明する。
<<ステップS11>>
フィルタパイプライン制御部22の双方向通信部201は、プリンタ2と通信して、プリンタ2に対応するPDL等のプリンタ2の能力情報を受信する。双方向通信部201は、アプリケーション実行部16により作成されたドキュメントデータ(図10においてはXPSデータとする)および制御装置15により設定された印刷設定情報、ならびに受信したプリンタ2の能力情報を出力PDL判定部202に渡す。そして、ステップS12へ進む。
<<ステップS12>>
フィルタパイプライン制御部22の出力PDL判定部202は、取得した印刷設定情報およびプリンタ2の能力情報に基づいて、ドキュメントデータをどのPDLに変換するかを判定する。出力PDL判定部202は、その判定情報、ドキュメントデータおよび印刷設定情報、ならびにプリンタ2の能力情報を切り替え部203に渡す。そして、ステップS13へ進む。
<<ステップS13>>
フィルタパイプライン制御部22の切り替え部203は、取得した判定情報によりドキュメントデータのPDLをXPSからPSに変換すると判断した場合は、フィルタパイプライン設定ファイル108に登録されていないPDL変換フィルタ112aを読み出す(ステップS13:PS)。そして、ステップS14へ進む。
切り替え部203は、取得した判定情報によりドキュメントデータのPDLをXPSからPCL6に変換すると判断した場合、フィルタパイプライン設定ファイル108に登録されていないPDL変換フィルタ112bを読み出す(ステップS13:PCL6)。そして、ステップS15へ進む。
そして、切り替え部203は、取得した判定情報によりドキュメントデータのPDLをXPSからXPSに変換すると判断した場合、フィルタパイプライン設定ファイル108に登録されていないPDL変換フィルタ112cを読み出す(ステップS13:XPS)。そして、ステップS16へ進む。
<<ステップS14>>
プリンタドライバ部18のPDL変換部204は、切り替え部203によって読み出されたPDL変換フィルタ112aを実行して、ドキュメントデータのPDLをXPSからPSに変換する。PDL変換部204は、PDL変換したドキュメントデータおよび印刷設定情報ならびにプリンタ2の能力情報から最終印刷データを作成し、最終印刷データをプリンタ2へ送信する。そして、PC1は、印刷指令動作を終了する。
<<ステップS15>>
プリンタドライバ部18のPDL変換部204は、切り替え部203によって読み出されたPDL変換フィルタ112bを実行して、ドキュメントデータのPDLをXPSからPCL6に変換する。PDL変換部204は、PDL変換したドキュメントデータおよび印刷設定情報ならびにプリンタ2の能力情報から最終印刷データを作成し、最終印刷データをプリンタ2へ送信する。そして、PC1は、印刷指令動作を終了する。
<<ステップS16>>
プリンタドライバ部18のPDL変換部204は、切り替え部203によって読み出されたPDL変換フィルタ112cを実行して、ドキュメントデータのPDLをXPSからXPSに変換する。PDL変換部204は、PDL変換したドキュメントデータおよび印刷設定情報ならびにプリンタ2の能力情報から最終印刷データを作成し、最終印刷データをプリンタ2へ送信する。そして、PC1は、印刷指令動作を終了する。
以上のように、本変形例のプリンタドライバ部18は、アプリケーション実行部16が作成するドキュメントデータのPDLと同一のPDL(図9および10に示す例においては、XPS)に変換するPDL変換フィルタを備えている。したがって、切り替え部203は、取得した判定情報で指定されたPDL変換フィルタ112を読み出し、PDL変換部204は、いずれかのPDL変換フィルタ112を実行して必ずドキュメントデータをPDL変換する。これによって、切り替え部203は、PDL変換フィルタ112を読み出すのみの処理を実行すればよく、実質的にPDL変換しない場合において(PDL変換フィルタ112cによりXPSからXPSにPDL変換する場合)、最終印刷データを作成する必要がない。すなわち、最終印刷データは、PDL変換部204によるPDL変換のみによって作成され、切り替え部203における処理が簡略化される。
(第2の実施の形態)
第2の実施の形態に係る印刷制御システムについて、第1の実施の形態に係る印刷制御システム500の構成および動作と相違する点を中心に説明する。
<印刷制御システムの全体構成>
図11は、第2の実施の形態の印刷制御システムの構成の一例を示す図である。図11を参照しながら、本実施の形態の印刷制御システムの構成について説明する。
図11に示すように、本実施の形態の印刷制御システム500aは、印刷制御装置の一例であるPC1と、印刷装置の一例であるプリンタ2と、を含んで構成されている。
スプーラ部17は、OS102(図12参照)の印刷機能を管理し、同時に発生した複数の印刷処理要求を一時的にせき止め、順次処理を進めるように管理する。スプーラ部17は、OS102のソフトウェアモジュールであるスプーラ103(図12参照)を実行することによって実現される。スプーラ部17は、プリンタドライバ部18aを備える。
プリンタドライバ部18aは、XPSデータ等のドキュメントデータから最終印刷データを作成し、最終印刷データに基づいてプリンタ2に印刷出力させる。プリンタドライバ部18aは、OS102のソフトウェアモジュールであり、スプーラ103の一部であるプリンタドライバ104a(図12において後述)を実行することによって実現される。プリンタドライバ部18aは、フィルタパイプライン制御部22aと、プリンタGUI制御部23aと、双方向通信部401とを備える。
フィルタパイプライン制御部22aは、後述するフィルタパイプライン設定ファイル108aに登録されたフィルタ群を利用して各種処理を実行する。フィルタパイプライン制御部22aは、プリンタドライバレンダリング106aの一部であるフィルタパイプラインマネージャ107a(図12において後述)を実行することによって実現される。
プリンタGUI制御部23aは、アプリケーション実行部16によって起動され、ユーザが印刷に付加する機能を選択する画面を表示する。プリンタGUI制御部23aは、プリンタドライバ104aの一部であるプリンタGUIモジュール105a(図12において後述)を実行することによって実現される。
双方向通信部401(通信手段)は、プリンタ2と通信して、プリンタ2に対応するPDL等のプリンタ2の能力情報を受信する。
なお、入力装置11、表示装置12、記憶装置13、外部記憶装置14、制御装置15、アプリケーション実行部16、パラレルI/F19、USBI/F20、ネットワークI/F21およびプリンタ2は、図1に記載したものと同様であるので、同一符号を付し、ここでの説明を省略する。
<印刷制御装置のソフトウェア構成>
図12は、第2の実施の形態の印刷制御装置のソフトウェアの構成の一例を示す図である。図12を参照しながら、本実施の形態の印刷制御装置のソフトウェア構成について説明する。
プリンタドライバ104aは、プリンタドライバ部18aによって実行されることにより、ドキュメントデータから最終印刷データを作成するソフトウェアモジュールである。プリンタドライバ104aは、双方向通信モジュール301と、プリンタGUIモジュール105a(表示制御手段)と、プリンタドライバレンダリング106aと、を有する。
双方向通信モジュール301は、双方向通信部401によって実行されることにより、プリンタ2と通信して、プリンタ2に対するPDL等のプリンタ2の能力情報を受信するソフトウェアモジュールである。
プリンタGUIモジュール105aは、プリンタGUI制御部23aによって実行されることにより、双方向通信部401から取得したプリンタ2の能力情報に基づいて、ユーザが印刷に付加する機能を選択する画面を表示するソフトウェアモジュールである。
プリンタドライバレンダリング106aは、後述するフィルタパイプラインマネージャ107aに、後述するフィルタパイプライン設定ファイル108aに登録されたフィルタ群を利用して各種処理(フィルタパイプライン動作)を実行させる。プリンタドライバレンダリング106aは、フィルタパイプラインマネージャ107aと、出力PDL判定フィルタ110と、切り替えフィルタ111と、PDL変換フィルタ112と、を備えている。
フィルタパイプラインマネージャ107aは、フィルタパイプライン制御部22aによって実行されることにより、フィルタパイプライン設定ファイル108a(設定データ)に登録されたフィルタ群を利用して各種処理を実行するソフトウェアモジュールである。これによって、フィルタパイプラインマネージャ107aは、スプールファイル113として蓄積されたドキュメントデータを、プリンタ2が読み取れるPDLに変換して最終印刷データを作成する。
フィルタパイプライン設定ファイル108aは、フィルタパイプラインマネージャ107aによって実行されるフィルタパイプライン動作において使用されるフィルタを登録するファイルである。フィルタパイプライン設定ファイル108aは、例えば、外部記憶装置14に記憶されている。具体的には、フィルタパイプライン設定ファイル108aは、出力PDL判定フィルタ110および切り替えフィルタ111の2つのフィルタが登録されている。
なお、アプリケーション101、OS102、スプーラ103、出力PDL判定フィルタ110、切り替えフィルタ111およびPDL変換フィルタ112は、図2に記載したものと同様であるので、同一符号を付し、ここでの説明を省略する。
<印刷制御システムのデータの流れ>
図13は、第2の実施の形態の印刷制御システムのデータの流れの一例を説明する図である。図14は、第2の実施の形態の印刷制御装置のプリンタドライバGUIがプリンタの対応する機能を表示する例を示す図である。図15は、第2の実施の形態の印刷制御装置のプリンタドライバGUIがプリンタに対応していない機能が選択された旨を表示する例を示す図である。図13〜15を参照しながら、本実施の形態の印刷制御システム500aにおけるデータの流れについて説明する。
双方向通信部401は、プリンタ2と通信して、プリンタ2に対応するPDL等のプリンタ2の能力情報を受信する。双方向通信部401は、プリンタドライバ104aのソフトウェアモジュールである双方向通信モジュール301を実行することによって実現される。双方向通信部401は、受信したプリンタ2の能力情報をプリンタGUI制御部23aに渡す。
プリンタGUI制御部23aは、双方向通信部401から取得したプリンタ2の能力情報に基づいて、ユーザが印刷に付加する機能を選択する画面を表示する。プリンタGUI制御部23aは、プリンタ2の能力情報に基づいて、プリンタ2が対応している機能のみをユーザに選択させる画面を表示する。プリンタGUI制御部23aは、例えば、プリンタ2の能力情報として、解像度として600[dpi]および300[dpi]に対応し、印刷色としてカラーおよび白黒に対応し、PDLとしてXPSおよびPSに対応している情報を取得したものとする。さらに、プリンタGUI制御部23aは、プリンタ2の能力情報として、PDLがXPSの場合は解像度600[dpi]および300[dpi]に対応し、PDLがPSの場合は解像度600[dpi]のみに対応している情報を取得したものとする。
このとき、プリンタGUI制御部23aは、図14に示すように、プリンタ2が対応している機能のみを表示してユーザに選択させるプリンタ設定画面150aを表示する。図14に示すように、プリンタ設定画面150aは、ユーザの操作によって、解像度選択表示部151aにおいて解像度の選択、および、カラー選択表示部151bにおいてカラー印刷か白黒印刷かを選択可能とする。プリンタ設定画面150aは、ユーザによって解像度600[dpi]が選択された場合、図14(a)に示すように、PDL選択表示部151eにおいて変換するPDLとしてXPSまたはPSのどちらでも選択可能となるように表示する。一方、プリンタ設定画面150aは、ユーザによって解像度300[dpi]が選択された場合、図14(b)に示すように、PDL選択表示部151eにおいて変換するPDLとしてXPSのみ選択可能とし、PSは選択できないようにグレーアウトして表示する。このように、プリンタGUI制御部23aは、ユーザによってプリンタ2が対応している機能のみを選択可能とし、プリンタ2が対応していない機能は選択不可となるようにプリンタ設定画面150aに表示させる。
そして、ユーザによってOKボタン151cが押下されると、プリンタ2の能力に対応した上述の解像度情報、印刷色情報およびPDL情報を含む印刷設定情報が、プリンタGUI制御部23aからアプリケーション実行部16に渡される。また、ユーザによってキャンセルボタン151dが押下されると、例えば、印刷設定情報はプリンタGUI制御部23aからアプリケーション実行部16に渡されずに、プリンタ設定画面150aが閉じられる。
なお、図14に示すように、プリンタ設定画面150aは、プリンタ2が対応している機能のみを表示してユーザに選択させるものとしたが、これに限定されるものではなく、以下のような、プリンタGUI制御部23aの動作としてもよい。例えば、プリンタ設定画面150aは、画面レイアウトとして、図14(a)に示す画面のレイアウトを有する。プリンタ設定画面150aは、解像度選択表示部151aにおいて解像度の選択、カラー選択表示部151bにおいてカラー印刷か白黒印刷かの選択、PDL選択表示部151eにおいて変換するPDLとしてXPSまたはPSの選択が可能であるとする。また、プリンタGUI制御部23aは、双方向通信部401から、プリンタ2の能力情報として、PDLがPSのみに対応し、PSは解像度が600[dpi]のみに対応している情報を取得したものとする。そして、プリンタGUI制御部23aは、プリンタ設定画面150aにおけるユーザの操作によって、解像度として300[dpi]が選択された場合、プリンタ2による印刷はできないと判断して、例えば、図15に示すようなメッセージ表示画面150bを表示する。図15に示すメッセージ表示画面150bは、印刷設定を変更(解像度を600[dpi]に変更)して印刷するかをユーザに確認するメッセージ表示部151fを有するウィンドウである。これによって、ユーザは印刷設定ができない原因を確認することができる。
そして、ユーザによってOKボタン151g(操作入力部)が押下されると、解像度情報として300[dpi]から600[dpi]に変更した情報を含む印刷設定情報が、プリンタGUI制御部23aからアプリケーション実行部16に渡される。これによって、ユーザは印刷設定の操作をやり直すことなく、印刷設定を変更することができる。また、ユーザによってキャンセルボタン151hが押下されると、例えば、印刷設定情報はプリンタGUI制御部23aからアプリケーション実行部16に渡されずに、図14(a)に示す画面に戻るものとする。これによって、その設定では印刷することができない無駄な印刷設定情報がプリンタGUI制御部23aからアプリケーション実行部16に渡されることを防止できる。以上の動作によっても、プリンタ2の能力に対応した解像度情報、印刷色情報およびPDL情報を含む印刷設定情報が、プリンタGUI制御部23aからアプリケーション実行部16に渡される。
フィルタパイプライン制御部22aは、スプーラ部17からドキュメントデータおよび印刷設定情報を取得する。フィルタパイプライン制御部22aは、フィルタパイプライン設定ファイル108aを参照し、登録されている出力PDL判定フィルタ110を出力PDL判定部202に実行させる。そして、フィルタパイプライン制御部22aは、フィルタパイプライン設定ファイル108aを参照し、登録されている切り替えフィルタ111を切り替え部203に実行させる。
出力PDL判定部202は、スプーラ部17から取得したプリンタ2の能力に対応した印刷設定情報に基づいて、ドキュメントデータを他のPDLに変換することが必要か否か、および必要な場合にどのPDLに変換するかを判定する。出力PDL判定部202は、その判定情報、ドキュメントデータおよび印刷設定情報を切り替え部203に渡す。
切り替え部203は、取得した判定情報によりドキュメントデータを他のPDLに変換する必要がない場合、PDLの変換処理は実行せずに、ドキュメントデータおよび印刷設定情報から最終印刷データを作成する。そして、切り替え部203は、作成した最終印刷データをプリンタ2へ送信する。
一方、切り替え部203は、取得した判定情報によりドキュメントデータを他のPDLに変換する必要がある場合、その判定情報で指定され、フィルタパイプライン設定ファイル108aに登録されていないPDL変換フィルタ112を読み出す。ここで、フィルタパイプライン設定ファイル108aに登録されていないPDL変換フィルタ112として、XPSをPSに変換するPDL変換フィルタ112a、およびXPSをPCL6に変換するPDL変換フィルタ112bがあるものとする。切り替え部203は、取得した判定情報で指定されたPDL変換フィルタ112を検索して読み出す場合、例えば、複数のPDL変換フィルタ112が外部記憶装置14に記憶されている場所を示す情報(パス)を登録しているレジストリの情報を参照する。
切り替え部203によって読み出されたPDL変換フィルタ112を実行するPDL変換部204は、ドキュメントデータのPDLを変換する。PDL変換部204は、変換したドキュメントデータおよび印刷設定情報ならびにプリンタ2の能力情報から最終印刷データを作成する。そして、PDL変換部204は、作成した最終印刷データをプリンタ2へ送信する。
このように、ドキュメントデータのPDLの変換処理は、フィルタパイプライン設定ファイル108aに登録された各種フィルタによって実現されるフィルタパイプライン動作とは別に実行される。なお、図13においては、フィルタパイプライン設定ファイル108aに登録されていないPDL変換フィルタ112が、2種類のフィルタであるものとしたが、これに限定されるものではなく、その他の数の種類のフィルタであってもよい。
<印刷制御装置の印刷指令動作>
図16は、第2の実施の形態の印刷制御装置の印刷指令動作の一例を示すフローチャートである。図16を参照しながら、本実施の形態の印刷制御装置であるPC1の一連の印刷指令動作について説明する。
<<ステップS21>>
プリンタドライバ部18aの双方向通信部401は、プリンタ2と通信して、プリンタ2に対応するPDL等のプリンタ2の能力情報を受信する。双方向通信部401は、受信したプリンタ2の能力情報をプリンタGUI制御部23aに渡す。そして、ステップS22へ進む。
<<ステップS22>>
プリンタGUI制御部23aは、取得したプリンタ2の能力情報に基づいて、プリンタ2が対応している機能のみを表示してユーザに選択させる画面を表示する。すなわち、プリンタGUI制御部23aは、ユーザによってプリンタ2が対応している機能のみを選択可能とし、プリンタ2が対応していない機能は選択不可となるように印刷設定の画面を表示する。そして、ステップS23へ進む。
<<ステップS23>>
プリンタGUI制御部23aは、図14に示したプリンタ設定画面150aにおけるユーザの設定操作によって、プリンタ2の能力に対応した解像度情報、印刷色情報およびPDL情報を含む印刷設定情報をアプリケーション実行部16に渡す。アプリケーション実行部16は、実行しているアプリケーション101によって作成したドキュメントデータ(図16においてはXPSデータとする)を、プリンタGUI制御部23aから取得した印刷設定情報と共に、スプーラ部17に渡す。スプーラ部17は、アプリケーション実行部16から取得したドキュメントデータおよび印刷設定情報を一時的にスプールファイル113として蓄積する。スプーラ部17は、適切なタイミングで、スプールファイル113として蓄積したドキュメントデータおよび印刷設定情報をプリンタドライバ部18aの出力PDL判定部202に渡す。そして、ステップS24へ進む。
<<ステップS24>>
フィルタパイプライン制御部22aの出力PDL判定部202は、取得したPDL情報を含む印刷設定情報に基づいて、ドキュメントデータを他のPDLに変換することが必要か否か、および必要な場合にどのPDLに変換するか判定する。出力PDL判定部202は、その判定情報、ドキュメントデータおよび印刷設定情報を切り替え部203に渡す。そして、ステップS25へ進む。
<<ステップS25>>
フィルタパイプライン制御部22aの切り替え部203は、取得した判定情報によりドキュメントデータを他のPDLに変換する必要がない場合(ステップS25:No)、PDLの変換処理を実行しない。切り替え部203は、PDLの変換処理を実行せずに、ドキュメントデータおよび印刷設定情報から最終印刷データを作成する。そして、切り替え部203は、作成した最終印刷データをプリンタ2へ送信し、PC1は、印刷指令動作を終了する。
一方、切り替え部203は、取得した判定情報によりドキュメントデータを他のPDLに変換する必要があると判断した場合(ステップS25:Yes)、ステップS26へ進む。
<<ステップS26>>
切り替え部203は、取得した判定情報によりドキュメントデータのPDLをXPSからPSに変換すると判断した場合は、フィルタパイプライン設定ファイル108aに登録されていないPDL変換フィルタ112aを読み出す(ステップS26:PS)。そして、ステップS27へ進む。
一方、切り替え部203は、取得した判定情報によりドキュメントデータのPDLをXPSからPCL6に変換すると判断した場合、フィルタパイプライン設定ファイル108aに登録されていないPDL変換フィルタ112bを読み出す(ステップS26:PCL6)。そして、ステップS28へ進む。
<<ステップS27>>
プリンタドライバ部18aのPDL変換部204は、切り替え部203によって読み出されたPDL変換フィルタ112aを実行して、ドキュメントデータのPDLをXPSからPSに変換する。PDL変換部204は、PDL変換したドキュメントデータおよび印刷設定情報から最終印刷データを作成し、最終印刷データをプリンタ2へ送信する。そして、PC1は、印刷指令動作を終了する。
<<ステップS28>>
プリンタドライバ部18aのPDL変換部204は、切り替え部203によって読み出されたPDL変換フィルタ112bを実行して、ドキュメントデータのPDLをXPSからPCL6に変換する。PDL変換部204は、PDL変換したドキュメントデータおよび印刷設定情報から最終印刷データを作成し、最終印刷データをプリンタ2へ送信する。そして、PC1は、印刷指令動作を終了する。
以上のように、本実施の形態においては、実施の形態1における双方向通信フィルタ109の代わりに、フィルタパイプラインマネージャ107の管理外に、双方向通信モジュール301を設置している。これによって、プリンタGUI制御部23aは、双方向通信部401によって予め受信されたプリンタ2の能力情報に基づいて、プリンタ2が対応している機能のみを表示してユーザに選択させるプリンタ設定画面150aを表示させることができる。すなわち、ユーザは、プリンタ2が対応している機能のみを認識して選択することができるので、意図した印刷設定内容に基づいて、プリンタ2に印刷出力させることができ、ユーザの操作性を向上させることができる。
(ハードウェア構成)
上述の各実施の形態の印刷制御装置のハードウェア構成について説明する。上述の各実施の形態の印刷制御装置は、CPU等の制御装置と、ROMおよびRAM等の記憶装置と、HDDまたはSSD等の外部記憶装置と、ディスプレイ等の表示装置と、マウスおよびキーボード等の入力装置と、NIC(Network Interface Card)等の通信装置と、を備えたハードウェア構成で実現できる。
上述の各実施の形態の印刷制御装置で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM、CD−R、メモリカード、DVD(Digital Versatile Disk)またはフレキシブルディスク(FD)等の読み取り可能な記憶媒体に記憶されて提供される。
また、上述の各実施の形態の印刷制御装置で実行されるプログラムは、インターネット等のネットワークに接続されたコンピュータ上に格納され、ネットワーク経由でダウンロードされることにより提供されるようにしてもよい。また、上述の各実施の形態の印刷制御装置で実行されるプログラムは、インターネット等のネットワーク経由で提供または配布されるようにしてもよい。また、上述の各実施の形態の印刷制御装置で実行されるプログラムは、ROM等に予め組み込んで提供されるようにしてもよい。
上述の各実施の形態の印刷制御装置で実行されるプログラムは、上述した各処理部(アプリケーション実行部16、スプーラ部17、フィルタパイプライン制御部22、22a、プリンタGUI制御部23、23a、双方向通信部201、出力PDL判定部202、切り替え部203、PDL変換部204および双方向通信部401)を印刷制御装置上で実現させるためのモジュール構成となっている。実際のハードウェアとしては、制御装置が外部記憶装置からプログラムを記憶装置上に読み出して実行することによって、上記各処理部が印刷制御装置上で実現されるようになっている。
1 PC
2 プリンタ
11 入力装置
12 表示装置
13 記憶装置
14 外部記憶装置
15 制御装置
16 アプリケーション実行部
17 スプーラ部
18、18a プリンタドライバ部
19 パラレルI/F
20 USBI/F
21 ネットワークI/F
22、22a フィルタパイプライン制御部
23、23a プリンタGUI制御部
101 アプリケーション
102 OS
103 スプーラ
104、104a プリンタドライバ
105、105a プリンタGUIモジュール
106、106a プリンタドライバレンダリング
107、107a フィルタパイプラインマネージャ
108、108a フィルタパイプライン設定ファイル
109 双方向通信フィルタ
110 出力PDL判定フィルタ
111 切り替えフィルタ
112、112a、112b、112c PDL変換フィルタ
113 スプールファイル
150、150a プリンタ設定画面
150b メッセージ表示画面
151a 解像度選択表示部
151b カラー選択表示部
151c OKボタン
151d キャンセルボタン
151e PDL選択表示部
151f メッセージ表示部
151g OKボタン
151h キャンセルボタン
201 双方向通信部
202 出力PDL判定部
203 切り替え部
204 PDL変換部
301 双方向通信モジュール
401 双方向通信部
500、500a 印刷制御システム
特開2011−025539号公報

Claims (11)

  1. 印刷装置に対応するページ記述言語を判定する判定手段と、
    該判定手段による判定結果に基づいて、第1の印刷データのページ記述言語を前記印刷装置に対応するページ記述言語に変換する1以上の変換フィルタが登録された登録管理データを参照して前記変換フィルタを選択する切り替え手段と、
    設定データに登録されたフィルタを使用するフィルタパイプライン動作とは別の動作として、前記設定データには登録されておらず、かつ、前記登録管理データから前記切り替え手段により選択され前記変換フィルタによって前記第1の印刷データのページ記述言語を前記印刷装置に対応するページ記述言語で変換して第2の印刷データを作成する変換手段と、
    を備えた印刷制御装置。
  2. 印刷装置に対応するページ記述言語を判定する判定手段と、
    該判定手段による判定結果に基づいて、第1の印刷データのページ記述言語を前記印刷装置に対応するページ記述言語に変換する変換フィルタを選択する切り替え手段と、
    フィルタパイプライン動作とは別に、前記変換フィルタによって前記第1の印刷データのページ記述言語を前記印刷装置に対応するページ記述言語で変換して第2の印刷データを作成する変換手段と、
    を備え、
    前記切り替え手段は、前記判定手段による判定結果に基づいて、前記第1の印刷データのページ記述言語と前記印刷装置に対応するページ記述言語とが同一であるか否かに関わらず、前記第1の印刷データのページ記述言語を前記印刷装置に対応するページ記述言語に変換する前記変換フィルタを選択する印刷制御装置。
  3. 印刷装置に対応するページ記述言語を判定する判定手段と、
    前記判定手段による判定結果に基づいて、第1の印刷データのページ記述言語と前記印刷装置に対応するページ記述言語とが同一であるか否かに関わらず、前記第1の印刷データのページ記述言語を前記印刷装置に対応するページ記述言語に変換する前記変換フィルタを選択する切り替え手段と、
    設定データに登録されたフィルタを使用するフィルタパイプライン動作とは別の動作として、前記切り替え手段により選択された、前記設定データには登録されていない前記変換フィルタによって前記第1の印刷データのページ記述言語を前記印刷装置に対応するページ記述言語で変換して第2の印刷データを作成する変換手段と、
    を備えた印刷制御装置。
  4. 前記設定データと、前記登録管理データと、を記憶する記憶手段と、
    前記フィルタパイプライン動作において、前記設定データに登録された前記フィルタに基づいて、前記判定手段および前記切り替え手段を制御するフィルタパイプライン制御部と、
    をさらに備えた請求項1に記載の印刷制御装置。
  5. 前記フィルタパイプライン動作で利用されるフィルタが登録された設定データと、前記変換フィルタが登録された登録管理データと、を記憶する記憶手段と、
    前記フィルタパイプライン動作において、前記設定データに登録された前記フィルタに基づいて、前記判定手段および前記切り替え手段を制御するフィルタパイプライン制御部と、
    をさらに備え、
    前記切り替え手段は、前記登録管理データを参照して前記変換フィルタを選択する請求項に記載の印刷制御装置。
  6. 前記印刷装置から印刷に関する能力情報を受信する通信手段をさらに備え、
    前記判定手段は、前記能力情報に基づいて、前記印刷装置に対応するページ記述言語を判定する請求項1〜のいずれか一項に記載の印刷制御装置。
  7. 前記能力情報に基づいて、前記印刷装置に対応している機能を設定可能に表示する表示制御手段をさらに備え、
    前記判定手段は、前記表示制御手段において設定された印刷設定情報に基づいて、前記印刷装置に対応するページ記述言語を判定する請求項に記載の印刷制御装置。
  8. 前記表示制御手段は、
    前記印刷装置に対応していない機能が選択操作された場合、該機能が前記印刷装置に対応していない旨を表示し、
    前記印刷装置に対応している機能に設定変更するか否かの操作入力を受け付ける操作入力部をさらに備えた請求項に記載の印刷制御装置。
  9. 印刷装置に対応するページ記述言語を判定するステップと、
    判定した前記印刷装置に対応するページ記述言語に基づいて、第1の印刷データのページ記述言語を前記印刷装置に対応するページ記述言語に変換する1以上の変換フィルタが登録された登録管理データを参照して前記変換フィルタを選択するステップと、
    設定データに登録されたフィルタを使用するフィルタパイプライン動作とは別の動作として、前記設定データには登録されておらず、かつ、前記登録管理データから前記選択するステップで選択し前記変換フィルタによって前記第1の印刷データのページ記述言語を前記印刷装置に対応するページ記述言語に変換して第2の印刷データを作成するステップと、
    を有する印刷制御方法。
  10. 印刷装置に対応するページ記述言語を判定する判定手段と、
    該判定手段による判定結果に基づいて、第1の印刷データのページ記述言語を前記印刷装置に対応するページ記述言語に変換する1以上の変換フィルタが登録された登録管理データを参照して前記変換フィルタを選択する切り替え手段と、
    設定データに登録されたフィルタを使用するフィルタパイプライン動作とは別の動作として、前記設定データには登録されておらず、かつ、前記登録管理データから前記切り替え手段によって選択され前記変換フィルタによって前記第1の印刷データのページ記述言語を前記印刷装置に対応するページ記述言語に変換して第2の印刷データを作成する変換手段と、
    をコンピュータに実現させるためのプログラム。
  11. 請求項10に記載のプログラムと、
    前記第2の印刷データに基づいて印刷出力する印刷装置と、
    を備えた印刷制御システム。
JP2013124168A 2013-06-12 2013-06-12 印刷制御装置、印刷制御方法、プログラムおよび印刷制御システム Expired - Fee Related JP6212971B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013124168A JP6212971B2 (ja) 2013-06-12 2013-06-12 印刷制御装置、印刷制御方法、プログラムおよび印刷制御システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013124168A JP6212971B2 (ja) 2013-06-12 2013-06-12 印刷制御装置、印刷制御方法、プログラムおよび印刷制御システム

Publications (2)

Publication Number Publication Date
JP2014241118A JP2014241118A (ja) 2014-12-25
JP6212971B2 true JP6212971B2 (ja) 2017-10-18

Family

ID=52140320

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013124168A Expired - Fee Related JP6212971B2 (ja) 2013-06-12 2013-06-12 印刷制御装置、印刷制御方法、プログラムおよび印刷制御システム

Country Status (1)

Country Link
JP (1) JP6212971B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6289276B2 (ja) * 2014-06-06 2018-03-07 キヤノン株式会社 情報処理装置およびプログラム、制御方法
JP6330790B2 (ja) * 2015-11-19 2018-05-30 コニカミノルタ株式会社 印刷制御システム、印刷制御装置およびプログラム
JP2018045436A (ja) * 2016-09-14 2018-03-22 株式会社リコー 情報処理装置、方法、プログラムおよびシステム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004030130A (ja) * 2002-06-25 2004-01-29 Canon Inc 情報処理装置およびサーバ装置およびデータ処理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体
JP4521299B2 (ja) * 2005-02-28 2010-08-11 株式会社リコー 情報処理装置、情報処理プログラム、およびコンピュータ読み取り可能な記憶媒体
JP2008139912A (ja) * 2006-11-29 2008-06-19 Canon Inc 情報処理装置、画像形成装置及びそれらの制御方法、コンピュータプログラム
JP5326477B2 (ja) * 2007-12-14 2013-10-30 株式会社リコー 情報処理装置、情報処理プログラム、記録媒体及び情報処理方法
JP5336819B2 (ja) * 2008-11-07 2013-11-06 キヤノン株式会社 情報処理装置及び印刷制御方法
JP2011257975A (ja) * 2010-06-09 2011-12-22 Ricoh Co Ltd 情報処理装置、中間データ加工プログラム、及び記録媒体
JP5598345B2 (ja) * 2011-01-17 2014-10-01 村田機械株式会社 プリントサーバ
JP2012203704A (ja) * 2011-03-25 2012-10-22 Konica Minolta Business Technologies Inc 印刷ジョブ編集装置、印刷ジョブ編集装置用プログラム、および印刷システム

Also Published As

Publication number Publication date
JP2014241118A (ja) 2014-12-25

Similar Documents

Publication Publication Date Title
US10949148B2 (en) Print processing system and control method
JP2011242997A (ja) 情報処理装置、印刷制御プログラム、および記憶媒体
US20140293312A1 (en) Information processing apparatus, print control program and print system
US10126990B2 (en) Suppressing a competing error message from an operating system or print driver
WO2013111536A1 (en) Information processing apparatus, method, and program
JP6178567B2 (ja) 画像形成装置及びその制御方法とプログラム、及び情報処理システム
WO2011138848A1 (en) Information processing apparatus, method for controlling same, and storage medium
CN106354442B (zh) 信息处理装置、安装系统和安装方法
US20180275931A1 (en) Information processing apparatus, controlling method of information processing apparatus, and storage medium
JP2016189543A (ja) 多機能機
JP6212971B2 (ja) 印刷制御装置、印刷制御方法、プログラムおよび印刷制御システム
KR100561405B1 (ko) 프린터 드라이버 및 사용자 인터페이스 구성 방법
US20150248259A1 (en) Information processing apparatus, print system, and recording medium
JP2009053789A (ja) 情報処理装置とプログラムとコンピュータ読み取り可能な記録媒体
KR20080052007A (ko) 복수의 출력을 위한 출력 시스템 및 방법
US8854671B2 (en) Method and apparatus for setting printing option
US8547578B2 (en) Print driver, information processing apparatus, and computer-readable storage medium for generating different types of drawing commands and job commands
JP2013089010A (ja) システム、情報処理装置、プログラムおよび情報処理方法
JP5042926B2 (ja) 印刷設定装置,プログラム,および記録媒体
JP6007015B2 (ja) 画像形成装置及び画像形成プログラム
JP2014056424A (ja) 印刷制御装置、印刷制御方法及び印刷制御システム
US20230325211A1 (en) Image forming apparatus and control method of image forming apparatus
JP7247686B2 (ja) 情報処理システム
US20230236782A1 (en) Information processing device having os-standard general-purpose printing program installed thereon that enables the device to display information on status of printer
JP2005321886A (ja) プリント支援モジュール、ポートモニタ、記録媒体及びプリントジョブ発行方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160607

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170214

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170417

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170530

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170720

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: 20170822

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170904

R151 Written notification of patent or utility model registration

Ref document number: 6212971

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees