【事件の表示】
　特許第３２５７５８８号「印刷データ生成装置及び印刷データ生成方法」の請求項１、３、５、７ないし１１に係る特許に対する特許異議の申立てについて、次のとおり決定する。
【結　論】
　訂正を認める。
　特許第３２５７５８８号の請求項１、３、５に係る特許を取り消す。
【理　由】
【１】手続きの経緯
　
　本件特許第３２５７５８８号「印刷データ生成装置及び印刷データ生成方法」の発明は、平成９年６月２０特許出願されたものであって、平成１３年１２月７日にその特許（請求項の数１１）について設定登録がなされ、平成１４年２月１８日に特許公報が発行され、その後その特許（請求項１、３、５、７〜１１）について平成１４年８月１９日に大木　茂より特許異議の申立がなされ、その請求項（請求項１、３、５、７〜１１）について平成１５年１月２７日付けで取消理由の通知（平成１５年２月７日発送）がなされ、平成１５年４月７日に訂正請求書及び異議意見書が提出されたものである。
　
【２】訂正の適否について
　
（１）訂正の要旨　
　
　訂正請求書により訂正する訂正事項は、特許請求の範囲の請求項の削除と減縮、及びこれに関連する明細書の記載事項における明りょうでない記載の釈明を目的とするものであって、その訂正内容は、要旨、以下のとおりである。
　
　・訂正事項1
　願書に添付した明細書の特許請求の範囲の欄における請求項1の記載
　
　『【請求項１】  選定された印刷装置に印刷させるべく、印刷データを生成する印刷データ生成手段と、
少なくとも指示された印刷内容に基づいて印刷属性情報を各印刷ページ毎に検出する検出手段と、複数の印刷装置の装置状態を管理する装置状態管理テーブルと前記印刷属性情報とに基づいて、前記印刷内容の各印刷ページ毎に該各印刷ページの印刷に適した印刷装置を選定する選定手段と、前記印刷データ生成手段を前記選定手段によって選定された前記印刷装置に対応する印刷データ生成手段に設定する設定手段とを備え、
前記設定手段は、前記各印刷装置の各印刷機能をそれぞれ利用するための実行モジュールと、モジュール構成情報管理テーブルに基づいて、前記各実行モジュールのうち選定された印刷装置が要求する実行モジュールを呼び出すモジュール呼び出し手段とを含んでなり、前記呼び出された各実行モジュールによって前記選定された印刷装置に対応する印刷データ生成手段を設定するものであり、
前記選定された各印刷装置毎に印刷データを仕分けして該各印刷装置毎に送信することを特徴とする印刷データ生成装置。』
　
とあるを、
　
　『【請求項１】  選定された印刷装置に印刷させるべく、印刷データを生成する印刷データ生成手段と、
少なくとも指示された印刷内容に基づいて印刷属性情報を各印刷ページ毎に検出する検出手段と、複数の印刷装置の装置状態を管理する装置状態管理テーブルと前記印刷属性情報とに基づいて、前記印刷内容の各印刷ページ毎に該各印刷ページの印刷に適した印刷装置を選定する選定手段と、前記印刷データ生成手段を前記選定手段によって選定された前記印刷装置に対応する印刷データ生成手段に設定する設定手段とを備え、
前記設定手段は、前記各印刷装置の各印刷機能をそれぞれ利用するための実行モジュールと、モジュール構成情報管理テーブルに基づいて、前記各実行モジュールのうち選定された印刷装置が要求する実行モジュールを呼び出すモジュール呼び出し手段とを含んでなり、前記呼び出された各実行モジュールによって前記選定された印刷装置に対応する印刷データ生成手段を設定するものであり、かつ、前記複数の印刷装置に対して前記実行モジュール呼び出し手段を共通に割り当て可能となっており、
前記選定された各印刷装置毎に印刷データを仕分けして該各印刷装置毎に送信することを特徴とする印刷データ生成装置。』
　
と訂正する。
　
　・訂正事項２
　願書に添付した明細書の特許請求の範囲の欄における請求項７〜１１の記載を、削除する。 
　
　・訂正事項3
　願書に添付した明細書における【０００８】の記載を
　
　『【０００８】即ち、請求項１に係る印刷データ生成装置１では、選定された印刷装置に印刷させるべく、印刷データを生成する印刷データ生成手段２と、少なくとも指示された印刷内容に基づいて印刷属性情報を各印刷ページ毎に検出する検出手段３と、複数の印刷装置１１ａ〜１１ｃの装置状態を管理する装置状態管理テーブル４と前記印刷属性情報とに基づいて、前記印刷内容の各印刷ページ毎に該各印刷ページの印刷に適した印刷装置を選定する選定手段５と、前記印刷データ生成手段２を前記選定手段５によって選定された前記印刷装置に対応する印刷データ生成手段２に設定する設定手段６と、を備えたことを特徴としている。』
　
とあるを、
　
　『【０００８】即ち、本発明に係る印刷データ生成装置１では、選定された印刷装置に印刷させるべく、印刷データを生成する印刷データ生成手段２と、少なくとも指示された印刷内容に基づいて印刷属性情報を各印刷ページ毎に検出する検出手段３と、複数の印刷装置１１ａ〜１１ｃの装置状態を管理する装置状態管理テーブル４と前記印刷属性情報とに基づいて、前記印刷内容の各印刷ページ毎に該各印刷ページの印刷に適した印刷装置を選定する選定手段５と、前記印刷データ生成手段２を前記選定手段５によって選定された前記印刷装置に対応する印刷データ生成手段２に設定する設定手段６と、を備えたことを特徴としている。』
　
と訂正する。
　
　・訂正事項４
　願書に添付した明細書における【００１３】の記載を
　
　『【００１３】請求項２に係る発明では、前記設定手段６は、前記各印刷装置１１ａ〜１１ｃの各印刷機能をそれぞれ利用するための実行モジュール７と、モジュール構成情報管理テーブル８に基づいて、前記各実行モジュール７のうち選定された印刷装置が要求する実行モジュール７を呼び出すモジュール呼び出し手段９とを含んでなり、前記呼び出された各実行モジュール７によって前記選定された印刷装置に対応する印刷データ生成手段２を設定することを特徴としている。』
　
とあるを、
　
　『【００１３】本発明では、前記設定手段６は、前記各印刷装置１１ａ〜１１ｃの各印刷機能をそれぞれ利用するための実行モジュール７と、モジュール構成情報管理テーブル８に基づいて、前記各実行モジュール７のうち選定された印刷装置が要求する実行モジュール７を呼び出すモジュール呼び出し手段９とを含んでなり、前記呼び出された各実行モジュール７によって前記選定された印刷装置に対応する印刷データ生成手段２を設定することを特徴としている。』
　
と訂正する。
　
　・訂正事項５
　願書に添付した明細書における【００１６】の記載を
　
　『【００１６】請求項３に係る発明では、前記検出手段３は、入力される指定情報と前記印刷内容とに基づいて前記印刷属性情報を検出することを特徴としている。』
　
とあるを、
　
　『【００１６】本発明では、前記検出手段３は、入力される指定情報と前記印刷内容とに基づいて前記印刷属性情報を検出することを特徴としている。』
　
と訂正する。
　
　・訂正事項６
　
　願書に添付した明細書における【００１８】の記載を
　
　『【００１８】請求項４に係る発明では、印刷時間が相対的に長くなる方の印刷データを先に生成または前記印刷装置に送信することを特徴としている。』
　
とあるを、
　
　『【００１８】本発明では、印刷時間が相対的に長くなる方の印刷データを先に生成または前記印刷装置に送信することを特徴としている。』
　
と訂正する。
　
　・訂正事項７
　
　願書に添付した明細書における【００２０】〜【００２７】の記載を、削除する。
　
（２）訂正の適否についての判断
　
 (2-1)訂正の目的等
　
