(57)【要約】【課題】  印刷要求に含まれている識別情報と機器内部における識別情報との変換器能について、保守性を高めることのできる印刷装置の提供を目的とする。【解決手段】  当該印刷装置に装着可能な所定の部品を識別するための情報として、前記印刷要求において用いられる第一の識別情報と、当該印刷装置内において用いられる第二の識別情報との第一の対応情報が記録された記憶手段と、当該印刷装置に装着されている前記所定の部品に対する前記第二の識別情報を取得する機器情報取得手段と、前記第一の対応情報と、機器情報取得手段によって取得された情報とに基づいて、当該印刷装置に装着されている前記所定の部品の第一の識別情報と第二の識別情報との第二の対応情報を所定の記憶領域に生成する対応情報生成手段と、第二の対応情報に基づいて、第一の識別情報を第二の識別情報に変換する識別情報変換手段とを有することにより上記課題を解決する。【選択図】  図１
2006218820.tif 000002
【特許請求の範囲】
【請求項１】
印刷要求に応じて印刷処理を実行する印刷装置であって、
当該印刷装置に装着可能な所定の部品を識別するための情報として、前記印刷要求において用いられる第一の識別情報と、当該印刷装置内において用いられる第二の識別情報との第一の対応情報が記録された記憶手段と、
当該印刷装置に装着されている前記所定の部品に対する前記第二の識別情報を取得する機器情報取得手段と、
前記第一の対応情報と、前記機器情報取得手段によって取得された情報とに基づいて、当該印刷装置に装着されている前記所定の部品の前記第一の識別情報と前記第二の識別情報との第二の対応情報を所定の記憶領域に生成する対応情報生成手段と、
前記第二の対応情報に基づいて、前記印刷要求における前記第一の識別情報を前記第二の識別情報に変換する識別情報変換手段とを有し、
前記識別情報変換手段によって変換された前記第二の識別情報に基づいて、前記印刷要求に応じた印刷処理を実行することを特徴とする印刷装置。
【請求項２】
前記第一の識別情報及び前記第二の識別情報の値、又は少なくともいずれか一方の値は、前記印刷装置の機種に応じて定められることを特徴とする請求項１記載の印刷装置。
【請求項３】
前記対応情報生成手段は、前記第二の対応情報として、
前記第一の識別情報と、前記識別情報変換手段が前記所定の部品を識別するための第三の識別情報との第三の対応情報と、
前記第二の識別情報と、前記第三の識別情報との第四の対応情報とを生成することを特徴とする請求項１又は２記載の印刷装置。
【請求項４】
前記対応情報生成手段は、前記第一識別情報に対して順番に符号を割り当て、該順番に割り当てた符号を前記第三の識別情報とすることを特徴とする請求項３記載の印刷装置。
【請求項５】
前記所定の部品は、トレイであることを特徴とする請求項１乃至４いずれか一項記載の印刷装置。
【請求項６】
前記記憶手段には、当該印刷装置に装着可能な各トレイに対して所定の優先度が定義された優先度情報が記録されており、
前記第二の対応情報と前記優先度情報とに基づいて、当該印刷装置に装着されている各トレイに対して順番を割り当てるトレイ順生成手段を有し、
前記印刷要求に対応可能なトレイが複数ある場合は、前記順番に基づいて印刷処理に用いるトレイを決定することを特徴とする請求項５記載の印刷装置。
【請求項７】
前記識別情報変換手段は、前記印刷要求を解析するインタプリタであることを特徴とする請求項１乃至６いずれか一項記載の印刷装置。
【請求項８】
前記インタプリンタは、前記印刷要求に含まれているＰＪＬ又はＰＤＬによる記述を解析することにより当該印刷装置に印刷処理を実行させることを特徴とする請求項７記載の印刷装置。
【請求項９】
印刷要求に応じて印刷処理を実行する印刷装置における印刷要求処理方法であって、
当該印刷装置に装着可能な所定の部品を識別するための情報として、前記印刷要求において用いられる第一の識別情報と、当該印刷装置内において用いられる第二の識別情報との第一の対応情報が記録された記憶手段より前記第一の対応情報を取得する対応情報取得手順と、
当該印刷装置に装着されている前記所定の部品に対する前記第二の識別情報を取得する機器情報取得手順と、
前記対応情報取得手順において取得された前記第一の対応情報と、前記機器情報取得手順において取得された情報とに基づいて、当該印刷装置に装着されている前記所定の部品の前記第一の識別情報と前記第二の識別情報との第二の対応情報を所定の記憶領域に生成する対応情報生成手順と、
前記第二の対応情報に基づいて、前記印刷要求における前記第一の識別情報を前記第二の識別情報に変換する識別情報変換手順と、
前記識別情報変換手順において変換された前記第二の識別情報に基づいて、前記印刷要求に応じた印刷処理を実行する印刷手順とを有することを特徴とする印刷要求処理方法。
【請求項１０】
前記第一の識別情報及び前記第二の識別情報の値、又は少なくともいずれか一方の値は、前記印刷装置の機種に応じて定められることを特徴とする請求項９記載の印刷要求処理方法。
【請求項１１】
前記対応情報生成手順は、前記第二の対応情報として、
前記第一の識別情報と、前記識別情報変換手順において前記所定の部品を識別するための第三の識別情報との第三の対応情報と、
前記第二の識別情報と、前記第三の識別情報との第四の対応情報とを生成することを特徴とする請求項９又は１０記載の印刷要求処理方法。
【請求項１２】
前記対応情報生成手順は、前記第一識別情報に対して順番に符号を割り当て、該順番に割り当てた符号を前記第三の識別情報とすることを特徴とする請求項１１記載の印刷要求処理方法。
【請求項１３】
前記所定の部品は、トレイであることを特徴とする請求項９乃至１２いずれか一項記載の印刷要求処理方法。
【請求項１４】
前記記憶手段より、当該印刷装置に装着可能な各トレイに対して所定の優先度が定義された優先度情報を取得する優先度情報取得手順と、
前記第二の対応情報と前記優先度情報とに基づいて、当該印刷装置に装着されている各トレイに対して順番を割り当てるトレイ順生成手順とを有し、
前記印刷要求に対応可能なトレイが複数ある場合は、前記順番に基づいて印刷処理に用いるトレイを決定することを特徴とする請求項１３記載の印刷要求処理方法。
【請求項１５】
前記識別情報変換手順は、前記印刷要求を解析するインタプリタによって実行されることを特徴とする請求項９乃至１４いずれか一項記載の印刷要求処理方法。
【請求項１６】
前記インタプリンタは、前記印刷要求に含まれているＰＪＬ又はＰＤＬによる記述を解析することにより前記印刷装置に印刷処理を実行させることを特徴とする請求項１５記載の印刷要求処理方法。
【請求項１７】
印刷装置に、印刷要求に応じて印刷処理を実行させる印刷要求処理プログラムであって、
当該印刷装置に装着可能な所定の部品を識別するための情報として、前記印刷要求において用いられる第一の識別情報と、当該印刷装置内において用いられる第二の識別情報との第一の対応情報が記録された記憶手段より前記第一の対応情報を取得する対応情報取得手順と、
当該印刷装置に装着されている前記所定の部品に対する前記第二の識別情報を取得する機器情報取得手順と、
前記対応情報取得手順において取得された前記第一の対応情報と、前記機器情報取得手順において取得された情報とに基づいて、当該印刷装置に装着されている前記所定の部品の前記第一の識別情報と前記第二の識別情報との第二の対応情報を所定の記憶領域に生成する対応情報生成手順と、
前記第二の対応情報に基づいて、前記印刷要求における前記第一の識別情報を前記第二の識別情報に変換する識別情報変換手順と、
前記識別情報変換手順において変換された前記第二の識別情報に基づいて、前記印刷要求に応じた印刷処理を実行させる印刷手順とを有することを特徴とする印刷要求処理プログラム。
【請求項１８】
前記第一の識別情報及び前記第二の識別情報の値、又は少なくともいずれか一方の値は、前記印刷装置の機種に応じて定められることを特徴とする請求項１７記載の印刷要求処理プログラム。
【請求項１９】
前記対応情報生成手順は、前記第二の対応情報として、
前記第一の識別情報と、当該印刷要求処理プログラムが前記所定の部品を識別するための第三の識別情報との第三の対応情報と、
前記第二の識別情報と、前記第三の識別情報との第四の対応情報とを生成することを特徴とする請求項１７又は１８記載の印刷要求処理プログラム。
【請求項２０】
前記対応情報生成手順は、前記第一識別情報に対して順番に符号を割り当て、該順番に割り当てた符号を前記第三の識別情報とすることを特徴とする請求項１９記載の印刷要求処理プログラム。
【請求項２１】
前記所定の部品は、トレイであることを特徴とする請求項１７乃至２０いずれか一項記載の印刷要求処理プログラム。
【請求項２２】
前記記憶手段より、当該印刷装置に装着可能な各トレイに対して所定の優先度が定義された優先度情報を取得する優先度情報取得手順と、
前記第二の対応情報と前記優先度情報とに基づいて、当該印刷装置に装着されている各トレイに対して順番を割り当てるトレイ順生成手順とを有し、
前記印刷要求に対応可能なトレイが複数ある場合は、前記順番に基づいて印刷処理に用いるトレイを決定することを特徴とする請求項２１記載の印刷要求処理プログラム。
【請求項２３】
前記印刷要求処理プログラムは、前記印刷要求を解析するインタプリタであることを特徴とする請求項１７乃至２２いずれか一項記載の印刷要求処理プログラム。
【請求項２４】
前記印刷要求に含まれているＰＪＬ又はＰＤＬによる記述を解析することにより前記印刷装置に印刷処理を実行させることを特徴とする請求項２３記載の印刷要求処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置、印刷要求処理方法及び印刷要求処理プログラムに関し、特に印刷要求に応じて印刷処理を実行する印刷装置、印刷要求処理方法及び印刷要求処理プログラムに関する。
【背景技術】
【０００２】
エンドユーザがＰＣ（Personal Computer）等においてアプリケーション（ワープロソフトや表計算ソフト等）から印刷を指示すると、プリンタドライバによってＰＪＬ（Printer Job Language）やＰＤＬ（Page Description Language）といった、プリンタが解釈可能な言語で印刷要求が生成される。印刷要求には、印刷イメージを生成するための描画情報のみならず、印刷部数や、用紙サイズ、紙種又は給紙トレイの指定等の情報も含まれている。プリンタは、かかる印刷要求を受信し、印刷要求における記述内容をインタプリンタと呼ばれるプログラムモジュールによって解釈することで、印刷要求に応じた印刷処理を実現する。
【０００３】
但し、プリンタにおける特定の部品（例えば、給紙トレイ）を識別するための情報として、印刷要求無いにおいて用いられるＩＤと、プリンタ内において用いられるＩＤとは必ずしも一致しない。すなわち、印刷要求において給紙トレイを指定するためのＩＤは、ＰＪＬやＰＤＬの言語仕様に従って定められているところ、プリンタ内において各給紙トレイを識別するためのＩＤは、ＰＪＬやＰＤＬとは関係なく割り当てられてからである。
【０００４】
したがって、プリンタは、印刷要求の受信に応じて、当該印刷要求をプリンタ内で解釈するためのＩＤの変換処理を行う必要がある。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来、印刷要求におけるＩＤ（以下「言語仕様ＩＤ」という。）をプリンタ内におけるＩＤ（以下「機器ＩＤ」という。）に変換するための情報（例えばＩＤの対応表）は、インタプリタのようなプログラムモジュールにハードコーディングされている等、プリンタ内のプログラムモジュールとの結合度が高かった。
【０００６】
したがって、新機種対応等におけるプリンタの仕様変更において、インタプリンタの機能そのものについては改変が必要ない場合であっても、インタプリンタのソースコードの修正や、再コンパイル等が必要とされるという問題があった。
【０００７】
また、フルスペックの状態（例えば、プリンタの性能上装着可能な全ての給紙トレイが装着されている状態）においてプリンタが利用されるということはほとんど無いにもかかわらず、実際に利用されるスペックは、出荷時には不明であるため、ＩＤの対応表は、フルスペックの状態に対応して保持しておく必要がある。しかし、フルスペック分の情報がプログラムモジュールにハードコーディングされていると、プログラムがロードされるＲＡＭの領域を圧迫するだけでなく、検索速度の低下を招くという問題もあった。
【０００８】
本発明は、上記の点に鑑みてなされたものであって、印刷要求に含まれている識別情報と機器内部における識別情報との変換器能について、保守性を高めることのできる印刷装置、印刷要求処理方法及び印刷要求処理プログラムの提供を目的とする。
【課題を解決するための手段】
【０００９】
そこで上記課題を解決するため、本発明は、請求項１に記載されるように、印刷要求に応じて印刷処理を実行する印刷装置であって、当該印刷装置に装着可能な所定の部品を識別するための情報として、前記印刷要求において用いられる第一の識別情報と、当該印刷装置内において用いられる第二の識別情報との第一の対応情報が記録された記憶手段と、当該印刷装置に装着されている前記所定の部品に対する前記第二の識別情報を取得する機器情報取得手段と、前記第一の対応情報と、前記機器情報取得手段によって取得された情報とに基づいて、当該印刷装置に装着されている前記所定の部品の前記第一の識別情報と前記第二の識別情報との第二の対応情報を所定の記憶領域に生成する対応情報生成手段と、前記第二の対応情報に基づいて、前記印刷要求における前記第一の識別情報を前記第二の識別情報に変換する識別情報変換手段とを有し、前記識別情報変換手段によって変換された前記第二の識別情報に基づいて、前記印刷要求に応じた印刷処理を実行することを特徴とする。
【００１０】
このような印刷装置では、印刷装置における所定の部品を識別するためのＩＤとして、印刷要求において用いられるＩＤと、印刷装置内において用いられるＩＤとの対応情報（第二の対応情報）を実行時に生成することができる。したがって、印刷装置の仕様変更等が生じた場合であっても、ＲＯＭ等に記憶された第一の対応情報を変更すればよく、保守性の向上を図ることができる。
【００１１】
また、上記課題を解決するため、本発明は、上記印刷装置における印刷要求処理方法、又は前記印刷要求処理方法を前記印刷装置に実行させるための印刷要求処理プログラムとしてもよい。
【発明の効果】
【００１２】
本発明によれば、印刷要求に含まれている識別情報と機器内部における識別情報との変換器能について、保守性を高めることのできる印刷装置、印刷要求処理方法及び印刷要求処理プログラムを提供することができる。
【発明を実施するための最良の形態】
【００１３】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態におけるプリンタの機能構成例を示す図である。本実施の形態においては、プリンタ４００における給紙トレイの選択処理に焦点を当てて本願発明を説明する。したがって、図１においては、給紙トレイの選択処理に関する機能について示されている。なお、給紙トレイの選択処理とは、プリンタ４００が、印刷要求に応じて印刷処理を実行する際に、複数装着されている給紙トレイの中からいずれの給紙トレイを給紙先とするかを決定する処理をいう。
【００１４】
図１において、プリンタ４００は、プリンタコントローラ２００と、外部テーブル４０１と、プリンタ機器制御部４０２とを有する。
【００１５】
外部テーブル４０１は、プリンタ４００の出荷時等においてＲＯＭ等に記録されるテーブルであり、機器ＩＤ・言語仕様ＩＤ対応外部テーブルと、トレイ優先度テーブルとから構成される。なお、「外部」とは、外部テーブル４０１が、インタプリタ１００やプリンタデバイス管理部３００のソースコードの外部に実装されているところから来ている。すなわち、プリンタ４００においては、従来、インタプリタ１００等のソースコードにおいて実装されていた情報が、外部に分離されたというわけである。
【００１６】
図２は、機器ＩＤ・言語仕様ＩＤ対応外部テーブルの構成例を示す図である。図２に示されるように、機器ＩＤ・言語仕様ＩＤ対応外部テーブル４０１ａには、プリンタ４００に装着可能な各給紙トレイのトレイ機器ＩＤとトレイ言語仕様ＩＤとの対応付け（第一の対応情報）が定義されている。トレイ機器ＩＤとは、プリンタ４００内部において各給紙トレイを識別するためのＩＤ（第二の識別情報）である。一方、トレイ言語仕様ＩＤとは、ホストコンピュータ６００から送信される印刷要求において、各給紙トレイを識別するために用いられるＩＤ（第一の識別情報）である。なお、プリンタ４００に装着可能な各給紙トレイとは、プリンタ４００の仕様上、フルスペックの状態における各給紙トレイを意味する。
【００１７】
すなわち、ホストコンピュータ６００からの印刷要求は、ＰＪＬやＰＤＬといわれる言語によって記述されているのが一般的であるが、これらの言語において各給紙先トレイを識別するためのＩＤ（すなわち、トレイ言語仕様ＩＤ）と、プリンタ４００内部において各給紙先トレイを識別するためのＩＤ（すなわち、トレイ機器ＩＤ）との値は、必ずしも一致しない。そこで、印刷要求における給紙トレイの指定をプリンタ４００内部で正しく解釈するために、機器ＩＤ・言語仕様ＩＤ対応外部テーブル４０１ａが必要とされるのである。
【００１８】
なお、機器ＩＤの値は、プリンタ４００の機種に応じて定められるのが一般的である。また、言語仕様ＩＤの値についても、プリンタ４００の機種に応じて定められるのが一般的である。したがって、機器ＩＤ・言語使用ＩＤ対応外部テーブル４０１ａの内容は、プリンタ４００の機種ごとに異なるものになり得る。
【００１９】
また、図３は、トレイ優先度テーブルの構成例を示す図である。図３に示されるように、トレイ優先度テーブル４０１ｂは、プリンタ４００に装着可能な各給紙トレイの優先度が定義されたテーブルである。ここで、優先度とは、印刷要求に対応可能な給紙トレイが複数存在する場合に、いずれを優先的に利用するかを決めるための情報をいう。但し、各トレイは、縦又は横に向きを変更することが可能であるため、トレイ優先度テーブル４０１ｂでは、縦横の向きの別をも考慮して優先度が付けられている。なお、トレイ優先度テーブル４０１ｂにおいて、各トレイは、トレイ言語仕様ＩＤによって識別されている。
【００２０】
図１に戻る。プリンタコントローラ２００は、インタプリタ１００とプリンタデバイス管理部３００とを有する。
【００２１】
インタプリタ１００は、ホストコンピュータ６００より送信される印刷要求に含まれている、ＰＪＬやＰＤＬ等によって記述されたデータ（以下「印刷データ」という。）を解析し、解析結果に基づいて印刷ジョブの制御を行うプログラムモジュールであり、印刷データ解析処理部１０１、給紙先決定処理部１０２、給紙先比較処理部１０３、及びテーブル生成・管理部１０４等より構成されている。
【００２２】
テーブル生成・管理部１０４は、プリンタ４００の起動時に、外部テーブル４０１等に基づいてＩＤ変換テーブル１０４１及び検索順テーブル１０４２をＲＡＭ上に生成し、管理するプログラムモジュールである。すなわち、ＩＤ変換テーブル１０４１及び検索順テーブル１０４２は、予めファイル等としてＲＯＭ上に存在する情報ではなく、例えば、配列等によってＲＡＭ上に構成される情報である。
【００２３】
ＩＤ変換テーブル１０４１は、プリンタ４００の起動時においてプリンタ４００に実際に装着されている給紙トレイのトレイ言語仕様ＩＤとトレイ機器ＩＤとを対応づけるための情報（第二の対応情報）であり、言語使用ＩＤ・インタプリタＩＤ対応テーブル（第三の対応情報）と、機器ＩＤ・インタプリタＩＤ対応テーブル（第四の対応情報）とから構成される。
【００２４】
図４は、言語使用ＩＤ・インタプリタＩＤ対応テーブルの構成例を示す図である。図４に示されるように、言語使用ＩＤ・インタプリタＩＤ対応テーブル１０４２ａは、プリンタ４００の起動時にプリンタ４００に装着されている各給紙トレイのトレイ言語仕様ＩＤとトレイインタプリンタＩＤとの対応付けを行っている。ここで、トレイインタプリタＩＤとは、インタプリンタ１００において、各給紙トレイを識別するためのＩＤをいう。
【００２５】
すなわち、図２の説明において、トレイ機器ＩＤは、プリンタ４００内部において各給紙トレイを識別するためのＩＤであると説明したが、厳密には、トレイ機器ＩＤは、プリンタデバイス管理部３００内において有効な情報であり、インタプリタ１００においては、インタプリタ１００内において有効なＩＤ（トレイインタプリタＩＤ）が各給紙トレイに割り当てられる。
【００２６】
したがって、インタプリタ１００が、印刷要求においてトレイ言語仕様ＩＤによって指定された給紙トレイを識別するための情報として、言語使用ＩＤ・インタプリタＩＤ対応テーブル１０４１ａが必要とされるのである。
【００２７】
図５は、機器ＩＤ・インタプリタＩＤ対応テーブルの構成例を示す図である。図５に示されるように、機器ＩＤ・インタプリタＩＤ対応テーブル１０４１ｂは、トレイ機器ＩＤとトレイインタプリタＩＤとの対応付けを行っている。したがって、言語使用ＩＤ・インタプリタＩＤ対応テーブル１０４２ａと機器ＩＤ・インタプリタＩＤ対応テーブル１０４１ｂとによって、トレイ言語仕様ＩＤ→トレイインタプリタＩＤ→トレイ機器ＩＤといった変換が可能となる。すなわち、トレイインタプリタＩＤを媒介として、トレイ言語仕様ＩＤとトレイ機器ＩＤとが間接的に対応付けられているというわけである。
【００２８】
図６は、検索順テーブルの構成例を示す図である。図６に示されるように、検索順テーブル１０４２は、プリンタ４００に実際に装着されている給紙トレイのトレイ機器ＩＤとトレイインタプリタＩＤとが検索順に並べられたテーブルである。ここで、検索順とは、印刷要求に対応できる給紙トレイが複数ある場合に、実際に利用する給紙トレイを選択するための順位をいう。
【００２９】
なお、図４及び図５においては、実際に装着されている給紙トレイについての各種ＩＤが抽出されているため、機器ＩＤ・言語使用ＩＤ対応外部テーブル４０１ａ（図２）に比べてその行数、すなわち情報量が少なくなっている。
【００３０】
図１に戻る。印刷データ解析処理部１０１は、印刷データの解析を行う機能である。例えば、印刷データ内における、給紙先トレイ、用紙サイズ、紙種等の指定の有無等を解析する。なお、印刷データ解析処理部１０１は、印刷データ内において、給紙先トレイの指定がされている場合は、当該給紙トレイのトレイ言語仕様ＩＤを言語使用ＩＤ・インタプリタＩＤ対応テーブル１０４１ａに基づいてトレイインタプリタＩＤに変換する。
【００３１】
給紙先比較処理部１０３は、印刷データ解析処理部１０１において解析された給紙トレイに関する情報の解析結果（給紙トレイ、用紙サイズ、紙種等の指定等）と、プリンタ４００に実際に装着されている各給紙トレイの情報とを比較することにより、印刷要求に対応できる給紙トレイ（以下「対応可能な給紙トレイ」という。）を判定し、対応可能な給紙トレイのトレイインタプリタＩＤを給紙先決定処理部１０２に通知する機能である。対応可能な給紙トレイが複数存在する場合は、検索順テーブル１０４２に基づいて、検索順が上位の給紙トレイのトレイインタプリタＩＤが給紙先決定処理部１０２に通知される。
【００３２】
給紙先決定処理部１０２は、給紙先比較処理部１０３より通知された対応可能な給紙トレイのトレイインタプリタＩＤを、機器ＩＤ・インタプリタＩＤ１０４１ｂに基づいてトレイ機器ＩＤに変換し、当該トレイ機器ＩＤをプリンタデバイス管理部３００の給紙先設定処理部３０１に通知する機能である。
【００３３】
プリンタデバイス管理部３００は、給紙トレイ等の部品を制御するためのインタフェースをインタプリタ１００に提供する、いわゆるドライバとしてのプログラムモジュールであり、給紙先設定処理部３０１、環境変数保存部３０２、及び機器情報取得部３０３等を有する。
【００３４】
給紙先設定処理部３０１は、給紙先決定処理部１０２より通知された対応可能な給紙トレイのトレイ機器ＩＤをプリンタ機器制御部４０２に設定する機能である。
【００３５】
環境変数保存部３０２は、印刷要求に含まれているトレイ指定や、パネル操作部５００より入力されたトレイ指定の内容が保存される変数（環境変数）が保存される領域である。機器情報取得部３０３は、実際に装着されている各給紙トレイの各種情報をプリンタ機器制御部４０２より取得し、インタプリタ１００に提供する機能である。
【００３６】
プリンタ機器制御部４０２は、給紙先設定処理部３０１から受信したトレイ機器ＩＤ等に基づき、ハードウェアを制御し、印刷を実行させる機能である。
【００３７】
以下、図１のプリンタ４００の処理手順について説明する。まず、プリンタ４００の起動時にテーブル生成・管理部１０４によって実行される、ＩＤ変換テーブル１０４１の生成処理を第一の実施の形態として説明する。
【００３８】
図７は、テーブル生成・管理部によるＩＤ変換テーブルの生成処理を説明するためのフローチャートである。図７の処理は、プリンタ４００の起動時等、少なくとも最初の印刷要求に対する処理が行われるまでに実行される。
【００３９】
まず、プリンタ４００に実際に装着されている給紙トレイの数を機器情報取得部３０３より取得し（Ｓ２１）、取得されたトレイ数で、機器ＩＤ・インタプリタＩＤ対応テーブル１０４１ｂ（図５）と、言語仕様ＩＤ・インタプリタＩＤ対応テーブル１０４１ａとのそれぞれの配列の領域をプリンタ４００のＲＡＭ上に確保する（Ｓ２２）。この処理によって、空の機器ＩＤ・インタプリタＩＤ対応テーブル１０４１ｂと、空の言語仕様ＩＤ・インタプリタＩＤ対応テーブル１０４１ａとが生成される。
【００４０】
続いて、実際に装着されている各給紙トレイのトレイ機器ＩＤを機器情報取得部３０３より取得し（Ｓ２３）、空の機器ＩＤ・インタプリタＩＤ対応テーブル１０４１ｂのトレイ機器ＩＤの列に各トレイ機器ＩＤを取得された順に登録すると共に、トレイインタプリタＩＤの列に、上から順（例えば、０から昇順）に番号を割り当てる（Ｓ２４）。すなわち、ここで順番に割り当てられた値がトレイインタプリタＩＤとされる。この時点で、機器ＩＤ・インタプリタＩＤ対応テーブル１０４１ｂは完成する。
【００４１】
このように、トレイインタプリタＩＤは、トレイ機器ＩＤやトレイ言語仕様ＩＤのような静的な又は絶対的な情報ではなく、装着されている給紙トレイに対して順番に割り当てられる動的な又は相対的な情報である。インタプリタ１００が、トレイ機器ＩＤではなく、動的なトレイインタプリタＩＤを用いることで、プリンタ４００の機種に対するインタプリタ１００の依存度を低下させることができ、各機種間でインタプリタ１００のソースコードの共通化を促進することができる。
【００４２】
続いて、完成した機器ＩＤ・インタプリタＩＤ対応テーブル１０４１ｂに登録されている各トレイ機器ＩＤに対応するトレイ言語仕様ＩＤを機器ＩＤ・言語仕様ＩＤ対応外部テーブル４０１ａ（図２）より取得すると共に、当該各トレイ機器ＩＤに対応するトレイインタプリタＩＤを機器ＩＤ・インタプリタＩＤ対応テーブル１０４１ｂより取得し、各トレイ言語仕様ＩＤと各トレイインタプリタＩＤとを言語仕様ＩＤ・インタプリタＩＤ対応テーブル１０４１ａ（図４）に登録することにより、言語仕様ＩＤ・インタプリタＩＤ対応テーブル１０４１ａを完成させる（Ｓ２５）。
【００４３】
次に、ＩＤ変換テーブル１０４１の生成後にテーブル生成・管理部１０４によって実行される、検索順テーブル１０４２の生成処理を第二の実施の形態として説明する。図８は、テーブル生成・管理部による検索順テーブルの生成処理を説明するためのフローチャートである。
【００４４】
ステップＳ３１からステップＳ４２までは、機器ＩＤ・インタプリタＩＤ対応テーブル１０４１ｂの行数分（トレイインタプリタＩＤの数分）のループ処理である。
【００４５】
まず、機器ＩＤ・インタプリタＩＤ対応テーブル１０４１ｂ（図５）よりトレイインタプリタＩＤを上から順に一つ取得し（Ｓ３２）、取得されたトレイインタプリタＩＤ（以下「カレントトレイインタプリタＩＤ」という。）に対応するトレイ言語仕様ＩＤ（以下「カレントトレイ言語仕様ＩＤ」という。）を言語使用ＩＤ・インタプリタＩＤ対応テーブル１０４１ａ（図５）より取得する（Ｓ３３）。
【００４６】
続いて、機器ＩＤ・インタプリタＩＤ対応テーブル１０４１ｂからトカレントトレイインタプリタＩＤに対応するレイ機器ＩＤ（以下「カレントトレイ機器ＩＤ」という。）を取得し（Ｓ３４）、カレントトレイ機器ＩＤに対応する給紙トレイ（以下「カレントトレイ」という。）の向きを機器情報取得部３０３より取得する（Ｓ３５）。ここで取得される情報は、実際に装着されている給紙トレイの向きである。
【００４７】
続いて、カレントトレイ言語仕様ＩＤとカレントトレイの向きとの組み合わせが、トレイ優先度テーブル４０１ｂに登録されているかを判定する（Ｓ３６）。登録されていない場合は、機器ＩＤ・インタプリタＩＤ対応テーブル１０４１ｂにおいて、カレントトレイインタプリタＩＤの次のトレイインタプリタＩＤをカレントトレイインタプリタＩＤとして、ステップＳ３２からの処理を実行する。
【００４８】
一方、カレントトレイ言語仕様ＩＤとカレントトレイの向きとの組み合わせが、トレイ優先度テーブル４０１ｂに登録されている場合は、トレイ優先度テーブル４０１ｂにおいて当該組み合わせが登録されている行（以下「トレイ優先度テーブル４０１ｂのカレント行」という。）の優先度を取得し、取得された優先度を検索順テーブル１０４２において、空の行の中で最も上の行（以下「検索順テーブル１０４２のカレント行」という。）の検索順の値として登録する（Ｓ３７）。
【００４９】
続いて、トレイ優先度テーブル４０１ｂのカレント行のトレイ言語仕様ＩＤに対応するトレイインタプリタＩＤを言語使用ＩＤ・インタプリタＩＤ対応テーブル１０４１ａより取得し（Ｓ３８）、取得されたトレイインタプリタＩＤを検索順テーブル１０４２のカレント行に登録する（Ｓ３９）。
【００５０】
続いて、ステップＳ３８で取得されたトレイインタプリタＩＤに対応するトレイ機器ＩＤを機器ＩＤ・インタプリタＩＤ対応テーブル１０４１ｂより取得し（Ｓ４０）、取得されたトレイ機器ＩＤを検索順テーブル１０４２のカレント行に登録する。
【００５１】
以上、ステップＳ３２からステップＳ４１までの処理が、機器ＩＤ・インタプリタＩＤ対応テーブル１０４１ｂにおける全てのトレイインタプリタＩＤについて終了すると、検索順テーブル１０４２の各行を、それぞれの優先度に応じてソートし、更に、各行の優先度の値を上の行から順に１から昇順に振りなおすことにより検索順とし、検索順テーブル１０４２を完成させる（Ｓ４３）。
【００５２】
次に、上記の処理によって生成されたＩＤ変換テーブル１０４１及び検索順テーブル１０４２の利用例を示すために、プリンタ４００において実行される給紙トレイの選択処理を第三の実施の形態として説明する。図９は、給紙トレイの選択処理を説明するためのフローチャートである。
【００５３】
ホストコンピュータ６００からの印刷要求が受信されると（Ｓ５１）、印刷データ解析処理部１０１は、印刷要求を解析し、解析結果を給紙先比較処理部１０３に通知する（Ｓ５２）。例えば、給紙トレイ、用紙サイズ、及び紙種等の指定が解析結果に含まれる。印刷要求において、トレイ言語仕様ＩＤによる給紙トレイの指定があった場合、印刷データ解析処理部１０１は、言語使用ＩＤ・インタプリタＩＤ対応テーブル１０４１ａ（図４）を参照して、トレイ言語仕様ＩＤをトレイインタプリタＩＤに変換し、当該トレイインタプリタＩＤを給紙先比較処理部１０３に通知する。なお、印刷要求に給紙トレイの指定がなかった場合、印刷データ解析処理部１０１は、環境変数保存部３０２に保存されている環境変数の値（トレイインタプリタＩＤ）を取得し、その値を給紙先比較処理部１０３に通知する。
【００５４】
続いて、給紙先比較処理部１０３は、プリンタ４００に装着されている各給紙トレイの情報（用紙サイズ、紙種等）を機器情報取得部３０３より取得する（Ｓ５３）。更に、取得された情報と、印刷データ解析処理部１０１による印刷要求の解析結果とを比較することにより、対応可能な給紙トレイを判定し、当該給紙トレイのトレイインタプリタＩＤを給紙先決定処理部１０２に通知する（Ｓ５４）。対応可能な給紙トレイが複数存在する場合、給紙先比較処理部１０３は、検索順テーブル１０４２に基づいて、検索順が上位の給紙トレイのトレイインタプリタＩＤを給紙先決定処理部１０２に通知する。
【００５５】
続いて、給紙先決定処理部１０２は、給紙先比較処理部１０３より通知された対応可能な給紙トレイのトレイインタプリタＩＤを、機器ＩＤ・インタプリタＩＤ１０４１ｂに基づいてトレイ機器ＩＤに変換し、当該トレイ機器ＩＤをプリンタデバイス管理部３０の給紙先設定処理部３０１に通知する（Ｓ５５）。
【００５６】
続いて、給紙先設定処理部３０１は、給紙先決定処理部１０２より通知された対応可能な給紙トレイのトレイ機器ＩＤをプリンタ機器制御部４０２に設定する（Ｓ５６）。その後、プリンタ機器制御部４０２に設定されたトレイ機器ＩＤに対応する給紙トレイを給紙先として印刷処理が実行される（Ｓ５７）。
【００５７】
上述したように、本実施の形態におけるプリンタ４００によれば、機種に依存する情報であるトレイ機器ＩＤとトレイ言語仕様ＩＤとの対応情報がインタプリタ１００やプリンタデバイス管理部３００の外部（外部テーブル４０１）に実装されているため、新機種対応の際等、当該対応表に変更の必要が生じた場合であっても、プログラムモジュールのソースコードの変更は不要となり保守性を高めることができる。また、異機種間でのソースの流用性を高めることができる。
【００５８】
また、ソースコードの変更が不要となることで、ソースコードのコンパイルも不要となり、コンパイル環境等の特殊な環境が不要となる、作業時間が短縮される、バグ発生の危険を低減することができる、新機種対応の確認テストの作業を軽減することができるといった効果も得られる。
【００５９】
また、ＩＤ変換テーブル１０４１や検索順テーブル１０４２は、実際に装着されている給紙トレイに関する情報に基づいて構成されるため、フルスペックの状態でこれらの情報をＲＡＭ上に保持する場合に比べ、メモリ消費量を軽減させることができると共に、ＩＤ変換の際のテーブルの検索処理の高速化を図ることもできる。なお、メモリ消費量の削減は、搭載するメモリサイズの少量化につながり、プリンタ４００のコストダウンも期待することができる。
【００６０】
なお、印刷要求におけるＩＤとプリンタ４００内部におけるＩＤとの変換が必要な所定の部品は給紙トレイだけには限られない、例えば、排紙トレイやその他の部品についても、本発明を適用することは可能である。
【００６１】
本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【００６２】
【図１】本発明の実施の形態におけるプリンタの機能構成例を示す図である。
【図２】機器ＩＤ・言語仕様ＩＤ対応外部テーブルの構成例を示す図である。
【図３】トレイ優先度テーブルの構成例を示す図である。
【図４】言語仕様ＩＤ・インタプリタＩＤ対応テーブルの構成例を示す図である。
【図５】機器ＩＤ・インタプリタＩＤ対応テーブルの構成例を示す図である。
【図６】検索順テーブルの構成例を示す図である。
【図７】テーブル生成・管理部によるＩＤ変換テーブルの生成処理を説明するためのフローチャートである。
【図８】テーブル生成・管理部による検索順テーブルの生成処理を説明するためのフローチャートである。
【図９】給紙トレイの選択処理を説明するためのフローチャートである。
【符号の説明】
【００６３】
１００          インタプリタ
１０１          印刷データ解析処理部
１０２          給紙先決定処理部
１０３          給紙先比較処理部
１０４          テーブル生成・管理部
２００          プリンタコントローラ
３００          プリンタデバイス管理部
３０１          給紙先設定処理部
３０２          環境変数保存部
３０３          機器情報取得部
４０１          外部テーブル
４０２          プリンタ機器制御部
５００          パネル操作部
６００          ホストコンピュータ
【図１】
2006218820.tif 000003
【図２】
2006218820.tif 000004
【図３】
2006218820.tif 000005
【図４】
2006218820.tif 000006
【図５】
2006218820.tif 000007
【図６】
2006218820.tif 000008
【図７】
2006218820.tif 000009
【図８】
2006218820.tif 000010
【図９】
2006218820.tif 000011