　本件訂正の要旨は、上記訂正事項１乃至７のとおりであって、その訂正事項１の訂正内容は、特許請求の範囲の請求項１に係る発明について特許請求の範囲の減縮を目的とし、また訂正事項２の訂正内容は、特許請求の範囲の請求項７から１１を削除するものであり、さらに訂正事項３乃至７の訂正内容は、いずれも前記訂正事項１、２による特許請求の範囲の減縮及び請求項の削除に伴なう明りょうでない記載の釈明を目的とするものである。
　
(2-2)検討
　
　以下、各訂正事項について検討する。
　
　前記訂正事項１については、特許査定時の特許請求の範囲の請求項１に記載された発明について、構成を限定して明確になすものであり、特許請求の範囲の減縮に相当し、また願書に添付した明細書の段落番号【0089】に記載されていた事項の範囲内のものであって、特許請求の範囲を拡張しまたは変更するものではない。
　
　前記訂正事項２については、前記特許請求の範囲の請求項を削除するものであって、いずれも特許請求の範囲を拡張しまたは変更するものではない。
　
　前記訂正事項３乃至７については、前記特許請求の範囲の減縮及び請求項の削除により不明りょうとなる事項に係る詳細な説明の欄の記載について、この詳細な説明の欄の記載全般の整合性を保つために訂正するものであって、明りょうでない記載の釈明に相当し、いずれも願書に添付した明細書に記載されていた事項の範囲内のものである。
　
　以上のとおりであって、前記訂正事項１乃至７に係る訂正は、いずれも特許請求の範囲の減縮、請求項の削除及び明りょうでない記載の釈明を目的とするものであり、新規事項を追加するものではなく、また請求項を追加するなど実質的に特許請求の範囲を拡張し又は変更するものとも認められない。
　
(2-3)まとめ
　
　以上のとおり、上記訂正は、特許法第１２０条の４第２項ただし書き及び第３項において準用する特許法第１２６条第２項及び第３項の規定に適合するので、当該訂正を認める。
　
【３】本件特許発明
　
　本件の訂正された特許請求の範囲の請求項１乃至６に係る発明は、次のとおりのものである。
　
「【請求項１】  選定された印刷装置に印刷させるべく、印刷データを生成する印刷データ生成手段と、
少なくとも指示された印刷内容に基づいて印刷属性情報を各印刷ページ毎に検出する検出手段と、複数の印刷装置の装置状態を管理する装置状態管理テーブルと前記印刷属性情報とに基づいて、前記印刷内容の各印刷ページ毎に該各印刷ページの印刷に適した印刷装置を選定する選定手段と、前記印刷データ生成手段を前記選定手段によって選定された前記印刷装置に対応する印刷データ生成手段に設定する設定手段とを備え、
前記設定手段は、前記各印刷装置の各印刷機能をそれぞれ利用するための実行モジュールと、モジュール構成情報管理テーブルに基づいて、前記各実行モジュールのうち選定された印刷装置が要求する実行モジュールを呼び出すモジュール呼び出し手段とを含んでなり、前記呼び出された各実行モジュールによって前記選定された印刷装置に対応する印刷データ生成手段を設定するものであり、かつ、前記複数の印刷装置に対して前記実行モジュール呼び出し手段を共通に割り当て可能となっており、
前記選定された各印刷装置毎に印刷データを仕分けして該各印刷装置毎に送信することを特徴とする印刷データ生成装置。
　
【請求項２】  前記実行モジュールの全部又は一部は前記選定された印刷装置から取得可能に構成された請求項２に記載の印刷データ生成装置。
　
【請求項３】  前記検出手段は、入力される指定情報と前記印刷内容とに基づいて前記印刷属性情報を検出することを特徴とする請求項１又は請求項２のいずれかに記載の印刷データ生成装置。
　
【請求項４】  印刷時間が相対的に長くなる方の印刷データを先に生成または前記印刷装置に送信することを特徴とする請求項１〜請求項３のいずれかに記載の印刷データ生成装置。
　
【請求項５】  前記選定手段による印刷装置の選定結果を表示し、該選定結果についてユーザーの承認を得るようにした請求項１〜請求項４のいずれかに記載の印刷データ生成装置。
　
【請求項６】  選定された印刷装置に印刷させるべく、印刷データを生成する印刷データ生成手段と、
少なくとも指示された印刷内容に基づいて印刷属性情報を各印刷ページ毎に検出する検出手段と、複数の印刷装置の装置状態を管理する装置状態管理テーブルと前記印刷属性情報とに基づいて、前記印刷内容の各印刷ページ毎に該各印刷ページの印刷に適した印刷装置を選定する選定手段と、前記印刷データ生成手段を前記選定手段によって選定された前記印刷装置に対応する印刷データ生成手段に設定する設定手段とを備え、
前記選定された各印刷装置毎に印刷データを仕分けして、印刷時間が相対的に長くなる方の印刷データを先に送信するようにして、該各印刷装置毎に送信することを特徴とする印刷データ生成装置。」
　
【４】本件特許異議の申立て及び取消理由通知について
　
（１）異議申立ての理由の概要
　
　特許異議申立人大木　茂は、証拠方法として甲第１号証（特開平８−３３５１５０号公報）、甲第２号証（特開平６−３０９１２４号公報)、甲第３号証（特開平８−３３６０１２号公報)、甲第４号証（特開平９−２６８６７号公報）、甲第５号証（特開平６−２０２８２７号公報）及び甲第６号証（「プログラミングＷＩＮＤＯＷＳ Version３」（1991.10.1）アス                       キー　ｐ．９７１〜９７２）を提出し、「本件の請求項１、３、５、７、８、９、１０、１１に係る発明は、甲第１号証乃至甲第６号証に記載された発明に基づいて、その発明の属する技術の分野における通常の知識を有する者が容易に発明をすることができたものであるから、特許法第２９条第２項に該当するものであり、従って、上記発明に係る特許は同法第１１３条第２号の規定により取り消されるべきものである。」としている。（なお、本件特許及び特許異議申立てに係る手続きの経緯は、前記【１】記載のとおりである。）
　
（２）取消理由通知の概要
　
　当審における取消理由は、請求項１、３、５、７〜１１に係る発明について下記の刊行物を引用し、概要、以下のとおり通知したものである。
　
　刊行物１　特開平８−３３５１５０号公報
　刊行物２　特開平６−３０９１２４号公報
　刊行物３　特開平８−３３６０１２号公報
　刊行物４　特開平９−２６８６７号公報
　刊行物５　特開平６−２０２８２７号公報
　刊行物６　「プログラミングＷＩＮＤＯＷＳ Version３」（1991.10.1）アスキー　ｐ．９７１〜９７２
　
『請求項１、３、５、７〜１１に係る発明は、特許異議申立書第１７頁下から第１行目〜第２３頁頁第１１行目記載の理由により、上記刊行物１〜６記載された事項に基づいて、当業者が容易になしえたものである。よって、請求項１、３、５、７〜１１に係る発明の特許は、特許法第２９条第２項に違反してなされたものである。』
　
【５】当審の判断
　
（１）本件特許発明
　
　訂正された特許請求の範囲の請求項（以下、単に「訂正請求項」という。）１乃至６に係る発明は、前記【３】記載のとおりのものである。
　
（２）引用刊行物
　
(2-1) 刊行物２
　前記取消理由で引用した刊行物２（特開平６−３０９１２４号公報）には、以下のとおりの記載が認められる。
　
(i)「【課題を解決するための手段】上記第１の目的を達成するため、本発明の第１形態は、印刷するデータの内容に応じて複数の印刷装置を選択切り換えしながら印刷を行う情報処理装置の印刷制御装置であって、前記データから印刷時の前記切り換えの要因を検知する検知手段と、該検知手段の検知結果に基づいて前記データを該当の印刷装置に選択出力し、かつその該当の印刷装置が所定の印刷装置でないときには当該データの印刷物の挿入位置を示す置き換え用用紙の排紙を前記所定の印刷装置に行わせる制御を行う制御手段とを具備することを特徴とする。」（公報【００１１】）
　
(ii)「次に、任意の情報処理装置が、プリンタａ，ｂもしくはプリンタａ，ｃのいずれかの組合せによって印刷可能なデータを印刷する場合を例にとる。この時、プリンタｂ，プリンタｃは同一、もしくは代替え可能なプリンタとする。印刷の実行は、ネットワーク５５上に接続されたすべてのプリンタを制御するプリントプロセスによって一括で管理されるものとする。プリンタｂ，プリンタｃの切り換えは、各々のプリンタの使用状態をプリントプロセスが監視し、その結果に応じて自動的に行われる。このプリントプロセスの切り換え情報とテキストデータの内容から前述のような管理レポートを作成可能となる。ユーザはこの管理レポートを参照することで印刷結果はどのページがどのプリンタに出力されるかを知ることができる。」（公報【００５２】）
　
(iii)「この構成において情報処理装置６５が、６７のプリンタＡおよび６８のプリンタＢの制御を行い、データの印刷を実行させる。印刷実行にあたって、まず情報処理装置６５は印刷対象データの内容チェックをページ単位で実行する。なお、印刷対象データには各ページごとに、ページ内のデータ構成を示す付加データ（ヘッダー）が用意されているものとする。このヘッダー内にはページ内におけるデータの構成要素が格納されており、例えばカラーデータの有無、印刷用紙サイズなどを示す情報が入っている。このヘッダーの内容をチェックし、そのチェック結果により６７のプリンタＡ，６８のプリンタＢのいずれかで印刷すれば良いかを判断する。」（公報【００６１】）
　
(iv)「印刷対象ページの出力先プリンタの判断結果は、６７のプリンタＡ，６８のプリンタＢに対してそれぞれに独立した判断結果一時保存用のテーブルを情報処理装置６５内のメモリに設け、そのテーブル内に保持する。各々のテーブルには印刷対象データの何ページ目を印刷すべきなのかが保持されている。このテーブルを基に情報処理装置６５は、６７のプリンタＡ，６８のプリンタＢの各々に対して印刷すべきページ部分のデータを出力して印刷させる。」（公報【００６３】）
　
(v)「まず、情報処理装置６５は、上記のｎ，ａ，ｂを初期化する（Ｌ３１）。次に、印刷対象データのページ番号ｎに係わるヘッダーの内容チェックを行う（Ｌ３２）。そのチェック結果により、６７のプリンタＡ，６８のプリンタＢのどちらで印刷可能かを判断し（Ｌ３３）、プリンタＡによって印刷する場合は、テーブルのＴｂ１  Ａ［ａ］で示されるアドレス部分にそのページ番号ｎをストアし、その後ａを１だけインクリメントする（Ｌ３４）。他方、プリンタＢによって印刷する場合は、テーブルのＴｂ１  Ｂ［ｂ］で示されるアドレス部分にそのページ番号ｎをストアし、その後ｂを１だけインクリメントする（Ｌ３５）。次に、ヘッダー内容をチェックしたページが最終ページか否かを判断し（Ｌ３６）、最終ページでなければページ番号ｎを１だけインクリメントし（Ｌ３７）、次ページのヘッダー内容チェックのためＬ３２に戻る。最終ページであれば印刷の実行に移る。ここまでがテーブル作成の流れである。
　印刷は６６のプリンタＡから行う。まず、プリンタＡで印刷を実行するために、プリンタＡ用のプリンタドライバＡを起動する。また、テーブルＴｂ１  Ａにおけるプリント位置を示す変数ｐを１にセットする（Ｌ３８）。また変数ｐを（ａ−１）と比較して、テーブルＴｂ１  Ａの最後か否かを判断するためにも用いる（Ｌ３９）。テーブル作成の時、最終ページ判断前にＬ３４でａはインクリメントされている。よって、ａから１を引いた値がＴｂ１  Ａの最終位置番号となる。Ｌ３９での判断結果、プリント位置がテーブルの最終でなければ、テーブルＴｂ１  Ａ［ｐ］内に示されている印刷対象データのページをプリンタＡに出力して印刷させ、ｐを１だけインクリメントする（Ｌ４０）。その後また、Ｌ３９の判断ステップに戻る。」（公報【００６５】〜【００６６】）
　
 (2-2) 刊行物３
　同じく引用した刊行物３（特開平８−３３６０１２号公報）には、以下のとおりの記載が認められる。
　
(i)「本発明は、簡単な装置構成で、印刷動作とファクシミリ動作の双方を実行するためのプリンタ／ファクシミリドライバの呼び出し方法及びファクシミリ出力システム及びファクシミリカバーシートの生成方法を提供することを目的とする。
【課題を解決するための手段】本発明によれば、上記の目的は、印刷能力とファクシミリ能力の双方を提供し、かつファクシミリ能力を提供する場合には、まず、ファクシミリ文書の本体を生成し、次に、ファクシミリカバーシートを生成するために再度呼び出しが可能なプリンタ／ファクシミリドライバを提供することによって達成される。
さらに詳細に言えば、本発明は、ファクシミリ文書と、ファックスすべき文書シートの枚数、ビットマップロゴ、注釈、及びビットマップ署名を含むファクシミリカバーシートを作成するファクシミリ出力システムに係る。ファクシミリ出力システムは、ファックスすべき文書を入力し、かつファクシミリ送信リクエストを入力する入力インターフェイスと、処理ステップ及び周辺装置に関わるプリンタ／ファクシミリドライバを記憶するメモリと、入力されるファクシミリ送信リクエストに応答してプリンタ／ファクシミリドライバプロセスステップを呼び出すプロセッサとを含む。」（公報【０００４】〜【０００６】）
　
(ii)「図４に示すように、プリンタ／ファクシミリドライバ４０は、ユーザによる文書の作成、編集及び印刷を可能にするＷｉｎｄｏｗｓ用Ｗｏｒｄ、または、Ｗｉｎｄｏｗｓ用Ｗｏｒｄｐｅｒｆｅｃｔ（登録商標）など、既存のソフトウェアアプリケーション５０とともに使用される。ユーザが文書印刷リクエストを入力すると、アプリケーション５０は、標準のグラフィックスデバイスインターフェイス（ＧＤＩ）５２を呼び出し、ＧＤＩは、本発明に従って動作するコアプリンタドライバ５３を呼び出す。印刷を行なおうとする場合、コアプリンタドライバ５３は、単にアプリケーション５０からプリントジョブをアセンブルし、プリントジョブをＷｉｎｄｏｗｓスプーラ５５にスプールする。従来は、Ｗｉｎｄｏｗｓスプーラ５５が、ここで、Ｗｉｎｄｏｗｓオペレーティングシステム、ネットワークソフトウェア、及びネットワークに搭載されたハードウェアとの間で、従来の手段を使用して、ネットワークを介してプリントジョブを出力する。
　これに対して、ファクシミリ出力を行なおうとする場合には、コアプリンタドライバ５３が、ファクシミリユーザインターフェイス・ダイナミックリンクライブラリ（ファックスＵＩＤＬＬ）６０を呼び出す。一般的には、ファックスＵＩＤＬＬ６０は、ファクシミリユーザインターフェイスを生成し、ファクシミリジョブの開始時に、ファクシミリカバーシートをプレフィクス(pre-fix)する。．．．．．．」（公報【００２０】〜【００２１】）
　
(2-3)刊行物４
　同じく引用した刊行物４（特開平９−２６８６７号公報）は、ネットワーク周辺装置のためのグラフィカルユーザインターフェース表示方法に関するものであって、以下のとおりの記載が認められる。
　
(i)「ユーザがディジタル複写機１６のプリントオプションを変更したい場合、ユーザはオプションアイコン８０をクリックする。オプションアイコン８０のクリックによって図６Ｅのようなダイアログボックスがウインドウ７０に重ねて表示される。このダイアログボックス中に提示される種々のサブダイアログボックスにおいてジョブオプションの再設定を行うことで、ユーザは、グラフィックスモード、グラフィッククオリティ、グレースケール、フォント、プリンタメモリ容量等を変更することができる。」（公報【００４５】、図面第６Ｅ図）
　
(2-4) 刊行物５
　　同じく引用した刊行物５（特開平６−２０２８２７号公報）は、ネットワーク上に接続されるプリンタへ描画データを送出するプリントサーバー装置に関するものであって、以下のとおりの記載が認められる。
　
(i)「決定されたプリンタについては、それでよいかどうかを、プリンタの設置場所，機能，図２に示したテーブル中のノートとして収められている情報等とともに、ホストコンピュータ側のユーザに対し確認の問い合わせを行う(7) 。この問い合わせに対してホストコンピュータのユーザが決定されたプリンタを了解（ＯＫ）したかどうかを判定し(8) 、ＹＥＳならば決定されたプリンタに対して、現在他のユーザにて使用中だったり、紙切れが発生していたり、インクまたはトナー切れが発生していたりするかどうかを確認し、印字可能かどうかを決定したプリンタに問い合わせる(9) 。次いで、印字可能かどうかを確認し(10)、ＮＯならばその内容をユーザに通知するとともに、次候補を検索すべく、ステップ(5) に戻る。」（公報【００３８】、図面第６図）
　
(2-5) 刊行物６
　　同じく引用した刊行物６（「プログラミングＷＩＮＤＯＷＳ Version３」（1991.10.1）アスキー　ｐ．９７１〜９７２）は、ダイナミックリンクライブラリに関するものであって、以下のとおりの記載が認められる。
　
(i)「ＤＬＬは、ほかのプログラムやＤＬＬが特定に処理を行うために呼び出す関数を集めたファイルである。ＤＬＬは、ほかのモジュールがそのＤＬＬ中の関数を呼び出したときにだけアクティブになる。」（第971頁10行〜12行）
　
（３）本件訂正請求項１に係る発明について
　
（対比・判断）
　
　本件訂正請求項１に係る発明（以下「本件訂正発明１」という。）と前記刊行物２に記載された発明とを対比すると、刊行物２における「プリントプロセス」により制御される「プリンタドライバ」、及び「検知手段」は、本件訂正発明１における「印刷データ生成手段」及び「検出手段」に相当する。そして、刊行物２における「制御手段」は、前記(2-1) の(i)及び(ii)に記載のように、「検知手段の検知結果に基づいて前記データを該当の印刷装置に選択出力」し、またその際「プリンタｂ，プリンタｃの切り換えは、各々のプリンタの使用状態をプリントプロセスが監視し、その結果に応じて」行うものであることから、本件訂正発明１における「選定手段」に対応し、また、刊行物２における「情報処理装置」は、同じく(2-1) の(v)にも記載のように、６７のプリンタＡ，６８のプリンタＢのどちらで印刷可能かを判断し、プリンタＡによって印刷する場合は、テーブルのＴｂ１  Ａ［ａ］で示されるアドレス部分にそのページ番号ｎをストアし、その後ａを１だけインクリメントし、他方、プリンタＢによって印刷する場合は、テーブルのＴｂ１  Ｂ［ｂ］で示されるアドレス部分にそのページ番号ｎをストアし、その後ｂを１だけインクリメントし、さらにプリンタで印刷を実行するために、プリンタのプリンタドライバを起動して、テーブルにおけるプリント位置を示す変数をセットする、すなわち、選定したプリンタに対してドライバを起動させることを行うものであるから、本件訂正発明１における「設定手段」に対応させることができるものである。
　
　したがって、両者は、以下のとおりの一致点及び相違点を有するものと認められる。
　
（一致点）
　
「選定された印刷装置に印刷させるべく、印刷データを生成する印刷データ生成手段と、
少なくとも指示された印刷内容に基づいて印刷属性情報を各印刷ページ毎に検出する検出手段と、複数の印刷装置の装置状態を管理する装置状態管理テーブルと前記印刷属性情報とに基づいて、前記印刷内容の各印刷ページ毎に該各印刷ページの印刷に適した印刷装置を選定する選定手段と、前記印刷データ生成手段を前記選定手段によって選定された前記印刷装置に対応する印刷データ生成手段に設定する設定手段とを備え、
前記選定された各印刷装置毎に印刷データを仕分けして該各印刷装置毎に送信する印刷データ生成装置。」
　
（相違点）
　
　本件訂正発明１にあっては、前記設定手段は、前記各印刷装置の各印刷機能をそれぞれ利用するための実行モジュールと、モジュール構成情報管理テーブルに基づいて、前記各実行モジュールのうち選定された印刷装置が要求する実行モジュールを呼び出すモジュール呼び出し手段とを含んでなり、前記呼び出された各実行モジュールによって前記選定された印刷装置に対応する印刷データ生成手段を設定するものであり、かつ、前記複数の印刷装置に対して前記実行モジュール呼び出し手段を共通に割り当て可能となっているのに対して、刊行物２にあっては、その点についての記載が無い点、
　
（検討）
　
　上記相違点について検討すると、一般にコンピュータの分野において、ドライバやアプリケーション等のプログラムを、機能単位で部品化したプログラムから必要なものだけ呼び出し組み合わせることで実行可能なように構成することは極めてよく行われている技術事項（例えば、上記刊行物６にて説明されているダイナミックリンクライブラリの概念参照。）であり、さらに、複数の実行内容を実現するプログラムを、上記部品化した機能単位のプログラムによって構成する際に、複数の実行内容に共通して割り当てられるコア部分と、各実行内容毎に特有の機能モジュール部分とで構成し、コア部分を中心に実行内容毎に必要な機能モジュール部分だけを選択して呼び出すよう構成することは周知の技術（例えば、上記刊行物３参照。当該刊行物３には、上記(2-2)の(i)、(ii)の記載にもあるように、印刷動作とファクシミリ動作の双方を同一装置にて実行する際に、双方の実行のために共通に割り当てられたコアプリンタドライバを介して、印刷時には直接プリントジョブをＷｉｎｄｏｗｓスプーラにスプールし、ファクシミリ動作にはファックスＵＩＤＬＬを呼び出して実行することが記載されており、実質的に、各動作毎に呼び出す機能単位のモジュールを変えて、コアプリンタドライバと合わせて実行することが記載されている。）であり、上記刊行物２に記載の発明のような複数のプリンタに対して印刷命令を出力する印刷制御装置において、上記周知事項を適用し、本件訂正発明１の如く構成することは、当業者が容易になし得ることと認められる。
　また、本件訂正発明１により奏する作用効果も、当業者が予測し得る程度のものであって格別のものとは認められない。
　
　したがって、本件訂正請求項１発明は、上記刊行物２に記載された発明及び周知事項に基づいて当業者が容易に発明をすることができたものであって、訂正請求項１に係る発明の特許は、特許法第２９条第２項の規定に違反してなされたものである。
　
（４）本件訂正請求項３に係る発明について
　
（対比・判断）
　
　本件訂正請求項３に係る発明は、前記訂正請求項１に係る発明を引用するものであって、この訂正請求項１に係る発明において、さらに検出手段を「入力される指定情報と前記印刷内容とに基づいて前記印刷属性情報を検出する」ものに限定したものであり、この「入力される指定情報」に基づいて「前記印刷属性情報を検出する」点が前記刊行物２に記載された発明とさらに相違するものと認められる。
　
　そこで、このさらなる相違点について検討すると、印刷実行に当たり、ユーザが印刷に関する設定情報を指示し、それを印刷制御処理に用いることは周知事項（例えば、上記刊行物４参照）であり、また、入力される指定情報と印刷内容とを組み合わせて用いる点に特段の技術的意義も認められないことから、上記刊行物２に記載の発明における検知手段において当該周知事項を適用し本件訂正請求項３に係る発明の如く構成することは、当業者が容易になし得ることと認められる。
　したがって、本件訂正請求項３に係る発明は、上記刊行物２に記載された発明及び周知事項に基づいて当業者が容易に発明をすることができたものであって、訂正請求項３に係る発明の特許は、特許法第２９条第２項の規定に違反してなされたものである。
　
（５）本件訂正請求項５に係る発明について
　
（対比・判断）
　
　本件訂正請求項５に係る発明は、前記訂正請求項１に係る発明を引用するものであって、この訂正請求項１に係る発明において、さらに選定手段を「印刷装置の選定結果を表示し、該選定結果についてユーザーの承認を得るようにした」ものに限定したものであり、この点が前記刊行物２に記載された発明とさらに相違するものと認められる。
　
　このさらなる相違点について検討すると、印刷装置の選定結果を表示し、該選定結果についてユーザーの承認を得るようにすることは周知事項（例えば、上記刊行物５参照）であり、上記刊行物２に記載の発明において当該周知事項を適用することは、当業者が容易になし得ることと認められる。
　したがって、本件訂正請求項５に係る発明は、上記刊行物２に記載された発明及び周知事項に基づいて当業者が容易に発明をすることができたものであって、訂正請求項５に係る発明の特許は、特許法第２９条第２項の規定に違反してなされたものである。
　
（６）まとめ
　
　以上のとおり、本件訂正請求項１、３、５に係る発明は、刊行物２（異議甲第２号証）に記載された発明及び周知事項に基づいて当業者が容易に発明をすることができたものであるから、訂正請求項１、３、５に係る発明の特許は特許法第２９条第２項の規定に違反してなされたものである。
　
【６】むすび
　
　以上のとおりであるから、本件の訂正された特許請求の範囲の請求項１、３、５に係る発明の特許は、いずれも特許法第２９条第２項の規定に違反してなされたものであるから、特許法第１１３条第２号に該当し、取り消されるべきものである。
　
　よって、結論のとおり決定する。
【異議決定日】
平成１５年８月７日（２００３．８．７）
【訂正の要旨】
審決（決定）の【理由】欄参照。
（５４）【発明の名称】
印刷データ生成装置及び印刷データ生成方法
（５７）【特許請求の範囲】
　【請求項１】　選定された印刷装置に印刷させるべく、印刷データを生成する印刷データ生成手段と、
　少なくとも指示された印刷内容に基づいて印刷属性情報を各印刷ページ毎に検出する検出手段と、複数の印刷装置の装置状態を管理する装置状態管理テーブルと前記印刷属性情報とに基づいて、前記印刷内容の各印刷ページ毎に該各印刷ページの印刷に適した印刷装置を選定する選定手段と、前記印刷データ生成手段を前記選定手段によって選定された前記印刷装置に対応する印刷データ生成手段に設定する設定手段とを備え、
　前記設定手段は、前記各印刷装置の各印刷機能をそれぞれ利用するための実行モジュールと、モジュール構成情報管理テーブルに基づいて、前記各実行モジュールのうち選定された印刷装置が要求する実行モジュールを呼び出すモジュール呼び出し手段とを含んでなり、前記呼び出された各実行モジュールによって前記選定された印刷装置に対応する印刷データ生成手段を設定するものであり、
かつ、前記複数の印刷装置に対して前記実行モジュール呼び出し手段を共通に割り当て可能となっており、
　前記選定された各印刷装置毎に印刷データを仕分けして該各印刷装置毎に送信することを特徴とする印刷データ生成装置。
　【請求項２】　前記実行モジュールの全部又は一部は前記選定された印刷装置から取得可能に構成された請求項２に記載の印刷データ生成装置。
　【請求項３】　前記検出手段は、入力される指定情報と前記印刷内容とに基づいて前記印刷属性情報を検出することを特徴とする請求項１又は請求項２のいずれかに記載の印刷データ生成装置。
　【請求項４】　印刷時間が相対的に長くなる方の印刷データを先に生成または前記印刷装置に送信することを特徴とする請求項１〜請求項３のいずれかに記載の印刷データ生成装置。
　【請求項５】　前記選定手段による印刷装置の選定結果を表示し、該選定結果についてユーザーの承認を得るようにした請求項１〜請求項４のいずれかに記載の印刷データ生成装置。
　【請求項６】　選定された印刷装置に印刷させるべく、印刷データを生成する印刷データ生成手段と、
　少なくとも指示された印刷内容に基づいて印刷属性情報を各印刷ページ毎に検出する検出手段と、複数の印刷装置の装置状態を管理する装置状態管理テーブルと前記印刷属性情報とに基づいて、前記印刷内容の各印刷ページ毎に該各印刷ページの印刷に適した印刷装置を選定する選定手段と、前記印刷データ生成手段を前記選定手段によって選定された前記印刷装置に対応する印刷データ生成手段に設定する設定手段とを備え、
　前記選定された各印刷装置毎に印刷データを仕分けして、印刷時間が相対的に長くなる方の印刷データを先に送信するようにして、該各印刷装置毎に送信することを特徴とする印刷データ生成装置。
【発明の詳細な説明】
　【０００１】
　【発明の属する技術分野】
　本発明は、印刷データ生成装置及び印刷データ生成方法に関し、好ましくは、ＬＡＮ等のネットワークを介して接続された資源を利用することにより印刷を行う印刷データ生成装置及び印刷データ生成方法に関する。
　【０００２】
　【従来の技術】
　例えば、ＬＡＮ（Ｌｏｃａｌ　Ａｒｅａ　Ｎｅｔｗｏｒｋ）等のネットワークを介して、複数の印刷装置と複数のホストコンピュータとを相互に接続し、複数の印刷装置を共用できるようにしたネットワーク型印刷システムは、従来より知られている。
　【０００３】
　このような印刷システムで印刷を行う場合、ユーザーは、ネットワーク上の各印刷装置の中から所望の印刷装置を選択する。そして、この選択された印刷装置に関連付けされたプリンタドライバを起動することにより、該プリンタドライバは印刷データを生成し、印刷データを印刷装置に送信する。これにより、ユーザーは、印刷内容に適した印刷装置を選択して印刷させることができる。
　【０００４】
　【発明が解決しようとする課題】
　上述した従来技術による印刷システムでは、ユーザーは、ネットワークに接続された複数の印刷装置の中から所望の印刷装置を選択して、印刷させることができる。しかし、印刷装置には、例えば、インクジェット式やレーザ式等の印刷方式、カラー印刷機能の有無、印刷速度、印刷解像度等の種々の相違がある。従って、ユーザーは、各印刷装置の仕様や機能を把握した上で、印刷装置を選択する必要がある。即ち、例えば、プレゼンテーション用のカラードキュメントを印刷する場合には、カラー印刷可能な印刷装置を選択する必要があり、また、緊急の試し刷りを行う場合は、高速な印刷装置を選択する必要がある。ネットワークに接続された印刷装置の台数が少ない場合は、ユーザーは利用可能な印刷装置の仕様を把握することが可能である。しかし、ネットワークに接続される印刷装置の台数が多い場合、あるいは印刷装置の入れ替えが行われた場合には、ユーザーが各印刷装置の仕様や機能を正確に把握するのは難しくなる。従って、ユーザーは、多くの印刷装置の中から印刷内容に最適な印刷装置を選択し、さらに、選択した印刷装置に応じたプリンタドライバを設定しなければならず、手間がかかり、使い勝手が低下する。
　【０００５】
　一方、近年では、ドキュメントの多様化が一層進んでいるため、従来のように一つの印刷装置でドキュメント全体を印刷するのでは、無駄が生じ、印刷効率も低下するという問題がある。例えば、ドキュメントの中にカラーグラフィックデータのページが一部含まれている場合は、ドキュメントの大部分がモノクロテキストデータの場合でも、カラー印刷装置を選択しなければならない。同様に、ドキュメントの一部に高解像度のイメージデータが含まれている場合には、ドキュメントの大部分が低印刷解像度で印刷可能なテキストデータの場合でも、高解像度の印刷装置を選択しなければならない。また、特定の印刷ページのために高機能の印刷装置を選択しなければならないため、特定の印刷装置に印刷ジョブが集中してしまい、ネットワーク印刷システム全体の利用効率が低下する。
　【０００６】
　本発明は、上述した種々の課題に鑑みなされたものであり、その目的は、各印刷ページ毎に印刷に適した印刷装置を選択することができ、全体の印刷効率を向上できるようにした印刷データ生成装置及び印刷データ生成方法を提供することにある。本発明の他の目的は、各実行モジュールを適宜組み合わせて印刷データ生成手段を構成することにより、各印刷ページに適した印刷データを速やかに生成することができるようにした印刷データ生成装置及び印刷データ生成方法を提供することにある。
　【０００７】
　【課題を解決するための手段】
　上記目的達成のため、本発明に係る印刷データ生成装置では、印刷内容に基づいて、印刷ページを予め仕分けし、この仕分けされた各印刷ページ群毎に最適な印刷データ生成手段を割り当てるようにしている。以下、図１に示す説明図を参照しつつ説明する。
　【０００８】
　即ち、
本発明
　【０００９】
　「印刷属性情報」とは、印刷の属性を示す情報の意味であり、具体的には、例えば、用紙サイズ、カラー印刷またはモノクロ印刷の別、印刷解像度、フォント等の情報を含む。例えば、文書作成用ソフトウエアによって印刷内容が作成されると、検出手段３は、この印刷内容に基づいて、カラー印刷またはモノクロ印刷の別、印刷解像度、イメージデータの有無、使用フォントの種類等の印刷属性情報を各印刷ページ毎に検出する。そして、選定手段５は、装置状態管理テーブル４と印刷属性情報とに基づいて、各印刷ページ毎に印刷に適した印刷装置を選定する。ここで、「装置状態」とは、各印刷装置１１ａ〜１１ｂの状態を示す情報を意味し、例えば、印刷速度、印刷解像度、カラー印刷機能の有無、搭載フォントの種類、印刷方式等の情報を含む。
　【００１０】
　これにより、例えば、カラー印刷のページにはカラー印刷装置を割り当て、モノクロ印刷のページにはモノクロ印刷装置を割り当てる等のように、選定手段５は、各印刷属性情報と利用可能な各印刷装置の装置状態とを照合し、各印刷ページ毎に印刷に適した印刷装置を選定する。そして、設定手段６は、これらの選定された各印刷装置に対応した印刷データ生成手段２をそれぞれ設定する。これにより、各印刷ページは、それぞれに適した印刷装置で印刷されるべく、印刷データ生成手段２によって印刷データに変換される。
　【００１１】
　印刷内容は、印刷属性情報に応じて、一又は複数の印刷ページ群に仕分けされ、仕分けされた各印刷ページ群毎に印刷データに変換されて最適な印刷装置に送信される。例えば、ドキュメント１０がカラー印刷ページとモノクロ印刷ページとを含む場合、ドキュメント１０は、選定手段５によって、カラー印刷ページからなる印刷ページ群１０ａとモノクロ印刷ページからなる印刷ページ群１０ｂとに仕分けされる。設定手段６は、各印刷ページ群１０ａ，１０ｂを印刷すべき印刷装置１１ａ，１１ｃに適した印刷データ生成手段２をそれぞれ設定する。例えば、設定手段６は、選定した印刷装置に対応する印刷データ生成手段２を記憶装置から呼び出すことにより、あるいは、選定された印刷装置に対して印刷データ生成手段２の転送を要求することにより、最適な印刷データ生成手段２を設定することができる。
　【００１２】
　本発明によれば、カラー印刷ページからなる印刷ページ群１０ａは、カラー印刷可能な印刷装置１１ａによって印刷され、モノクロ印刷ページからなる印刷ページ群１０ｂは、モノクロ印刷専用の印刷装置１１ｃによって印刷される。
　【００１３】
　
本
　【００１４】
　ここで、「印刷装置の各印刷機能」とは、印刷装置が実行可能な各種印刷処理機能を意味し、例えば、カラー印刷機能、ページ印刷機能、高密度印刷機能、両面印刷機能等が含まれる。「実行モジュール」とは、各印刷機能を利用するための実行プログラムである。具体的には、例えば、モノクロページプリンタの場合には、ページ単位で印刷する機能、モノクロ画像として印刷する機能等を有しているため、このモノクロページプリンタを利用するには、ページ単位の印刷データを生成する実行モジュール、モノクロの印刷データを生成する実行モジュール等が必要となる。
　【００１５】
　モジュール呼び出し手段９は、選定された印刷装置が必要とする実行モジュール７を呼び出すことにより、該選定された印刷装置に応じた印刷データ生成手段２を設定する。各印刷装置毎に設定される印刷データ生成手段２は、複数の実行モジュールから構成されているため、実行モジュールを一部入れ替えることにより、最適な印刷データ生成手段２を設定することができる。つまり、例えば、カラー印刷装置１１ａとモノクロ印刷装置１１ｃとが共にページプリンタの場合、ページ単位で印刷するための実行モジュールは、両印刷装置１１ａ、１１ｃで共通に使用される。従って、モノクロ印刷装置１１ｃ用の印刷データ生成手段２をカラー印刷装置１１ａ用の印刷データ生成手段２に変更する場合には、一部の実行モジュールを追加ないし入れ替えれば足りる。従って、速やかに印刷データ生成手段２を設定することができる。
　【００１６】
　
本
　【００１７】
　「指定情報」とは、印刷内容の印刷方法を指示するための情報である。例えば、ユーザーは、高速印刷、高解像度印刷等のように、所望の印刷方法を指示することができる。指定情報と印刷内容とに基づいて印刷属性情報を検出することにより、ユーザーの意向を反映した印刷を行うことができる。
　【００１８】
　
本
　【００１９】
　例えば、ドキュメントにモノクロ印刷ページとカラー印刷ページとが混在している場合、一般的には、カラー印刷ページの方が印刷時間は長くなる。そこで、印刷時間が長い方の印刷データを先に生成し、または印刷装置に送信することにより、モノクロ印刷ページの印刷終了時刻とカラー印刷ページの印刷終了時刻との差異を少なくすることができる。
　
【００２０】削除
　
【００２１】削除
　
【００２２】削除
　
【００２３】削除
　
【００２４】削除
　
【００２５】削除
　
【００２６】削除
　
【００２７】削除
　【００２８】
　【発明の実施の形態】
　以下、図面に基づいて本発明の実施の形態について詳細に説明する。
　【００２９】
１．第１の実施の形態
　図２〜図１１は、本発明の第１の実施の形態に関わり、図２は、本実施の形態による印刷システムのブロック構成図である。
　【００３０】
１−１　印刷データ生成装置の構成
　本実施の形態による印刷データ生成装置２１は、それぞれ後述するように、グラフィックデバイスインターフェース２２と、プリンタドライバ２４と、プリントプロセッサ２５と、印刷要求ルータ２６と、記憶部２７と、ネットワークプリンタプロバイダ２８と、ネットワーク接続部２９と、他の記憶部３０等とを備えており、具体的には、例えば、パーソナルコンピュータ、ワークステーション等として構成されるものである。
　【００３１】
　グラフィックデバイスインターフェース（Ｇｒａｐｈｉｃｓ　Ｄｅｖｉｃｅ　Ｉｎｔｅｒｆａｃｅ：以下、「ＧＤＩ」という。）２２は、例えば、文書作成用ソフトウエア等のアプリケーションプログラム２３と後述の印刷装置４１との間でデータ通信を行うためのＡＰＩ（アプリケーションプログラムインターフェース：Ａｐｐｌｉｃａｔｉｏｎ　ＰｒｏｇｒａｍＩｎｔｅｒｆａｃｅ）であり、グラフィックス要素を管理するものである。ＧＤＩ２２は、図示せぬデバイス独立ビットマップエンジン（ＤＩＢエンジン。ＤＩＢとは、ＤｅｖｉｃｅＩｎｄｅｐｅｎｄｅｎｔ　Ｂｉｔｍａｐの略）と協調動作してイメージデータを生成する。
　【００３２】
　プリンタドライバ２４は、印刷装置４１に出力するための印刷データを生成するものである。プリンタドライバ２４は、ＧＤＩ２２と接続されており、該ＧＤＩ２２からの描画命令によって、イメージデータを印刷装置４１が解釈可能な印刷データに変換するようになっている。
　【００３３】
　ここで、本実施の形態によるプリンタドライバ２４は、コアドライバ２４Ａと、該コアドライバ２４Ａによって呼び出された複数の実行モジュールからなる実行モジュール部２４Ｂとから構成されている。コアドライバ２４は、後述のモジュール構成情報によって指示された必要な実行モジュールを記憶部３０の実行モジュール群３３から呼び出してメモリにロードすることにより、選択された印刷装置４１に適した機能構成を実現するものである。つまり、コアドライバ２４Ａ自体は、印刷データを生成する機能を備えておらず、必要な実行モジュールを呼び出すことによりプリンタドライバ２４が構成されるのである。
　【００３４】
　プリンタドライバ２４によって生成された印刷データは、ＧＤＩ２２を介してプリントプロセッサ２５に入力され、該プリントプロセッサ２５を介して印刷要求ルータ２６に入力される。即ち、プリントプロセッサ２５は、印刷データを転送するためのバッファとしての機能を果たしている。
　【００３５】
　印刷要求ルータ２６は、印刷データの転送先を振り分ける（ルーティング）するものである。例えば、印刷要求ルータ２６は、印刷データを記憶部２７内のスプールファイルに格納し、あるいは、スプールファイルに格納した印刷データをネットワークプリンタプロバイダ２８に転送させるようになっている。つまり、生成された印刷データを記憶部２７のスプールファイル内に格納しておき、印刷の順番が到来したときには、記憶部２７の印刷データを選択された印刷装置４１に送信すべく、印刷データを印刷装置４１のネットワークアドレス等と共に、ネットワークプリンタプロバイダ２８に転送するものである。ネットワークプリンタプロバイダ２８は、ネットワーク接続部２９との間で印刷データを送信するためのインターフェースの機能を果たしており、ネットワークプリントプロバイダ２８に入力された印刷データは、ネットワーク接続部２９を介して、選択された印刷装置４１に送信される。
　【００３６】
　ネットワーク接続部２９は、通信回線１００を介して印刷装置４１と双方向通信を行うためのものであり、具体的には、例えば、ＴＣＰ／ＩＰ（ＴｒａｎｓｍｉｓｓｉｏｎＣｏｎｔｒｏｌ　Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ　Ｐｒｏｔｏｃｏｌ）等のプロトコル群等を備えて構成されている。
　【００３７】
　記憶部３０には、装置状態管理テーブル３１と、モジュール構成情報管理テーブル３２と、複数の実行モジュールを備えた実行モジュール群３３とが格納されている。
　【００３８】
　図３（ａ）に示すように、装置状態管理テーブル３１には、通信回線１００に接続された複数の印刷装置（ＰＲ）毎に、印刷方式、印刷可能色、印刷解像度、印刷速度、給紙サイズ、搭載フォントの種類、オプション装着の有無等がそれぞれ記録されている。印刷方式には、例えば、電子写真方式（レーザ式）、インクジェット式、熱転写式、インパクトドットマトリクス式、昇華型等の種々のものがある。図３中に「色」として表示される印刷可能色には、カラー印刷、モノクロ印刷の別が記される。この装置状態管理テーブルを参照することにより、ネットワークに接続された各印刷装置の仕様や機能を知ることができる。
　【００３９】
　図３（ｂ）に示すように、モジュール構成情報管理テーブル３２には、各印刷装置（ＰＲ）毎に、モジュール構成情報が記憶されている。モジュール構成情報とは、印刷装置が有する各種印刷機能をそれぞれ利用するために必要な実行モジュールの情報を指示するものであり、プリンタドライバ２４の具体的機能構成の設計指示書としての役割を有する。各モジュール構成情報には、各印刷機能にそれぞれ対応する実行モジュール名が記載されている。
　【００４０】
　各印刷機能としては、例えば、カラー印刷機能、ページ印刷機能、高密度印刷機能、両面印刷機能等が含まれる。印刷装置が有する印刷機能は、該印刷装置の仕様等によって異なる。例えば、モノクロページプリンタの場合には、ページ単位で印刷する機能、モノクロ画像データを印刷する機能等を有し、カラーインクジェットプリンタの場合は、シリアル印字を行う機能、モノクロ画像を印刷する機能、カラー画像を印刷する機能等を有する。
　【００４１】
　そして、各モジュール構成情報には、各印刷機能を実現するための実行モジュールがそれぞれ指示されている。実行モジュールとは、各印刷機能を利用するためのプログラムである。例えば、ページ単位で印刷する機能を利用するためには、ページ単位の印刷データを生成する実行モジュールが必要であり、カラー画像を印刷する機能を利用するためには、カラー画像データを生成する実行モジュールが必要である。
　【００４２】
　実行モジュール群３３は、複数の実行モジュールを記憶したモジュールライブラリである。実行モジュール群３３への実行モジュールの登録方法には、以下のものが挙げられる。第１の方法は、主要な実行モジュールのみを予め記憶しておき、これら基本的な実行モジュール以外の実行モジュールが要求された場合には、ネットワーク上の資源を検索等することにより新たな実行モジュールを入手して実行モジュール群３３に追加記憶する方法である。第１の方法では、主要な実行モジュールを予め有しているため、普及した一般的な印刷装置に対応するプリンタドライバ２４を速やかに構成できる。第２の方法は、予め実行モジュール群３３に実行モジュールを記憶しておかず、ネットワーク上の資源を検索等することにより必要な実行モジュールのみを記憶していく方法である。第２の方法では、ユーザーが利用可能な印刷環境に応じて実行モジュールが蓄積されるため、不要な実行モジュールを記憶する必要がなく、メモリ資源を有効に利用することができる。
　【００４３】
　コアドライバ２４Ａは、モジュール構成情報管理テーブル３２に記憶されたモジュール構成情報を参照することにより、必要な実行モジュールを実行モジュール群３３から呼び出してメモリにロードする。これにより、選択された印刷装置に最適なプリンタドライバ２４が構成される。
　【００４４】
１−２　印刷装置の構成
　印刷装置４１は、それぞれ後述するように、ネットワーク接続部４２と、入力バッファ４３と、解釈部４４と、駆動制御部４５と、プリントエンジン４６と、通信制御部４７と、記憶部４８とを備えて構成されている。
　【００４５】
　ネットワーク接続部４２は、印刷データ生成装置２１のネットワーク接続部２９と同様に、通信回線１００を介して印刷データ生成装置２１と双方向通信を行うためのものである。
　【００４６】
　入力バッファ４３は、印刷データ生成装置２１から入力される印刷データを一時的に保存するものであり、解釈部４４は、この印刷データを解釈してビットイメージデータに変換するためのものである。駆動制御部４５は、印刷データに基づいてプリントエンジン４６の駆動を制御するものである。プリントエンジン４６は、印刷記録媒体上にドット等を形成して印刷を行うものである。プリントエンジン４６としては、例えば、レーザ式プリントエンジン、インクジェット式プリントエンジン、熱転写式プリントエンジン等の種々の形式を採用することができる。
　【００４７】
　通信制御部４７は、コアドライバ２４Ａとの間で双方向通信を行うためのものである。即ち、通信制御部４７は、コアドライバ２４Ａの要求に応じてモジュール構成情報を送信し、また、コアドライバ２４Ａの要求に応じて実行モジュールを送信するようになっている。
　【００４８】
　例えば、フラッシュＲＯＭやハードディスク装置等からなる記憶部４８内には、該印刷装置４１に対応したモジュール構成情報と、該モジュール構成情報によって指示される各実行モジュールの全部または一部とが記憶されている。即ち、記憶部４８に記憶されたモジュール構成情報は、該印刷装置４１の備える各印刷機能を利用するために必要となる各実行モジュールの情報を含んでいる。
　【００４９】
　ここで、記憶部４８に実行モジュールを記憶する方法としては、以下の２つが挙げられる。第１の方法は、印刷装置４１が必要する全ての実行モジュールを記憶部４８に記憶する方法である。第２の方法は、印刷装置４１が必要とする全ての実行モジュールのうち一部の実行モジュールのみを記憶する方法である。第１の方法では、必要な全ての実行モジュールを記憶するため、印刷データ生成装置２１の実行モジュール群３３の内容に依存しないが、記憶部４８のメモリ消費量が増大する。第２の方法では、一部の実行モジュール、好ましくは特徴的な実行モジュールのみを記憶するため、印刷データ生成装置２１の実行モジュール群３３内に基本的な他の実行モジュールが予め記憶されている必要はあるが、記憶部４８のメモリ消費量を低減することができる。
　【００５０】
１−３　作用
１−３−１　各テーブルの構築方法
　次に、図４〜図１１に基づいて、本発明の作用を説明する。図４に示すフローチャートは、装置状態管理テーブル３１、モジュール構成情報テーブル３２を構築するためのテーブル構成処理を示している。なお、説明の便宜のため、装置状態管理テーブル３１を構築する場合を例に挙げて説明する。
　【００５１】
　例えば、新たな印刷装置４１がネットワークに接続されると、この印刷装置４１は、ネットワークアドレスを取得し（Ｓ１）、このアドレスをネットワーク上の各印刷データ生成装置２１（図４中では、「ＰＣ」と表示）に向けて送信する（Ｓ２）。この印刷装置４１から各印刷データ生成装置２１への通知は、例えば、アーキテクチャニュートラルな言語によって記述され、ブロードキャストにより一斉に同報することができる。
　【００５２】
　そして、印刷装置４１からのネットワークアドレスを受信した各印刷データ生成装置２１は、オペレーティングシステム（ＯＳ）の種類等の環境を印刷装置４１に送信する（Ｓ３）。印刷装置４１は、各印刷データ生成装置２１のＯＳ環境等に応じたフォーマットで、装置状態の情報を送信する（Ｓ４）。最後に、印刷装置４１からの装置状態を受信した各印刷データ生成装置２１は、この装置状態を装置状態管理テーブル３１に格納する。
　【００５３】
　なお、前記Ｓ４で印刷装置４１から各印刷データ生成装置２１に送信する情報をモジュール構成情報に替えることにより、モジュール構成情報管理テーブル３２を構築することができる。また、装置状態及びモジュール構成情報の両方を各印刷データ生成装置２１に送信することにより、装置状態管理テーブル３１及びモジュール構成情報管理テーブル３２を同時に構築することもできる。
　【００５４】
１−３−２　全体の処理
　次に、図５は、印刷内容を仕分けして最適な印刷データを生成する全体処理を示すフローチャートである。
　【００５５】
　まず、文書作成用ソフトウエア等によってドキュメントが作成されると、ドキュメントの内容が各印刷ページ毎に解析される（Ｓ１１）。即ち、印刷を指示されたドキュメントがカラーデータを含んでいるか否か、イメージデータを含んでいるか否か、使用しているフォントの種類等が解析され、印刷属性情報として検出される。
　【００５６】
　次に、ユーザーからドキュメントの印刷方法に関して指示があるか否かを判定する（Ｓ１２）。図６（ａ）に示すように、例えば、画面５１上に印刷速度や仕上がり具合等の希望を入力するためのボタン５２を表示し、ユーザーがポインタ５３等によって各ボタン５２を操作することにより、印刷方法についての指示を与えることができる。このユーザーによる指示が「指定情報」である。印刷方法の指示は、例えば、印刷の速さについて「速い」または「普通」、仕上がり具合について「きれい」または「普通」のように、ユーザーが直感的に理解し易い形で行うことができる。
　【００５７】
　ユーザー指定がある場合、Ｓ１２では「ＹＥＳ」と判定され、このユーザー指定の情報は記録される（Ｓ１３）。一方、ユーザー指定がない場合、Ｓ１２では「ＮＯ」と判定され、装置状態管理テーブル３１が参照される（Ｓ１４）。そして、Ｓ１５では、装置状態管理テーブル３１と印刷属性情報とに基づいて、各印刷ページ毎に最適な印刷装置を選定する。なお、このＳ１５による選定処理は、図７及び図８と共に後述する。
　【００５８】
　そして、各印刷ページ毎に最適な印刷装置が選定されると、この選定結果はディスプレイ装置等を介して表示され（Ｓ１６）、ユーザーによる承認を待つ（Ｓ１７）。図６（ｂ）は、選定結果の表示画面の一例である。画面６１には、選定された印刷装置と、該各印刷装置で印刷される印刷ページとが対応付けられて表示されている。
　【００５９】
　例えば、図６（ｂ）では、Ｐ１〜１０及びＰ１５〜２５の合計２１枚は印刷装置ＰＲ３で印刷され、Ｐ１１〜１４の４枚は印刷装置ＰＲ１で印刷される旨が表示されている。例えば、ポインタ５２を印刷装置名に合わせてクリックすることにより、該印刷装置の概要情報６２を表示させることができる。この概要情報６２には、例えば、印刷方式、印刷速度、設置場所等を含めることができる。Ｓ１５による選定結果を画面６１で確認したユーザーは、ＯＫボタン６３またはＣＡＮＳＥＬボタン６４を操作することにより、承認の是非を入力する。
　【００６０】
　ユーザーによる承認が得られない場合は、再度Ｓ１２に戻り、Ｓ１２〜Ｓ１６までの処理を繰り返す。選定をやり直す場合、ユーザーは、Ｓ１２によって、自分の好みを入力することができる。
　【００６１】
　ユーザーによる承認が得られた場合は、Ｓ１７では「ＹＥＳ」と判定され、選定された印刷装置で印刷させるべく、所定のプリンタドライバ２４によって印刷データが生成される（Ｓ１８）。なお、Ｓ１８による印刷データ生成処理は、図１０と共に後述する。
　【００６２】
　そして、印刷データが生成されると、この印刷データは、選定された各印刷装置に向けて送信され、該各印刷装置によって印刷される。
　【００６３】
１−３−３　選定処理
　次に、図５中のＳ１５に示す選定処理について、図７〜図９を参照しつつ説明する。図７及び図８は、選定処理の一例を示すフローチャートである。なお、図７，図８中では「ＰＲ」と表示する。本選定処理では、印刷色や印刷解像度等の各パラメータ毎に印刷装置を抽出することにより、印刷装置を絞り込んでいき、最適な印刷装置を選定している。
　【００６４】
　まず、印刷ページのカウント値Ｐに１をセットすることにより、ドキュメントの第１ページから印刷装置の選定が開始される（Ｓ３１）。次に、用紙サイズに合った印刷装置、即ち、所定の給紙サイズを備えている印刷装置を抽出する（Ｓ３２）。ここで、「印刷装置の抽出」は、図９と共に後述するように、所定の機能を備えた印刷装置に「１」をセットすることにより実行される。
　【００６５】
　さらに、カラー印刷ページであるか否かを判定し（Ｓ３３）、カラー印刷のページである場合には、カラー印刷可能な印刷装置のみを抽出する（Ｓ３４）。カラー印刷でない場合は、モノクロ印刷の印刷装置を抽出する（Ｓ３５）。
　【００６６】
　次に、高解像度印刷が要求されているか否かを判定する（Ｓ３６）。高解像度印刷が要求されているか否かは、例えば、印刷ページ中に含まれるイメージデータの解像度によって判定することができる。また、ユーザーが印刷の仕上がり具合を特に要求した場合には、高解像度印刷が要求されたとして判定することができる。高解像度の印刷が要求された場合には、高解像度の印刷装置を抽出し（Ｓ３７）、高解像度印刷が要求されていない場合には、低解像度の印刷装置を抽出する（Ｓ３８）。印刷解像度の高低を判別するための基準値を用意しておくことにより、高解像度の印刷装置であるか否かを判定することができる。
　【００６７】
　Ｓ３９では、高速印刷が要求されているか否かを判定する。高速印刷要求の有無は、ユーザーによる指示に基づいて知ることができる。また、ユーザーの指示が無い場合は、初期値として高速印刷をセットしておくことができる。高速印刷を行う場合は、印刷速度の速い印刷装置を抽出し（Ｓ４０）、高速印刷を行わない場合は、印刷速度の低い印刷装置、即ち、高速印刷不能な印刷装置を抽出する（Ｓ４１）。高速印刷装置であるか否かの判定は、例えば、所定の基準値を用意することにより行うことができる。
　【００６８】
　Ｓ４２では、印刷装置側のフォントを使用するか否かを判定する。印刷データ生成装置２１からの印刷データがプリンタフォントを利用する場合は、所定のフォントを搭載した印刷装置を選定する必要がある。そこで、プリンタフォントを使用すると判定した場合には、所定のフォントを搭載した印刷装置を抽出し（Ｓ４３）、プリンタフォントを使用しないと判定した場合には、全ての印刷装置を抽出する（Ｓ４４）。
　【００６９】
　次に、図８のＳ４５では、印刷方式の指定があるか否かを判定する。即ち、ユーザーが希望の印刷方式を指定しているか否かを判定する。ユーザーによる印刷方式の指定がある場合には、この指定された印刷方式の印刷装置のみが抽出され（Ｓ４６）、ユーザーによる印刷方式の指定が無い場合には、全ての印刷装置が抽出される（Ｓ４７）。
　【００７０】
　そして、Ｓ４８では、印刷色や印刷解像度等の各条件を満足させる印刷装置が存在するか否かを判定する。条件を満たす印刷装置が残った場合には、この印刷装置を印刷ページに割り当てる（Ｓ４９）。全ての条件を満たす印刷装置が存在しない場合は、エラー処理を行う（Ｓ５０）。このエラー処理は、例えば、満たされない条件を画面に表示することにより行われる。また、条件の変更によって選択可能な印刷装置を列挙することも可能である。
　【００７１】
　そして、ドキュメントの全印刷ページについて印刷装置の選定が終了したか否かを判定し（Ｓ５１）、全印刷ページについて最適な印刷装置の選定が終了した場合には、印刷ページを各印刷装置毎に仕分けして記憶する（Ｓ５２）。印刷装置の選定が終了していない印刷ページがある間は、カウンタ値Ｐを１ずつインクリメントし、前記Ｓ３２に戻る。
　【００７２】
　なお、カラー印刷では無い場合、高解像度印刷では無い場合、高速印刷では無い場合は、それぞれモノクロ印刷の印刷装置、低解像度の印刷装置、印刷速度の低い印刷装置を抽出するものとして述べたが、本発明はこれに限らない。例えば、カラー印刷では無い場合は、全ての印刷装置を抽出してもよい。機能上、カラー印刷は、モノクロ印刷をカバーしているからである。同様に、高速印刷可能な印刷装置は、低速の印刷装置をカバーできる。しかし、各印刷装置の性能を十分に発揮させるためには、各性能毎に印刷装置を選定した方が好ましい。即ち、例えば、モノクロ印刷の場合にカラー印刷装置まで抽出する構成とすると、カラー印刷装置が選定される機会が増し、特定の印刷装置に印刷ジョブが集中する可能性を生じるためである。
　【００７３】
　次に、上述した選定処理で用いられる判定用テーブルについて、図９を参照しつつ説明する。この判定用テーブルの基本構成は、図３（ａ）に示す装置状態管理テーブル３１と同様である。
　【００７４】
　印刷色や印刷解像度等の各印刷属性情報を満たす印刷装置には、該当する項目に「１」がそれぞれセットされ、印刷属性情報を満たさない場合は、該当する項目に「０」がそれぞれセットされる。従って、全ての項目に「１」がセットされた印刷装置は、印刷ページの印刷に最適な印刷装置として選定される。図９に示す例では、全ての項目に「１」がセットされた印刷装置ＰＲ３が印刷に最適な印刷装置として選定される。
　【００７５】
　装置状態管理テーブル３１のテーブル構成を利用した判定用テーブルを用いることにより、最適な印刷装置を速やかに選定することができる。また、印刷属性情報毎に判定結果を保持できるため、印刷属性情報の変更（印刷条件の変更）によって選定可能な印刷装置を容易に検出することができる。
　【００７６】
１−３−４　印刷データ生成処理
　次に、図５中のＳ１８に示す印刷データ生成処理について、図１０のフローチャートに基づき説明する。本印刷データ生成処理では、選定された各印刷装置毎に印刷データを生成する。
　【００７７】
　まず、選定された印刷装置を指定するためのカウント値ＣＰＲを「１」にセットし（Ｓ６１）、これにより指定された印刷装置で印刷すべき印刷ページを全て読み込む（Ｓ６２）。
　【００７８】
　次に、指定された印刷装置に対応したプリンタドライバ２４を設定する（Ｓ６３）。即ち、コアドライバ２４Ａは、印刷装置が要求する実行モジュール２４Ｂを呼び出してメモリにロードすることにより、最適なプリンタドライバ２４を構成する。なお、コアドライバ２４Ａによるプリンタドライバ２４の構成については、図１１と共に後述する。但し、本発明は、これに限定されない。例えば、通常のプリンタドライバを読み出して設定してもよく、あるいは、印刷装置から必要なプリンタドライバを転送させる構成でもよい。
　【００７９】
　このように設定されたプリンタドライバ２４によって、印刷データを生成する（Ｓ５４）。つまり、印刷装置に対応付けられた全ての印刷ページを、該印刷装置で解釈可能な形式のデータに変換する。なお、ページ番号を印刷する場合、このページ番号は、最初のドキュメントで定められたページ番号と一致するように印刷データが生成される。そして、生成された印刷データは、記憶部２７に記憶される（Ｓ６５）。
　【００８０】
　次に、印刷すべき印刷装置がまだ残っているか否か、即ち、選定された印刷装置の全てについて印刷データを生成したか否かを判定する（Ｓ６６）。印刷データを生成していない印刷装置が残っている場合には、Ｓ６６では「ＹＥＳ」と判定され、カウント値ＣＰＲをインクリメントすることにより、次の印刷装置を指定する（Ｓ６７）。これにより、前記Ｓ６２〜Ｓ６６の処理が繰り返され、選択された全ての印刷装置について印刷データが生成され、記憶される。
　【００８１】
１−３−５　ドライバ設定処理
　次に、図１１は、コアドライバ２４Ａによるドライバ設定処理を示すフローチャートである。
　【００８２】
　まず、コアドライバ２４Ａは、選定された印刷装置を検索キーとしてモジュール構成情報管理テーブル３２を参照し（Ｓ７１）、該印刷装置のモジュール構成情報によって要求された各実行モジュールの全てが記憶部３０の実行モジュール群３３に記憶されているか否かを判定する（Ｓ７２）。必要な全ての実行モジュールが実行モジュール群３３に登録されている場合には、モジュール構成情報で指示された実行モジュールを実行モジュール群３３から読み出してメモリにロードする（Ｓ７３）。
　【００８３】
　一方、必要な実行モジュールの全部または一部を実行モジュール群３３が備えていない場合は、前記Ｓ７２で「ＮＯ」と判定される。そこで、ネットワーク上の資源を検索することにより、実行モジュール群３３に欠けている実行モジュールを検出する（Ｓ７３）。具体的には、例えば、印刷装置４１に対して実行モジュールの有無を問い合わせ、印刷装置４１が実行モジュールを有している場合には、その実行モジュールの転送を要求する。そして、ネットワーク上で発見された実行モジュールは、メモリにロードされる（Ｓ７５）。
　【００８４】
　そして、モジュール構成情報によって指示された全ての実行モジュールがメモリにロードされたか否かを判定し（Ｓ７６）、ロードされていない実行モジュールが存在する場合には、Ｓ７３に戻る。このようにして、必要な全ての実行モジュールのロードを完了すると、選定された印刷装置に最適なプリンタドライバ２４が構成される。
　【００８５】
　このように構成される本実施の形態によれば、以下の効果を奏する。
　【００８６】
　第１に、各印刷ページ毎に印刷に適した印刷装置を選定し、該各印刷装置に応じた印刷データ生成手段を設定する構成のため、ユーザー自らが印刷に適した印刷装置を選定する必要がなく、使い勝手が大幅に向上する。
　【００８７】
　第２に、印刷内容を印刷属性情報に基づいて仕分けし、仕分けされた各印刷ページ群毎に最適な印刷装置で印刷させる構成のため、印刷内容に最適な印刷物を得ることができ、印刷効率も向上する。即ち、従来技術では、ドキュメントの一部にカラーデータが含まれている場合、残りの大部分がモノクロデータであっても、カラー印刷装置が選択される。しかし、カラー印刷装置に固有の機能が発揮されるのは、カラーデータを含むページだけである。従って、残りのモノクロデータのページについては、いわゆるオーバースペックとなり、印刷資源を無駄に消費することになる。また、カラーデータを部分的に含むドキュメントの全てが特定の印刷装置に集中するため、ネットワーク全体の印刷効率が低下する。
　【００８８】
　これに対し、本実施の形態では、印刷内容を仕分けして最適な印刷装置で印刷させる構成のため、各印刷装置の機能を十分に利用することができ、印刷負荷を分散させてネットワーク上の印刷装置を効率的に利用することができる。
　【００８９】
　第３に、必要な実行モジュールをコアドライバ２４Ａが呼び出すことにより、選択された印刷装置４１に適したプリンタドライバ２４を構成するため、予め印刷装置と専用のプリンタドライバとを個々に対応付ける必要がなく、操作性や使い勝手が大幅に向上する。つまり、コアドライバ２４Ａ自体は、プリンタドライバとしての実体を備えていないため、ネットワークに接続された複数の印刷装置に対してコアドライバ２４Ａを共通に割り当てることができる。従って、ユーザーは、従来技術のように、各印刷装置毎に専用のプリンタドライバを割り当てるという煩雑な準備作業から解放される。換言すれば、コアドライバ２４Ａは、印刷データ生成機能上の実体を持たないダミーのプリンタドライバであり、このダミーのコアドライバ２４Ａを介在させることにより、ドライバ設定作業を階層化して、煩雑な設定作業を省略することができる。これは、例えば、米国マイクロソフト社が開発したＯＬＥ（Ｏｂｊｅｃｔ　Ｌｉｎｋｉｎｇ　ａｎｄ　Ｅｍｂｅｄｄｉｎｇ）技術を使用することにより実現可能である。この場合、コアドライバ２４Ａは、ＯＬＥクライアントアプリケーションとなり、各種実行モジュールはＯＬＥサーバアプリケーションとなる。
　【００９０】
　第４に、各印刷機能をそれぞれ利用するための実行モジュールを適宜結合させることにより、最適なプリンタドライバ２４を構成するため、一部の実行モジュールを入れ替えるだけで各印刷装置に適したプリンタドライバ２４を得ることが可能となる。即ち、一方の印刷装置と他方の印刷装置とによって共有される実行モジュールの数が多くなればなるほど、各印刷装置用のプリンタドライバ２４を切り換える時間が短くなる。従って、印刷内容を複数の印刷ページ群に仕分けした場合でも、最適なプリンタドライバ２４を速やかに得ることができる。
　【００９１】
　第５に、ユーザーによって入力される指定情報と印刷内容（ドキュメントの内容）とに基づいて印刷属性情報を検出するため、印刷速度や印刷の仕上がり具合等を考慮して最適な印刷を行うことができる。
　【００９２】
　一般的には、印刷速度は速ければ速いほどよく、印刷の仕上がり具合もきれいである方が好ましいと考えられる。しかし、ユーザーの事情によっては、「仕上がりが多少悪くても印刷速度を優先する」等の要求が生じる場合もある。このような具体的な要求は、印刷内容の解析では得られない。そこで、本実施の形態では、印刷内容に加えて指定情報も解析することにより、最適な印刷装置を選定している。
　【００９３】
２．第２の実施の形態
　次に、図１２に基づいて本発明の第２の実施の形態を説明する。なお、以下の各実施の形態では、上述した第１の実施の形態と同一の構成要素に同一の符号を付し、その説明を省略するものとする。本実施の形態の特徴は、印刷時間のかかる印刷データは、先行して送信するようにした点にある。
　【００９４】
　図１２は、本実施の形態による全体処理を示すフローチャートである。Ｓ１１〜Ｓ１８までは、図５に示すフローチャートと同一の処理を行うため、説明を省略し、本実施の形態に特徴的なＳ８１〜Ｓ８３を説明する。
　【００９５】
　まず、印刷データが生成されると（Ｓ１８）、該印刷データ中にカラー印刷データが含まれているか否かを判定し（Ｓ８１）、カラー印刷データが含まれている場合には、カラー印刷データを先行して送信する（Ｓ８２）。次に、残りの印刷データを選定された印刷装置に送信する（Ｓ８３）。カラー印刷データが含まれていない場合は、Ｓ８２はスキップされる。
　【００９６】
　従って、本実施の形態によれば、カラー印刷装置で印刷すべきカラー印刷データが先行して送信されるため、印刷時間の長いデータの印刷を先に開始させることができ、印刷終了時刻の差異を少なくすることができる。なお、カラー、モノクロに限らず、例えば、印刷解像度の高いイメージデータが存在する場合には、該イメージデータを先に送信することもできる。また、印刷データを生成する場合に、カラー印刷装置で印刷されるべきページを先行して印刷データに変換することもできる。
　【００９７】
３．第３の実施の形態
　次に、図１３に基づいて本発明の第３の実施の形態を説明する。本実施の形態の特徴は、各印刷ページ毎に印刷データを生成し、印刷データを生成した後で各印刷装置毎に分類、仕分けを行う点にある。
　【００９８】
　図１３は、本実施の形態に係る印刷データ生成処理を示すフローチャートであって、最初に、ページ数を指定するカウント値Ｐに「１」をセットし、第１ページ目から処理を開始する（Ｓ９１）。
　【００９９】
　次に、指定された印刷ページのデータを読込み（Ｓ９２）、該ページに選定された印刷装置に対応するプリンタドライバ２４を設定する（Ｓ９３）。これにより、印刷データを生成し（Ｓ９４）、記憶部２７に記憶させる（Ｓ９５）。
　【０１００】
　そして、全ての印刷ページについて印刷データを生成したか否かを判定し（Ｓ９６）、印刷データの生成を完了していない場合は、カウント値Ｐをインクリメントして（Ｓ９７）、前記Ｓ９２に戻る。
　【０１０１】
　全ての印刷ページについて印刷データを生成した場合には、各印刷装置毎に印刷データを仕分けして連結し、それぞれのファイルを形成する（Ｓ９８）。
　【０１０２】
　このように構成される本実施の形態でも、前記各実施の形態と同様の効果を得ることができる。但し、例えば、カラー印刷ページとモノクロ印刷ページとが交互に現れるドキュメントの場合は、プリンタドライバ２４の切換時間の分だけ処理が遅くなる可能性はある。
　【０１０３】
　なお、当業者であれば、各実施の形態に記載された本発明の要旨の範囲内で種々の追加、変更等が可能である。
　【０１０４】
　また、例えば、図２中に示すように、記録媒体ＭＭに本発明を実現するためのプログラム等を記録しておき、この記録内容を印刷データ生成装置にロードすることもできる。記録媒体ＭＭとしては、例えば、フロッピーディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、メモリカード等の有形的記録媒体のほかに、通信回線を用いてダウンロードする等の通信媒体を含めることができる。なお、印刷装置側も同様に、所定のプログラムを記録した記録媒体を用いてロードすることにより本発明を実現することができる。
　【０１０５】
　【発明の効果】
　以上説明した通り、本発明に係る印刷データ生成装置及び印刷データ生成方法によれば、印刷内容の各印刷ページ毎に最適な印刷装置を選定し、印刷データを生成するため、ユーザーが最適な印刷装置を選択する手間が省け、使い勝手が向上する。また、各印刷装置の機能、性能を十分に利用することができ、印刷効率を向上させることができる。
　【０１０６】
　さらに、必要な実行モジュールを呼び出すことにより印刷データ生成手段を設定するため、煩雑な設定作業を行わずに選択された印刷装置に適した印刷データ生成手段を得ることができる。
【図面の簡単な説明】
　【図１】
　本発明の機能構成を説明するための機能ブロック図である。
　【図２】
　本発明の第１の実施の形態に係る印刷システムのブロック図である。
　【図３】
　（ａ）は装置状態管理テーブルの構成を示す説明図であり、（ｂ）はモジュール構成情報管理テーブルの構成を示す説明図である。
　【図４】
　各テーブルの構成方法を示すフローチャートである。
　【図５】
　全体処理を示すフローチャートである。
　【図６】
　（ａ）はユーザーによる印刷方法の指定入力の画面を示す説明図であり、（ｂ）は選定結果についてユーザーの承認を求めるための画面を示す説明図である。
　【図７】
　各印刷ページ毎に最適な印刷装置を選定するための選定処理を示すフローチャートである。
　【図８】
　図７に続く選定処理のフローチャートである。
　【図９】
　選定処理で用いられる判定用テーブルを示す説明図である。
　【図１０】
　印刷データ生成処理を示すフローチャートである。
　【図１１】
　ドライバ設定処理を示すフローチャートである。
　【図１２】
　本発明の第２の実施の形態に係り、全体処理を示すフローチャートである。
　【図１３】
　本発明の第３の実施の形態に係り、印刷データ生成処理を示すフローチャートである。
　【符号の説明】
　１　印刷データ生成装置
　２　印刷データ生成手段
　３　検出手段
　４　装置状態管理テーブル
　５　選定手段
　６　設定手段
　７　実行モジュール
　８　モジュール構成情報管理テーブル
　９　モジュール呼び出し手段
　１１ａ〜１１ｃ　印刷装置
　２１　印刷データ生成装置
　２４　プリンタドライバ
　２４Ａ　コアドライバ
　２４Ｂ　実行モジュール
　３１　装置状態管理テーブル
　３２　モジュール構成情報管理テーブル
　３３　実行モジュール群
　４１　印刷装置