(57)【要約】【課題】文書作成者等が意図する通りに印刷処理を実行することのできる印刷処理システムを提供する。【解決手段】印刷文書に埋め込まれ、印刷の設定条件を示した第１の制御命令を受信する受信手段と、前記受信手段により受信した前記第１の制御命令を第２の制御命令に変換する必要があるかを判断する判断手段と、前記判断手段によって変換する必要があると判断された場合に、前記第１の制御命令を前記第２の制御命令に変換する制御命令変換手段とを備えるようにした。【選択図】図１
2008186084.tif 000002
【特許請求の範囲】
【請求項１】
印刷文書に埋め込まれ、印刷の設定条件を示した第１の制御命令を受信する受信手段と、
前記受信手段により受信した前記第１の制御命令を第２の制御命令に変換する必要があるかを判断する判断手段と、
前記判断手段によって変換する必要があると判断された場合に、前記第１の制御命令を前記第２の制御命令に変換する制御命令変換手段と、
を備えることを特徴とする印刷設定指示装置。
【請求項２】
前記第１の制御命令と前記第２の制御命令とを対応付けて記憶する記憶手段を備え、
前記制御命令変換手段は、前記記憶手段によって記憶されている対応に基づいて前記第１の制御命令と前記第２の制御命令との変換を実行することを特徴とする請求項１に記載の印刷設定指示装置。
【請求項３】
前記第１の制御命令の構文を解析する構文解析手段を備え、
前記判断手段は、前記構文解析手段の解析結果に基づいて前記第１の制御命令を前記第２の制御命令に変換するかを判断することを特徴とする請求項１又は請求項２に記載の印刷設定指示装置。
【請求項４】
印刷文書に対する印刷条件を示した第３の制御命令を生成する生成手段と、
前記生成手段によって生成された前記第３の制御命令と、前記第１の制御命令又は前記第２の制御命令とを順次保留する保留手段と、
前記保留手段によって保留された前記第３の制御命令と、前記第１の制御命令又は前記第２の制御命令との印刷設定の内容について互いに矛盾がないか否かを判定する矛盾判定手段と、
を備えることを特徴とする請求項１から請求項３の何れかに記載の印刷設定指示装置。
【請求項５】
前記矛盾判定手段によって、前記第１の制御命令又は前記第２の制御命令と、前記第３の制御命令との印刷設定の内容に矛盾があると判定された場合には、予め設定された優先順位に従って何れかの印刷設定を無視して印刷処理を実行する印刷処理実行手段を備えることを特徴とする請求項４に記載の印刷設定指示装置。
【請求項６】
前記矛盾判定手段によって、前記第１の制御命令又は前記第２の制御命令と、前記第３の制御命令の印刷設定の内容に矛盾があると判定された場合には、前記印刷情報における前記第１の制御命令又は前記第２の制御命令の記述位置を矛盾が生じない位置に移動させる移動手段を備えることを特徴とする請求項４に記載の印刷設定指示装置。
【請求項７】
前記矛盾判定手段によって、前記第１の制御命令又は前記第２の制御命令と、前記第３の制御命令との印刷設定の内容に矛盾があると判定された場合には、前記第３の制御命令の印刷設定を前記第１の制御命令又は前記第２の制御命令の設定内容に置き換える設定内容置換手段を備えることを特徴とする請求項４に記載の印刷設定指示装置。
【請求項８】
印刷装置において解釈することができなかった前記第１の制御命令の通知を受信する通知受信手段と、
前記通知受信手段によって通知された前記第１の制御命令を前記表情報に追加する追加手段と、
前記追加手段によって追加された前記第１の制御命令に対応する、前記印刷装置において解釈することができる前記第２の制御命令の登録をする登録手段と、
を備えることを特徴とする請求項１から請求項７の何れかに記載の印刷設定指示装置。
【請求項９】
印刷文書に埋め込まれ、印刷の設定条件を示した第１の制御命令を抽出する抽出手段と、
前記抽出手段により抽出した前記第１の制御命令を第２の制御命令に変換する必要があるかを判断する判断手段と、
前記判断手段によって変換する必要があると判断された場合に、前記第１の制御命令を前記第２の制御命令に変換する制御命令変換手段と、
を備えることを特徴とする情報処理装置。
【請求項１０】
制御命令を含んだ印刷情報を生成する印刷情報生成プログラムを少なくとも実行可能な請求項９に記載の情報処理装置と、
当該情報処理装置から供給される印刷情報に基づいて印刷処理を行う印刷装置と、
を備えることを特徴とする印刷処理システム。
【請求項１１】
印刷文書に埋め込まれ、印刷の設定条件を示した第１の制御命令を受信する受信手段と、
前記受信手段により受信した前記第１の制御命令を第２の制御命令に変換する必要があるかを判断する判断手段と、
前記判断手段によって変換する必要があると判断された場合に、前記第１の制御命令を前記第２の制御命令に変換する制御命令変換手段と、
を備えることを特徴とする印刷設定指示システム。
【請求項１２】
印刷文書に埋め込まれ、印刷の設定条件を示した第１の制御命令を受信する受信処理過程と、
前記受信処理過程により受信した前記第１の制御命令を第２の制御命令に変換する必要があるかを判断する判断処理過程と、
前記判断処理過程によって変換する必要があると判断された場合に、前記第１の制御命令を前記第２の制御命令に変換する変換処理過程と、
を備えることを特徴とする制御プログラム。
【請求項１３】
印刷文書に埋め込まれ、印刷の設定条件を示した第１の制御命令を抽出する抽出処理過程と、
前記抽出処理過程により抽出した前記第１の制御命令を第２の制御命令に変換する必要があるかを判断する判断処理過程と、
前記判断処理過程によって変換する必要があると判断された場合に、前記第１の制御命令を前記第２の制御命令に変換する変換処理過程と、
を備えることを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷設定指示装置、情報処理装置、印刷処理システム、印刷設定指示システムおよび制御プログラムに関するものである。
【背景技術】
【０００２】
印刷装置制御言語の命令（コマンド）により種々の印刷機能を制御する制御方法や画像処理装置に加えて、文書の印刷時にアプリケーションから渡された命令を印刷情報に埋め込むことで、使用者が印刷設定指示装置を用いて設定することなく画像処理装置を制御可能にする機能（いわゆるパススルー機能）を実行可能に構成された画像処理装置が存在する（特開平７−１７９３号公報、特開２００２−２０２８６９号公報参照）。
【０００３】
なお、文書の印刷時にアプリケーションから渡された命令を印刷情報に埋め込むことで、使用者が印刷設定指示装置を用いて設定することなく画像処理装置を制御する処理（いわゆるパススルー処理）により印刷をする場合には、文字等の情報は画像処理装置へ送られるが、文書を作成する画面には表示されない状態となる。
【０００４】
ここで、図３と図４を参照して、パススルー機能の動作について説明する。
【０００５】
まず、前提条件として、図３および図４に示すＰＤＬ−ＡおよびＰＤＬ−Ｂはパススルー機能をサポートするページ記述言語を示し（例：ＰＤＬ−Ａ＝ＰＣＬ−ＸＬ，ＰＤＬ−Ｂ＝ＰＣＬ５）、ＰＤＬ−Ｃはパススルー機能をサポートするがプリンタでサポートされていないページ記述言語を示すものとする
【０００６】
図３（ａ）、（ｂ）および図４（ロ）、（ハ）、（ニ）のプリンタはいずれもパススルー機能を用いた処理が可能であるが、図４（イ）のプリンタはパススルー機能をサポートしないのでパススルー処理不可となる。その上で、図４（ロ）、（ハ）、（ニ）の場合には問題が発生する要因が含まれている。
【０００７】
図３の（ａ），（ｂ）は、当初の印刷情報の通りに印刷可能な例を示す。
【０００８】
図３（ａ）では、前出のＷｏｒｄ等のアプリケーションで作成される文書Ｄ１の文頭部にＰＤＬ−Ｂにより「<ESC>&l4G」なる制御命令を記述したフィールドＦ１が設けられている。ここでフィールドとは、パススルー機能を用いた処理を行う際に、パススルー処理を行う命令（いわゆるパススルーコマンド）を記載する欄をいう。
【０００９】
そして、ＰＤＬ−ＡによるプリンタドライバＰＤ１は、文書Ｄ１に係る印刷情報に基づいてＰＤＬ−Ａコマンドを生成し、フィールドＦ１に記載の命令についてはパススルー処理を行うように設定される。なお、図３（ａ）の例ではプリンタＰＲ１はＰＤＬ−Ｂによるパススルー機能をサポートしているので、プリンタドライバＰＤ１はアプリケーションに対してパススルー処理を行う能力がある旨（すなわち、パススルー機能をサポートする旨）が通知されている。
【００１０】
このようにして、先頭位置からプリンタジョブコントロール言語（ジョブ制御言語：ＰＪＬ）→ＰＤＬ−Ａコマンド→ＰＤＬ−Ｂのパススルーコマンド→ＰＤＬ−Ａによる描画命令→・・・のように形成される印刷ファイルＰＦ１が生成されてプリンタＰＲ１に渡される。
【００１１】
この場合、プリンタドライバＰＤ１およびプリンタＰＲ１はＰＤＬ−Ｂによるパススルー機能をサポートしているので、ＰＤＬ−Ａ、ＰＤＬ−Ｂの両方の指定が有効に機能する。
【００１２】
なお、図３（ａ）のドライバおよびプリンタはＰＤＬ−Ｂによるパススルー機能をサポートしているので、ＰＤＬ−Ａ、ＰＤＬ−Ｂの両方の指定が有効となり、使用者の指定通りの出力となる。
【００１３】
また、図３（ｂ）では、前出のＷｏｒｄ等のアプリケーションで作成される文書Ｄ２の文頭部にＰＤＬ−Ｂにより「stp p a4」なるＡ４指定を指示する制御命令を記述したフィールドＦ２が設けられている。また、プリンタドライバＰＤ１によりＡ３で印刷指示がされている。
【００１４】
なお、図３（ｂ）の例ではプリンタＰＲ１はＰＤＬ−Ｂによるパススルー機能をサポートしているので、プリンタドライバＰＤ１はアプリケーションに対してパススルー処理を行う能力がある旨（すなわち、パススルー機能をサポートする旨）が通知されている。
【００１５】
そして、ＰＤＬ−ＡによるプリンタドライバＰＤ１は、文書Ｄ２に係る印刷情報に基づいてＡ３を指示するＰＤＬ−Ａコマンドを生成し、フィールドＦ２に記載の命令についてはパススルー処理を行うように設定される。
【００１６】
このようにして、先頭位置からジョブ制御言語→ＰＤＬ−Ａコマンド（Ａ３指定）→ＰＤＬ−Ｂのパススルーコマンド（Ａ４指定）→ＰＤＬ−Ａによる描画命令→・・・のように形成される印刷ファイルＰＦ２が生成されてプリンタＰＲ１に渡される。このままではＰＤＬ−ＡコマンドによるＡ３指定と、ＰＤＬ−ＢのパススルーコマンドによるＡ４指定とが矛盾することになるが、ＰＤＬ−Ａによる描画は開始されていないため、ＰＤＬ−ＢのパススルーコマンドによるＡ４指定が有効となり、パススルー機能をサポートするプリンタＰＲ１により印刷を行う。
【００１７】
また、図４の（イ）〜（ニ）は、パススルー機能を用いて行った設定条件について無視する、あるいは印刷処理不能としてエラーが発生する場合を示す。
【００１８】
図４（イ）では、前出のＷｏｒｄ等のアプリケーションで作成される文書Ｄ３の文頭部にＰＤＬ−Ｂにより「<ESC>&l4G」なる制御命令を記述したフィールドＦ３が設けられている。
【００１９】
なお、図４（イ）の例では、プリンタＰＲ２はＰＤＬ−Ｂによるパススルー機能をサポートしていないので、プリンタドライバＰＤ１はアプリケーションに対してパススルー処理を行う能力が無い旨（すなわち、パススルー機能をサポートしない旨）が通知されている。
【００２０】
そして、ＰＤＬ−ＡによるプリンタドライバＰＤ１は、文書Ｄ３に係る印刷情報に基づいてＰＤＬ−Ａコマンドを生成し、フィールドＦ３に記載されているパススルーコマンドは無視される。このようにして、先頭位置からプリンタジョブコントロール言語（ジョブ制御言語：ＰＪＬ）→ＰＤＬ−Ａによる描画命令→・・・のように形成される印刷ファイルＰＦ３が生成されてプリンタＰＲ２に渡される。したがって、文書作成者が指定したパススルーコマンドは無視され印刷結果に反映されないこととなる。
【００２１】
図４（ロ）では、前出のＷｏｒｄ等のアプリケーションで作成される文書Ｄ４の文頭部にＰＤＬ−Ｃにより「step outtray 1」なる制御命令を記述したフィールドＦ４が設けられている。
【００２２】
なお、図４（ロ）の例では、ＰＤＬ−ＢによるプリンタドライバＰＤ２はアプリケーションに対してパススルー処理を行う能力がある旨（すなわち、パススルー機能をサポートする旨）が通知されている。
【００２３】
そして、ＰＤＬ−ＢによるプリンタドライバＰＤ２は、文書Ｄ４に係る印刷情報に基づいてＰＤＬ−Ｂコマンドを生成し、フィールドＦ４に記載の命令についてはパススルー処理を行うように設定される。このようにして、先頭位置からジョブ制御言語→ＰＤＬ−Ｂコマンド→ＰＤＬ−Ｃコマンド→ＰＤＬ−Ｂによる描画命令→・・・のように形成される印刷ファイルＰＦ４が生成されてプリンタＰＲ１に渡される。ところが、文書作成者が指定したＰＤＬ−ＣによるパススルーコマンドはプリンタＰＲ１ではサポートされていないので、パススルーコマンドが無視された印刷結果となるか、あるいは印刷処理不能としてエラーが発生する虞がある。
【００２４】
図４（ハ）では、前出のＷｏｒｄ等のアプリケーションで作成される文書Ｄ５の文頭部にＰＤＬ−Ｂにより例えば「!"#$%&'()=・・・」のようなＰＤＬとして正しく解釈できないデータ列が記述されたフィールドＦ５が設けられている。また、ＰＤＬ−ＡによるプリンタドライバＰＤ１により印刷指示が出されている。
【００２５】
なお、図４（ハ）の例ではプリンタＰＲ１はＰＤＬ−Ｂによるパススルー機能をサポートしているので、プリンタドライバＰＤ１はアプリケーションに対してパススルー処理を行う能力がある旨（すなわち、パススルー機能をサポートする旨）が通知されている。
【００２６】
そして、ＰＤＬ−ＡによるプリンタドライバＰＤ１は、文書Ｄ５に係る印刷情報に基づいてＰＤＬ−Ａコマンドを生成し、フィールドＦ５に記載の命令についてはパススルー処理を行うように設定される。このようにして、先頭位置からジョブ制御言語→ＰＤＬ−Ａコマンド→不正なデータ列→ＰＤＬ−Ａによる描画命令→・・・のように形成される印刷ファイルＰＦ５が生成されてプリンタＰＲ１に渡される。したがって、プリンタＰＲ１で解釈できない不正なデータ列をパススルーコマンドとして含んでいるためパススルーコマンドが無視された印刷結果となるか、あるいは印刷処理不能としてエラーが発生する虞がある。
【００２７】
図４（ニ）では、前出のＷｏｒｄ等のアプリケーションで作成される文書Ｄ６の文頭部にＰＤＬ−Ｂにより「stp p a4」なるＡ４指定を指示する制御命令を記述したフィールドＦ６が設けられている。また、プリンタドライバＰＤ１によりＡ３で印刷指示がされている。
【００２８】
なお、図４（ニ）の例ではプリンタＰＲ１はＰＤＬ−Ｂによるパススルー機能をサポートしているので、プリンタドライバＰＤ１はアプリケーションに対してパススルー処理を行う能力がある旨（すなわち、パススルー機能をサポートする旨）が通知されている。
【００２９】
そして、ＰＤＬ−ＡによるプリンタドライバＰＤ１は、文書Ｄ６に係る印刷情報に基づいてＡ３を指示するＰＤＬ−Ａコマンドを生成し、フィールドＦ２に記載の命令についてはパススルー処理を行うように設定される。
【００３０】
このようにして、先頭位置からジョブ制御言語→ＰＤＬ−Ａコマンド（Ａ３指定）＋描画命令→ＰＤＬ−Ｂのパススルーコマンド（Ａ４指定）→ＰＤＬ−Ａによる描画命令→・・・のように形成される印刷ファイルＰＦ６が生成されてプリンタＰＲ１に渡される。このままではＰＤＬ−ＡコマンドによるＡ３指定と、ＰＤＬ−ＢのパススルーコマンドによるＡ４指定とが矛盾することになるが、ＰＤＬ−ＡによるＡ３の描画が開始されているため、ＰＤＬ−ＢのパススルーコマンドによるＡ４指定が無効となり、結果的にパススルーコマンドが無視された印刷結果となる。
【特許文献１】特開平７−１７９３号公報
【特許文献２】特開２００２−２０２８６９号公報
【発明の開示】
【発明が解決しようとする課題】
【００３１】
本発明は、文書の印刷時にアプリケーションから渡された命令を印刷情報に埋め込むことで、文書作成者等が印刷設定指示装置を用いて設定することなく画像処理装置を制御可能にする機能を用いて作成した文書に関する印刷情報について文書作成者等が意図する通りに処理を実行することのできる印刷設定指示装置、情報処理装置、印刷処理システム、印刷設定指示システムおよび制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【００３２】
前記課題を解決するため、請求項１の発明に係る印刷設定指示装置は、印刷文書に埋め込まれ、印刷の設定条件を示した第１の制御命令を受信する受信手段と、前記受信手段により受信した前記第１の制御命令を第２の制御命令に変換する必要があるかを判断する判断手段と、前記判断手段によって変換する必要があると判断された場合に、前記第１の制御命令を前記第２の制御命令に変換する制御命令変換手段とを備えることを特徴とする。
【００３３】
また、請求項２の発明に係る印刷設定指示装置は、前記第１の制御命令と前記第２の制御命令とを対応付けて記憶する記憶手段を備え、前記制御命令変換手段は、前記記憶手段によって記憶されている対応に基づいて前記第１の制御命令と前記第２の制御命令との変換を実行することを特徴とする。
【００３４】
また、請求項３の発明に係る印刷設定指示装置は、前記第１の制御命令の構文を解析する構文解析手段を備え、前記判断手段は、前記構文解析手段の解析結果に基づいて前記第１の制御命令を前記第２の制御命令に変換するかを判断することを特徴とする。
【００３５】
また、請求項４の発明に係る印刷設定指示装置は、印刷文書に対する印刷条件を示した第３の制御命令を生成する生成手段と、前記生成手段によって生成された前記第３の制御命令と、前記第１の制御命令又は前記第２の制御命令とを順次保留する保留手段と、前記保留手段によって保留された前記第３の制御命令と、前記第１の制御命令又は前記第２の制御命令との印刷設定の内容について互いに矛盾がないか否かを判定する矛盾判定手段とを備えることを特徴とする。
【００３６】
また、請求項５の発明に係る印刷設定指示装置は、前記矛盾判定手段によって、前記第１の制御命令又は前記第２の制御命令と、前記第３の制御命令との印刷設定の内容に矛盾があると判定された場合には、予め設定された優先順位に従って何れかの印刷設定を無視して印刷処理を実行する印刷処理実行手段を備えることを特徴とする。
【００３７】
また、請求項６の発明に係る印刷設定指示装置は、前記矛盾判定手段によって、前記第１の制御命令又は前記第２の制御命令と、前記第３の制御命令の印刷設定の内容に矛盾があると判定された場合には、前記印刷情報における前記第１の制御命令又は前記第２の制御命令の記述位置を矛盾が生じない位置に移動させる移動手段を備えることを特徴とする。
【００３８】
また、請求項７の発明に係る印刷設定指示装置は、前記矛盾判定手段によって、前記第１の制御命令又は前記第２の制御命令と、前記第３の制御命令との印刷設定の内容に矛盾があると判定された場合には、前記第３の制御命令の印刷設定を前記第１の制御命令又は前記第２の制御命令の設定内容に置き換える設定内容置換手段を備えることを特徴とする。
【００３９】
また、請求項８の発明に係る印刷設定指示装置は、印刷装置において解釈することができなかった前記第１の制御命令の通知を受信する通知受信手段と、前記通知受信手段によって通知された前記第１の制御命令を前記表情報に追加する追加手段と、前記追加手段によって追加された前記第１の制御命令に対応する、前記印刷装置において解釈することができる前記第２の制御命令の登録をする登録手段とを備えることを特徴とする。
【００４０】
また、請求項９の発明に係る情報処理装置は、印刷文書に埋め込まれ、印刷の設定条件を示した第１の制御命令を抽出する抽出手段と、前記抽出手段により抽出した前記第１の制御命令を第２の制御命令に変換する必要があるかを判断する判断手段と、前記判断手段によって変換する必要があると判断された場合に、前記第１の制御命令を前記第２の制御命令に変換する制御命令変換手段とを備えることを特徴とする。
【００４１】
また、請求項１０の発明に係る印刷処理システムは、制御命令を含んだ印刷情報を生成する印刷情報生成プログラムを少なくとも実行可能な情報処理装置と、当該情報処理装置から供給される印刷情報に基づいて印刷処理を行う印刷装置とを備えることを特徴とする。
【００４２】
また、請求項１１の発明に係る印刷設定指示システムは、印刷文書に埋め込まれ、印刷の設定条件を示した第１の制御命令を受信する受信手段と、前記受信手段により受信した前記第１の制御命令を第２の制御命令に変換する必要があるかを判断する判断手段と、前記判断手段によって変換する必要があると判断された場合に、前記第１の制御命令を前記第２の制御命令に変換する制御命令変換手段とを備えることを特徴とする。
【００４３】
また、請求項１２の発明に係る制御プログラムは、印刷文書に埋め込まれ、印刷の設定条件を示した第１の制御命令を受信する受信処理過程と、前記受信処理過程により受信した前記第１の制御命令を第２の制御命令に変換する必要があるかを判断する判断処理過程と、前記判断処理過程によって変換する必要があると判断された場合に、前記第１の制御命令を前記第２の制御命令に変換する変換処理過程とを備えることを特徴とする。
【００４４】
また、請求項１３の発明に係る制御プログラムは、印刷文書に埋め込まれ、印刷の設定条件を示した第１の制御命令を抽出する抽出処理過程と、前記抽出処理過程により抽出した前記第１の制御命令を第２の制御命令に変換する必要があるかを判断する判断処理過程と、前記判断処理過程によって変換する必要があると判断された場合に、前記第１の制御命令を前記第２の制御命令に変換する変換処理過程とを備えることを特徴とする。
【発明の効果】
【００４５】
本発明によれば以下の効果を奏することができる。
【００４６】
すなわち、請求項１に記載の発明によれば、本構成を有していない場合に比較して、使用者あるいは文書作成者等が意図する出力指示を行うことができるという優れた効果がある。
【００４７】
また、請求項２に記載の発明によれば、本構成を有していない場合に比較して、使用者あるいは文書作成者等が意図する出力指示を行うことができるという優れた効果がある。
【００４８】
また、請求項３に記載の発明によれば、本構成を有していない場合に比較して、的確な制御命令に変換することができる。
【００４９】
また、請求項４に記載の発明によれば、本構成を有していない場合に比較して、各々の制御情報間に矛盾がないか確認することができる。
【００５０】
また、請求項５に記載の発明によれば、本構成を有していない場合に比較して、使用者あるいは文書作成者等が意図する優先順位の通りに出力指示を行うことができる。
【００５１】
また、請求項６に記載の発明によれば、本構成を有していない場合に比較して、使用者あるいは文書作成者等の意図に近い出力指示を行うことができる。
【００５２】
また、請求項７に記載の発明によれば、本構成を有していない場合に比較して、第１の制御命令又は第２の制御命令に基づいた出力指示を行うことができる。
【００５３】
また、請求項８に記載の発明によれば、本構成を有していない場合に比較して、変換不可能な制御命令を変換可能な状態にすることができる。
【００５４】
また、請求項９に記載の発明によれば、本構成を有していない場合に比較して、使用者あるいは文書作成者等が意図する出力指示を行うことができる。
【００５５】
また、請求項１０に記載の発明によれば、本構成を有していない場合に比較して、使用者あるいは文書作成者等が意図する出力結果を得ることができるという優れた効果がある。
【００５６】
また、請求項１１に記載の発明によれば、本構成を有していない場合に比較して、使用者あるいは文書作成者等が意図する出力指示を行うことができるという優れた効果がある。
【００５７】
また、請求項１２に記載の発明によれば、本構成を有していない場合に比較して、使用者あるいは文書作成者等が意図する出力指示を行うことができるという優れた効果がある。
【００５８】
また、請求項１３に記載の発明によれば、本構成を有していない場合に比較して、使用者あるいは文書作成者等が意図する出力指示を行うことができるという優れた効果がある。
【発明を実施するための最良の形態】
【００５９】
以下、本発明の一例としての実施の形態を図面に基づいて詳細に説明する。ここで、添付図面において同一の部材には同一の符号を付しており、また、重複した説明は省略されている。なお、ここでの説明は本発明が実施される最良の形態であることから、本発明は当該形態に限定されるものではない。
【００６０】
図１は本発明の第１の実施の形態に係る印刷処理システムの構成を示すブロック図、図２は作成された文書におけるコマンドの構成例（ａ）と、プリンタドライバ等の印刷設定指示装置によって生成される印刷ファイルの構成例（ｂ）を示す説明図、図５は本発明の実施の形態に係る印刷処理システムのプリンタドライバによって実行される印刷処理の処理手順を示すフローチャート、図６は本発明の実施の形態に係る印刷処理システムのプリンタによって主に実行される印刷処理の処理手順を示すフローチャート、図７はパススルーコマンドをプリンタが解釈可能で且つパススルーコマンドと同じ制御内容を有する変換コマンドに変換した例を示す表、図８は本発明の第２の実施の形態に係る印刷処理システムの構成を示すブロック図である。
【００６１】
まず、本実施の形態としての印刷処理システムの説明をする前に、パススルー機能について説明する。
【００６２】
例えばマイクロソフト社のオペレレーティング・システム（ＯＳ）であるＷｉｎｄｏｗｓ（マイクロソフト社の商標）のプリンタ制御機能の１つであるパススルー機能（直接出力機能）は、文書の印刷時にアプリケーションソフトウェア（以下、単にアプリケーションと呼ぶ）から渡された任意のコマンドを印刷データ（印刷情報）に埋め込むことで、文書作成者等が直接プリンタを制御できるようにする機能である。
【００６３】
より具体的には、例えば前記Ｗｉｎｄｏｗｓ上で機能するワードプロセッサソフトであるＷｏｒｄ（マイクロソフト社の商標）などが有するアプリケーション機能の一つにパススルー機能がある。
【００６４】
パススルーコマンドであるAPIEscape()関数を使用すると、アプリケーションは、印刷装置であるプリンタに直接データを渡すことができる。 また、プリンタドライバ（制御プログラム）がパススルー機能をサポートする場合に、Escape()関数とパススルー機能を使うと、プリンタドライバにネイティブプリンタ言語コード（例えば、ネイティブＰＣＬコード）を送信することができる。
【００６５】
前記Ｗｉｎｄｏｗｓにおいては、ＧＤＩ（Graphic Device Interface：Ｗｉｎｄｏｗｓに搭載されたプログラムの一つで、プリンタやディスプレイをコントロールするもの）の描画関数ではサポートしきれないプリンタ独自の機能をサポートするために、前記Escape()関数を用意している。そして、その中に、プリンタコードを直接プリンタに出力させるための機能であるパススルー機能が存在している。
【００６６】
このパススルー機能は、アプリケーションが標準のプリンタドライバを使用していなかった場合に、直接プリンタにデータを送信するのを許可する機能を有する。つまり、このパススルー機能を使ってアプリケーションの内部でスプールファイルイメージ（プリンタ制御コードイメージ）のデータを生成してプリンタに直接出力することができる。
【００６７】
具体的には、例えば前出のＷｏｒｄで作成した文書の本文中に印刷フィールドを挿入して、所定のコマンドをプリンタに送信することができ、そのコマンドは、ネイティブなプリンタ言語コードとしてプリンタへ送信される。
【００６８】
例えば、文書中の特定のフィールドにデータを埋め込んだ場合には、そのフィールドは描画されずに、パススルーデータとしてプリンタへ送信されるプリントファイル（印刷情報）内に埋め込まれる。
【００６９】
なお、文書中に埋め込まれているグラフや数式などや、他のアプリケーションで作成したデータを他のアプリケーションに挿入（すなわち、オブジェクトの埋め込み）すると、挿入されたデータは文書の一部となり、オブジェクトに変更を加えると、その変更は文書にも反映される仕様となっている。
【００７０】
また、前記ネイティブなプリンタ言語コードは、文書に挿入されている順序で実行されるようになっている。
【００７１】
また、ページ記述言語（ＰＤＬ）としては、ＰＣＬ（ＰＣＬ−ＸＬ，ＰＣＬ５，ＰＣＬ６等：ヒューレット・パッカード社商標）），ＰｏｓｔＳｃｒｉｐｔ（アドビ・システムズ社商標），ＬＩＰＳ（キヤノン社商標）、ＥＳＣ／Ｐａｇｅ（エプソン社商標），ＰＲＥＳＣＲＩＢＥ（京セラ社商標），ＡＲＴＩＶ、ＡＲＴＥＸ（富士ゼロックス社商標）等があるが、本実施の形態ではＰＣＬ−ＸＬを用いる場合について述べる。
【００７２】
ここで、本実施の形態に係る印刷処理システムの理解を補助するために、図２を参照して、前出のＷｏｒｄ等のアプリケーションで作成された文書Ｄにおけるコマンド（制御命令）の構成例（ａ）と、プリンタドライバによって生成される印刷ファイルの構成例（ｂ）について説明する。
【００７３】
図２（ａ）に示すように、印刷時の設定「片面印刷」については「プリンタジョブコントロール言語（ジョブ制御言語：ＰＪＬ）」に出力される。また、印刷時の設定「自動給紙」については「各ページのページ記述言語（ＰＤＬ）」に出力される。また、印刷時の設定「各ページの用紙サイズ（アプリケーションからの指定）」については「各ページのページ記述言語（ＰＤＬ）」に出力される。さらに、各ページのフィールドに記述されたパススルーコマンドは、「各ページのページ記述言語（ＰＤＬ）」に埋め込まれる。
【００７４】
図２（ａ）のように制御命令が記述された文書Ｄに基づいて、パススルー機能をサポートするプリンタドライバは例えば図２（ｂ）に示すような印刷ファイルＦを生成する。
【００７５】
本例では、文書Ｄが４ページから構成されており、印刷ファイルＦは例えば５つのエリアＡ１〜Ａ５で構成されている。
【００７６】
先頭のエリアＡ１には、ジョブ制御言語により「片面印刷」を指示するコマンドが記述されている。
【００７７】
エリアＡ２には、１ページ目のＰＤＬとして、「自動給紙」、「Ａ４指定」、「描画命令」等が記述されるとともに、途中に形成されるパススルーブロックＢ１に「手差し給紙」を指示するパススルーコマンドが埋め込まれている。
【００７８】
エリアＡ３には、２ページ目のＰＤＬとして、「自動給紙」、「Ａ４指定」、「描画命令」等が記述されている。
【００７９】
エリアＡ４には、３ページ目のＰＤＬとして、「自動給紙」、「Ａ４指定」、「描画命令」等が記述されるとともに、途中に形成されるパススルーブロックＢ２に「両面印刷」を指示するパススルーコマンドが埋め込まれている。
【００８０】
エリアＡ５には、４ページ目のＰＤＬとして、「自動給紙」、「Ａ４指定」、「描画命令」等が記述されるとともに、途中に形成されるパススルーブロックＢ３に「両面印刷」を指示するパススルーコマンドが埋め込まれている。
【００８１】
そして、このような構成を有する印刷ファイルが使用されるプリンタの印刷処理手段に渡されると、各エリアＡ１〜Ａ５のコマンドに従って処理が実行される。なお、エリアＡ３にはパススルーブロックはないためプリンタにおいてはプリンタドライバの設定の通りに印刷処理される。
【００８２】
ここで、本実施の形態としての印刷処理システムは、例えばレーザプリンタ、フルカラープリンタ、インクジェットプリンタ、ファクシミリ等の各種の印刷処理装置を含む種々のシステムに適用できる。
【００８３】
図１を参照して本実施の形態に係る印刷処理システムＳのプログラムを含む構成について説明する。
【００８４】
印刷処理システムＳは、演算処理装置，プログラム記憶装置，メモリ，入出力装置、表示装置等を備えるホストコンピュータあるいはパーソナルコンピュータ等から成る情報処理装置ＰＣと、印刷処理装置としてのプリンタＰＲと、情報処理装置ＰＣとプリンタＰＲとを接続する接続線（通信回線）５００ａ，５００ｂとから構成されている。
【００８５】
情報処理装置ＰＣにおいては、前記Ｗｉｎｄｏｗｓ等のＯＳ（図示せず）のほかに、文書等を作成する前記Ｗｏｒｄ等のアプリケーション（印刷情報生成プログラム）ＡＰと、このアプリケーションＡＰで作成される文書データ（印刷情報）Ｄと、印刷処理を制御するプリンタドライバ（制御プログラム）ＰＤ等のプログラムが記憶装置としてのハードディスク（図示省略）等に格納されている。
【００８６】
なお、プリンタドライバ（制御プログラム）ＰＤは、印刷設定指示装置等のハードウェアで構成することもできる（構成例については後述する）。
【００８７】
文書データＤは、文書の各ページの設定情報１００と、描画対象としての描画オブジェクト１０１と、パススルーコマンド（第１の制御命令）を記述したパススルーフィールド１０２とを有している。
【００８８】
アプリケーションＡＰは、文書データＤの設定情報１００に基づいてページ設定を指示するページ設定指示部２００と、描画オブジェクト１０１に基づいて描画を指示する描画指示部２０１と、パススルーフィールド１０２のパススルーコマンド（第１の制御命令）に基づいてパススルー処理を指示するパススルー指示部２０２と、パススルー処理能力の有無を判定するパススルー能力判定部２０３を有している。
【００８９】
プリンタドライバＰＤは、パススルー能力判定部２０３に対して常に「パススルー処理能力あり」を通知するパススルー能力通知部３００（直接出力機能対応通知手段）を備える。これにより、プリンタＰＲがパススルー処理能力を本来は備えていない場合にも、アプリケーションＡＰは「プリンタはパススルー機能をサポートしている」と解釈してパススルーコマンド等をプリンタドライバＰＤに受け渡す。また、アプリケーションＡＰのパススルー指示部２０２からのパススルーコマンド（第１の制御命令）を受信するパススルー処理部３０１が設けられている。
【００９０】
コマンド変換データベース（ＤＢ）３０３は、パススルーコマンド（第１の制御命令）をプリンタＰＲが解釈可能で且つパススルーコマンド（第１の制御命令）と同じ制御内容を有する変換コマンド（第２の制御命令）に変換するためのコマンド変換テーブルのデータ（表情報）等が収納されたデータベースである。このコマンド変換データベース（ＤＢ）３０３には、パススルーコマンド（第１の制御命令）を変換コマンド（第２の制御命令）に変換する必要があるか否かを判定するコマンド変換要否判定部３０２と、変換が必要な場合に、パススルーコマンド（第１の制御命令）をプリンタＰＲが解釈可能で且つパススルーコマンド（第１の制御命令）と同じ制御内容を有する変換コマンド（第２の制御命令）に変換する変換処理を実行する制御命令変換手段としてのコマンド変換処理部３０７が接続されている。
【００９１】
また、コマンド変換要否判定部３０２からの判定指示は、パススルー処理部３０１へ送られ、パススルー処理部３０１から変換指示がコマンド変換処理部３０７へ送られるようになっている。また、パススルー処理部３０１は、生成された印刷データをプリンタＰＲに対して出力する印刷データ出力部３１３に接続されている。
【００９２】
これにより、アプリケーションＡＰからコマンドがパススルー処理されたらそのコマンドが変換対象かどうかをコマンド変換要否判定部３０２で判定し、変換対象のコマンド（第１の制御命令）である場合にはコマンド変換処理部３０７で対応付けられたコマンド（第２の制御命令）に変換し、変換対象のコマンドでない場合はそのままパススルー処理部３０１でパススルー処理して印刷データ出力部３１３から出力されるという処理が実施される。
【００９３】
また、コマンド変換データベース（ＤＢ）３０３には、パススルーエラー操作部３１４が接続されている。このパススルーエラー操作部３１４は、後述するエラーが発生した場合に使用者等がコマンドの追加登録操作を行うことによって、コマンド変換テーブルの更新を行う操作部である。なお、パススルーエラー操作部３１４は、情報処理装置ＰＣに接続されるキーボードやマウス等のポインティングデバイスで構成してもよい。
【００９４】
また、コマンド変換データベース（ＤＢ）３０３には、変換先となる所定の変換コマンド（第２の制御命令）のデータ列をコマンド変換テーブルに追加する処理を行うパススルーエラー処理部３１６と、エラー発生時に、使用者等に対してパススルーコマンド（第１の制御命令）に対応する変換先のコマンド（第２の制御命令）を登録するよう通知するパススルーエラー表示部３１５が接続されている。なお、パススルーエラー表示部３１５は、情報処理装置ＰＣに接続される表示モニタ等で構成することもできる。
【００９５】
前記コマンド変換処理部３０７は、変換したコマンドを１ページ分スプールするＰＤＬスプール部（保留手段）３０５に接続されている。
【００９６】
また、ＰＤＬスプール部３０５には、アプリケーションＡＰの描画指示部２０１の指示に従って描画用のＰＤＬコマンド（第３の制御命令）を生成する描画用ＰＤＬ生成部３０４と、ページ設定指示部２００の指示に従ってページ設定用のＰＤＬコマンド（第３の制御命令）を生成するページ設定用ＰＤＬ生成部（構文解析手段を兼ねる）３０６が接続されている。
【００９７】
さらに、ＰＤＬスプール部３０５には、ＰＤＬスプール部３０５からの判定指示に従ってプリンタドライバＰＤ自身が文書データＤに基づいて生成したページ設定用ＰＤＬコマンド（第３の制御命令）と、パススルーコマンド（第１の制御命令）又はコマンド変換処理部３０７で変換された場合は変換コマンド（第２の制御命令）による印刷設定の間に矛盾がないか否かを判定する印刷設定矛盾判定部（矛盾判定手段）３０８が接続されている。
【００９８】
また、印刷設定矛盾判定部３０８は、「予め設定しておいた優先順位に従っていずれかの印刷設定を無視する」、「パススルーコマンド（第１の制御命令）又は変換が行われた場合は変換コマンド（第２の制御命令）を設定が有効になる位置へ移動する」、「プリンタドライバＰＤが生成したページ設定用ＰＤＬコマンド（第３の制御命令）による印刷設定をパススルーコマンド（第１の制御命令）又は変換が行われた場合は変換コマンド（第２の制御命令）による印刷設定で置き換える」といった調停処理を行う印刷設定コマンド調停部（印刷調停手段、移動手段および設定内容置換手段）３０９に接続され、ＰＤＬスプール部３０５との間でデータの授受を行うようになっている。
【００９９】
また、プリンタドライバＰＤの印刷設定部３１０は、印刷設定を行う印刷操作部３１１に接続されている。なお、印刷操作部３１１は、情報処理装置ＰＣに接続されるキーボードやマウス等のポインティングデバイスで構成してもよい。
【０１００】
また、印刷設定部３１０は、ジョブ制御言語生成部３１２を介して印刷データ出力部３１３に接続されている。
【０１０１】
次に、プリンタＰＲについては、制御系（例えば、マイクロコンピュータ等で構成される）についてのみ説明し、印刷を実行するプリンタエンジンＥ等の構成についての詳細な説明は省略する。なお、プリンタエンジンＥは、プリンタの種類（例えば、レーザプリンタ，フルカラープリンタ，インクジェットプリンタ等）に応じたものを適用できる。
【０１０２】
プリンタＰＲのジョブ制御言語解釈部４００は、接続線５００ａを介して情報処理装置ＰＣの印刷データ出力部３１３に接続され、情報処理装置ＰＣで生成された印刷データを受け取ってジョブ制御言語で設定された内容を解釈する。
【０１０３】
また、ＰＤＬ解釈部４０３も同様に情報処理装置ＰＣの印刷データ出力部３１３に接続され、情報処理装置ＰＣで生成された印刷データを受け取ってＰＤＬ（ページ記述言語）で設定された内容を解釈する。そして、ジョブ制御言語解釈部４００とＰＤＬ解釈部４０３の解釈結果は印刷設定調停部４０１に渡され、設定内容の整合（調停）が行われた後、画像形成部４０２に画像形成の指示を出力する。また、ＰＤＬ解釈部４０３の解釈結果は描画処理部４０４にも渡され、描画処理部４０４から画像形成部４０２に対しても画像形成の指示が出力される。
【０１０４】
そして、画像形成部４０２で形成される画像情報はプリンタエンジンＥに渡され、印刷処理が実行される。
【０１０５】
また、ＰＤＬ解釈部４０３は、解釈不能なパススルーコマンド（第１の制御命令（未変換））を検出するパススルーエラー判定部４０６が接続され、判定結果はパススルーエラー通知部４０５に送られるようになっている。
【０１０６】
パススルーエラー通知部４０５は、接続線５００ｂを介して情報処理装置ＰＣのパススルーエラー処理部３１６に接続され、解釈不能なパススルーコマンド（第１の制御命令（未変換））の情報がプリンタドライバＰＤに伝えられる。
【０１０７】
パススルーエラー処理部３１６は、解釈不能なパススルーコマンド（第１の制御命令（未変換））の情報に基づいて、プリンタドライバＰＤは、その解釈不能なパススルーコマンド（第１の制御命令（未変換））のデータ列をコマンド変換データベース３０３のコマンド変換テーブルに追加するとともに、パススルーエラー表示部３１５により、使用者等に対して解釈不能なパススルーコマンド（第１の制御命令（未変換））に対応する変換先のコマンド（第２の制御命令（変換先））を登録するよう通知（例えば、「「・・・コマンド」をデータベースに登録してください。」等のメッセージを表示）する。
【０１０８】
そして、使用者等が上記の通知に従って、パススルーエラー操作部３１４を操作してそのコマンドの追加登録作業を行うことによって、コマンド変換テーブルの更新がなされる。
【０１０９】
なお、図１の構成では、コマンド変換および変換されたコマンドのスプールは情報処理装置ＰＣ側で行う場合について示したが、これに限られず、コマンド変換処理および変換されたコマンドのスプール処理をプリンタＰＲ側で行うように構成することも可能である。この場合には、プリンタドライバＰＤは自ら生成したコマンドおよびアプリケーションＡＰからパススルー処理されたコマンドをそのまま接続線５００ａ，５００ｂを介してプリンタＰＲに送信し、プリンタＰＲ側で上記の処理をページ単位またはジョブ単位で行ってから各コマンドを解釈することとなる。
【０１１０】
さらにまた、接続線５００ａ，５００ｂに代えてＬＡＮ等のネットワークを介して複数台の情報処理装置ＰＣ，プリンタＰＲおよびプリンタサーバ装置を接続した印刷処理システムとすることもできる。
【０１１１】
このような印刷処理システムでは、コマンド変換処理およびスプール処理は、プリントサーバ装置で実施することも可能である。この場合には、プリンタドライバＰＤは自ら生成したコマンドおよびアプリケーションＡＰからパススルー処理されたコマンドをそのままプリントサーバ装置に送信し、プリントサーバ装置でコマンド変換処理およびスプール処理をページ単位またはジョブ単位に行ってからネットワークを介してデータをプリンタＰＲに送信することとなる。
【０１１２】
また、コマンド変換処理部におけるコマンドの変換の仕方としては、図１で説明したように「プリンタドライバＰＤにコマンド変換テーブルを持たせ、パススルー処理したいコマンドのデータ列と、プリンタＰＲが解釈可能で且つ同じ意味を持つコマンドを対応付けて登録しておく（コマンド変換データベース３０３）」という方式のほかに、「プリンタドライバＰＤに印刷制御関連のコマンドのみ解釈可能な簡易的なパーザー（構文解析手段）を持たせ、パススルー処理されたコマンドを解釈して、プリンタＰＲが解釈可能で且つ同じ意味を持つコマンドに置き換える」という方式を用いてもよい。
【０１１３】
次に、上記のような構成の印刷処理システムＳのプリンタドライバＰＤによって実行される印刷処理の処理手順について図５のフローチャートを参照して説明する。
【０１１４】
この印刷処理が開始されると、まずステップＳ１で「パススルー処理能力あり」をプリンタドライバＰＤのパススルー能力通知部３００からアプリケーションＡＰのパススルー能力判定部２０３に通知してステップＳ２に移行する。ステップＳ２では、アプリケーションＡＰの描画指示部２０１からプリンタドライバＰＤの描画用ＰＤＬ生成部３０４が描画命令を受け取ってからステップＳ３に進む。
【０１１５】
ステップＳ３では、パススルー処理部３０１でパススルーブロックの開始か否かが判定され、判定結果が「Ｙｅｓ」の場合にはステップＳ１１に移行し、判定結果が「Ｎｏ」の場合にはステップＳ４に移行する。
【０１１６】
ステップＳ４では、描画用ＰＤＬ生成部３０４およびページ設定用ＰＤＬ生成部３０６で通常のＰＤＬコマンド（第３の制御命令）の生成処理が行われ、次いでステップＳ５では生成したＰＤＬコマンド（第３の制御命令）をＰＤＬスプール部３０５にスプールする処理が行われる。
【０１１７】
次いでステップＳ６に移行して、ページは終了したか否かが判定され、判定結果が「ＮＯ」場合にはステップＳ２に戻り、判定結果が「ＹＥＳ」の場合にはステップＳ７に移行して印刷設定矛盾判定部３０８で、プリンタドライバＰＤが生成したページ設定用ＰＤＬコマンド（第３の制御命令）の印刷設定とパススルーコマンド（第１の制御命令）の印刷設定の矛盾があるか否かが判定される。
【０１１８】
そして、矛盾があると判定された場合にはステップＳ８に移行して印刷設定コマンド調停部３０９で印刷設定の矛盾を回避する処理が行われる。具体的には、「予め設定しておいた優先順位に従っていずれかの印刷設定を無視する」、「パススルーコマンド（第１の制御命令）又は変換が行われた変換コマンド（第２の制御命令（変換先））を設定が有効になる位置へ移動する」、「プリンタドライバＰＤが生成したページ設定用ＰＤＬコマンド（第３の制御命令）による印刷設定を、パススルーコマンド（第１の制御命令）又は変換が行われた変換コマンド（第２の制御命令）による印刷設定で置き換える」といった調停処理を行う。すなわち、例えばプリンタドライバＰＤが生成したページ設定用ＰＤＬコマンドによって用紙サイズが設定された後に何らかの描画が行われ、続いてパススルー機能によって再度用紙サイズが設定されるような場合に、上記調停処理を行う。  また、矛盾が無いと判定された場合にはステップＳ９に移行してＰＤＬスプール部３０５にスプールされたコマンドを破棄してステップＳ１０に移行する。
【０１１９】
ステップＳ１０では、ジョブは終了したか否かが判定され、判定結果が「ＮＯ」の場合にはステップＳ２に戻って処理を継続し、判定結果が「ＹＥＳ」の場合には処理を終了する。
【０１２０】
一方、ステップＳ１１では、コマンド変換要否判定部３０２でパススルーブロックに変換対象のコマンドがあるか否かが判定され、判定結果が「Ｎｏ」の場合にはステップＳ１２に移行してコマンド（第１の制御命令）を図２（ｂ）に示すように埋め込む処理を行ってからステップＳ１３に移行する。
【０１２１】
ステップＳ１３では、コマンド（第１の制御命令）をスプールしてからステップＳ２に戻って処理を継続する。
【０１２２】
また、判定結果が「Ｙｅｓ」の場合にはステップＳ１４に移行して、コマンド変換処理部３０７でパススルーコマンド（第１の制御命令）の変換処理を行ってからステップＳ１５に移行し、変換したコマンドを図２（ｂ）に示すように埋め込む処理を行ってからステップＳ１６に移行する。
【０１２３】
ステップＳ１６では、変換したＰＤＬコマンドをＰＤＬスプール部３０５にスプールしてからステップＳ２に戻って処理を継続する。
【０１２４】
次に、上記のような構成の印刷処理システムＳのプリンタＰＲによって主に実行される印刷処理の処理手順について図６のフローチャートを参照して説明する。
【０１２５】
プリンタＰＲで印刷処理が開始されると、まずステップＳ２０で「パススルー処理能力あり」をプリンタドライバＰＤ側のパススルー能力通知部３００からアプリケーションＡＰのパススルー能力判定部２０３に通知してステップＳ２１に移行する。ステップＳ２１では、プリンタドライバＰＤ側のパススルー処理部３０１でパススルー処理を行ってからステップＳ２２に進み、プリンタＰＲのパススルーエラー判定部４０６でパススルーブロックに解釈不能コマンドがあるか否かが判定される。
【０１２６】
そして、判定結果が「Ｎｏ」の場合にはステップＳ２３に移行して描画処理部４０４等により通常の印刷処理を行って処理を終了する。
【０１２７】
一方、ステップＳ２２で判定結果が「Ｙｅｓ」の場合にはステップＳ２４に移行して、パススルーエラー通知部４０５より解釈不能コマンドのデータ列をプリンタドライバＰＤのパススルーエラー処理部３１６に通知してからステップＳ２５に進む。
【０１２８】
ステップＳ２５では、パススルーエラー処理部３１６で解釈不能コマンドのデータ列をコマンド変換データベース３０３に追加してからステップＳ２６に移行する。
【０１２９】
ステップＳ２６では、そのデータ列の変換コマンドの登録をパススルーエラー表示部３１５におけるメッセージ表示により使用者等に通知し、ステップＳ２７では使用者等によってパススルーエラー操作部３１４が操作されたか否かを判定し、「Ｎｏ」の場合にはそのまま待機し、「Ｙｅｓ」の場合にはステップＳ２８に移行して、登録された変換先コマンドをコマンド変換データベース３０３に追加してステップＳ２９に移行する。
【０１３０】
ステップＳ２９では、印刷処理を継続可能か否かが判定され、判定結果が「Ｙｅｓ」の場合にはステップＳ２３に移行して描画処理部４０４等によって通常の印刷処理を行ってから処理を終了し、判定結果が「Ｎｏ」の場合にはそのまま処理を終了する。
【０１３１】
ここで、上述のような印刷処理システムＳおよび印刷処理によって、パススルーコマンド（第１の制御命令）をプリンタＰＲが解釈可能で且つパススルーコマンド（第１の制御命令）と同じ制御内容を有する変換コマンド（第２の制御命令）に変換した例について図７を参照して説明する。
【０１３２】
なお、本例では、プリンタＰＲが解釈不能なパススルーコマンド（第１の制御命令）としてＰＤＬ５（ヒューレット・パッカード社商標）を、プリンタＰＲが解釈可能な変換先コマンドとしてＡＲＴＩＶ（富士ゼロックス社商標）を想定している。
【０１３３】
図７の（ａ）は、例えば「Ａ４用紙指定」という設定内容について、プリンタＰＲが解釈不能な変換対象コマンドのデータ列が「&l26A」である場合に、プリンタＰＲが解釈可能で且つパススルーコマンド（第１の制御命令）と同じ制御内容を有する「stp  p  a4」なるコマンドに変換している。同様にして、「給紙トレイ１指定」という設定内容について「&l4H」を「setp  intray  1」に、「片面印刷指定」という設定内容について「&l0S」を「setp  duplex  0」にというように変換する。
【０１３４】
また、コマンド変換データベース３０３に登録する変換テーブルに「任意の文字列」から成るコマンドについて変換先コマンドを関連付けさせることにより、図７の（ｂ）に示すようなコマンド変換を行ってもよい。
【０１３５】
具体的には、例えば、“Ａ４用紙に印刷”という文字列のコマンドを「stp  p  a4」に、“一番上の用紙トレイから印刷”という文字列のコマンドを「setp  intray  1」に、“片面で印刷”という文字列のコマンドを「setp  duplex  0」というように変換する。
【０１３６】
次に、図８のブロック図を参照して、本発明の第２の実施の形態に係る印刷処理システムＳ１について説明する。
【０１３７】
前記第１の実施の形態に係る印刷処理システムＳとの相違点は、プリンタドライバＰＤに代えて、ハードウェアで構成される印刷設定指示装置ＰＭを備える点である。
【０１３８】
なお、第１の実施の形態に係る印刷処理システムＳと同様の構成については同一符号を付す。
【０１３９】
印刷処理システムＳ１は、ホストコンピュータあるいはパーソナルコンピュータ等から成る情報処理装置ＰＣと、印刷設定指示装置ＰＭと、印刷処理装置としてのプリンタＰＲと、情報処理装置ＰＣとプリンタＰＲとを接続する接続線（通信回線）５００ａ，５００ｂとから構成されている。
【０１４０】
情報処理装置ＰＣにおいては、アプリケーション（印刷情報生成プログラム）ＡＰと、このアプリケーションＡＰで作成される文書データ（印刷情報）Ｄ等のプログラムが記憶装置としてのハードディスク（図示省略）等に格納されている。
【０１４１】
また、モデム等で構成される送信部２０４と受信部２０５を介して印刷設定指示装置ＰＭとの間で情報を送受信するようになっている。
【０１４２】
文書データＤは、文書の各ページの設定情報１００と、描画対象としての描画オブジェクト１０１と、パススルーコマンド（第１の制御命令）を記述したパススルーフィールド１０２とを有している。
【０１４３】
アプリケーションＡＰは、文書データＤの設定情報１００に基づいてページ設定を指示するページ設定指示部２００と、描画オブジェクト１０１に基づいて描画を指示する描画指示部２０１と、パススルーフィールド１０２のパススルーコマンド（第１の制御命令）に基づいてパススルー処理を指示するパススルー指示部２０２と、パススルー処理能力の有無を判定するパススルー能力判定部２０３を有している。
【０１４４】
印刷設定指示装置ＰＭは、モデム等で構成される送信部３２１を介して、パススルー能力判定部２０３に対して常に「パススルー処理能力あり」を通知するパススルー能力通知部３００（直接出力機能対応通知手段）を備える。これにより、プリンタＰＲがパススルー処理能力を本来は備えていない場合にも、アプリケーションＡＰは「プリンタはパススルー機能をサポートしている」と解釈してパススルーコマンド等を印刷設定指示装置ＰＭに受け渡す。また、アプリケーションＡＰのパススルー指示部２０２からのパススルーコマンド（第１の制御命令）を受信するパススルー処理部３０１が設けられている。
【０１４５】
なお、情報処理装置ＰＣの送信部２０４から出力されるデータや指示情報は、印刷設定指示装置ＰＭが備える受信部（受信手段）３２０を介して行われる。
【０１４６】
コマンド変換データベース（ＤＢ）３０３は、パススルーコマンド（第１の制御命令）をプリンタＰＲが解釈可能で且つパススルーコマンド（第１の制御命令）と同じ制御内容を有する変換コマンド（第２の制御命令）に変換するためのコマンド変換テーブルのデータ（表情報）等が収納されたデータベースである。このコマンド変換データベース（ＤＢ）３０３には、パススルーコマンド（第１の制御命令）を変換コマンド（第２の制御命令）に変換する必要があるか否かを判定するコマンド変換要否判定部３０２と、変換が必要な場合に、パススルーコマンド（第１の制御命令）をプリンタＰＲが解釈可能で且つパススルーコマンド（第１の制御命令）と同じ制御内容を有する変換コマンド（第２の制御命令）に変換する変換処理を実行する制御命令変換手段としてのコマンド変換処理部３０７が接続されている。
【０１４７】
また、コマンド変換要否判定部３０２からの判定指示は、パススルー処理部３０１へ送られ、パススルー処理部３０１から変換指示がコマンド変換処理部３０７へ送られるようになっている。また、パススルー処理部３０１は、生成された印刷データをプリンタＰＲに対して出力する印刷データ出力部３１３に接続されている。
【０１４８】
これにより、アプリケーションＡＰからコマンドがパススルー処理されたらそのコマンドが変換対象かどうかをコマンド変換要否判定部３０２で判定し、変換対象のコマンド（第１の制御命令）である場合にはコマンド変換処理部３０７で対応付けられたコマンド（第２の制御命令）に変換し、変換対象のコマンドでない場合はそのままパススルー処理部３０１でパススルー処理して印刷データ出力部３１３から出力される。
【０１４９】
また、コマンド変換データベース（ＤＢ）３０３には、パススルーエラー操作部３１４が接続されている。このパススルーエラー操作部３１４は、後述するエラーが発生した場合に使用者等がコマンドの追加登録操作を行うことによって、コマンド変換テーブルの更新を行う操作部である。なお、パススルーエラー操作部３１４は、情報処理装置ＰＣに接続されるキーボードやマウス等のポインティングデバイスで構成してもよい。
【０１５０】
また、コマンド変換データベース（ＤＢ）３０３には、変換先となる所定のコマンド（第２の制御命令）のデータ列をコマンド変換テーブルに追加する処理を行うパススルーエラー処理部３１６と、エラー発生時に、使用者等に対してパススルーコマンド（第１の制御命令）に対応する変換先のコマンド（第２の制御命令）を登録するよう通知するパススルーエラー表示部３１５が接続されている。
【０１５１】
前記コマンド変換処理部３０７は、変換したコマンドを１ページ分スプールするＰＤＬスプール部（保留手段）３０５に接続されている。
【０１５２】
また、ＰＤＬスプール部３０５には、アプリケーションＡＰの描画指示部２０１の指示に従って描画用のＰＤＬコマンド（第３の制御命令）を生成する描画用ＰＤＬ生成部３０４と、ページ設定指示部２００の指示に従ってページ設定用のＰＤＬコマンド（第３の制御命令）を生成するページ設定用ＰＤＬ生成部（構文解析手段を兼ねる）３０６が接続されている。
【０１５３】
さらに、ＰＤＬスプール部３０５には、ＰＤＬスプール部３０５からの判定指示に従って印刷設定指示装置ＰＭ自身が文書データＤに基づいて生成したページ設定用ＰＤＬコマンド（第３の制御命令）と、第１の制御命令又はコマンド変換処理部３０７で変換された第２の制御命令による印刷設定の間に矛盾がないか否かを判定する印刷設定矛盾判定部（矛盾判定手段）３０８が接続されている。
【０１５４】
また、印刷設定矛盾判定部３０８は、「予め設定しておいた優先順位に従っていずれかの印刷設定を無視する」、「変換が行われたＰＤＬコマンド（第２の制御命令）、又は変換されていない場合は第１の制御命令を設定が有効になる位置へ移動する」、「印刷設定指示装置ＰＭが生成したページ設定用ＰＤＬコマンド（第３の制御命令）による印刷設定を変換が行われたＰＤＬコマンド（第２の制御命令）による印刷設定、又は第２の制御命令に変換されていない場合は第１の制御命令で置き換える」といった調停処理を行う印刷設定コマンド調停部（印刷調停手段、移動手段および設定内容置換手段）３０９に接続され、ＰＤＬスプール部３０５との間でデータの授受を行うようになっている。
【０１５５】
また、印刷設定指示装置ＰＭの印刷設定部３１０は、印刷設定を行う印刷操作部３１１に接続されている。
【０１５６】
また、印刷設定部３１０は、ジョブ制御言語生成部３１２を介して印刷データ出力部３１３に接続されている。
【０１５７】
プリンタＰＲについては、プリンタＰＲのジョブ制御言語解釈部４００は、接続線５００ａを介して印刷設定指示装置ＰＭの印刷データ出力部３１３に接続され、印刷設定指示装置ＰＭで生成された印刷データを受け取ってジョブ制御言語で設定された内容を解釈する。
【０１５８】
また、ＰＤＬ解釈部４０３も同様に印刷設定指示装置ＰＭの印刷データ出力部３１３に接続され、印刷設定指示装置ＰＭで生成された印刷データを受け取ってＰＤＬ（ページ記述言語）で設定された内容を解釈する。そして、ジョブ制御言語解釈部４００とＰＤＬ解釈部４０３の解釈結果は印刷設定調停部４０１に渡され、設定内容の整合（調停）が行われた後、画像形成部４０２に画像形成の指示を出力する。また、ＰＤＬ解釈部４０３の解釈結果は描画処理部４０４にも渡され、描画処理部４０４から画像形成部４０２に対しても画像形成の指示が出力される。
【０１５９】
そして、画像形成部４０２で形成される画像情報はプリンタエンジンＥに渡され、印刷処理が実行される。
【０１６０】
また、ＰＤＬ解釈部４０３は、解釈不能なパススルーコマンド（第１の制御命令（未変換））を検出するパススルーエラー判定部４０６が接続され、判定結果はパススルーエラー通知部４０５に送られるようになっている。
【０１６１】
パススルーエラー通知部４０５は、接続線５００ｂを介して印刷設定指示装置ＰＭのパススルーエラー処理部３１６に接続され、解釈不能なパススルーコマンド（第１の制御命令（未変換））の情報が印刷設定指示装置ＰＭに伝えられる。
【０１６２】
パススルーエラー処理部３１６は、解釈不能なパススルーコマンド（第１の制御命令（未変換））の情報に基づいて、印刷設定指示装置ＰＭは、その解釈不能なパススルーコマンド（第１の制御命令（未変換））のデータ列をコマンド変換データベース３０３のコマンド変換テーブルに追加するとともに、パススルーエラー表示部３１５により、使用者等に対して解釈不能なパススルーコマンド（第１の制御命令（未変換））に対応する変換先のコマンド（第２の制御命令）（変換先）を登録するよう通知（例えば、「「・・・コマンド」をデータベースに登録してください。」等のメッセージを表示）する。
【０１６３】
そして、使用者等が上記の通知に従って、パススルーエラー操作部３１４を操作してそのコマンドの追加登録作業を行うことによって、コマンド変換テーブルの更新がなされる。
【０１６４】
以上本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本明細書で開示された実施の形態はすべての点で例示であって開示された技術に限定されるものではないと考えるべきである。すなわち、本発明の技術的な範囲は、前記の実施の形態における説明に基づいて制限的に解釈されるものでなく、あくまでも特許請求の範囲の記載に従って解釈すべきであり、特許請求の範囲の記載技術と均等な技術および特許請求の範囲内でのすべての変更が含まれる。
【０１６５】
なお、印刷処理システムＳ，Ｓ１においてプログラムを用いる場合には、ネットワークを介して提供したり、或いはＣＤ−ＲＯＭ等の記録媒体に格納して提供することが可能である。
【産業上の利用可能性】
【０１６６】
本発明による印刷処理システムは、レーザプリンタ、フルカラープリンタ、インクジェットプリンタ、ファックス等用いたシステムに適用することができる。
【図面の簡単な説明】
【０１６７】
【図１】本発明の第１の実施の形態に係る印刷処理システムのプログラムを含む構成を示すブロック図である。
【図２】作成された文書におけるコマンドの構成例（ａ）と、プリンタドライバによって生成される印刷ファイルの構成例（ｂ）を示す説明図である。
【図３】印刷情報の通りに印刷可能な例を示す説明図である。
【図４】印刷情報の通りには印刷できない例を示す説明図である。
【図５】本発明の実施の形態に係る印刷処理システムのプリンタドライバによって実行される印刷処理の処理手順を示すフローチャートである。
【図６】本発明の実施の形態に係る印刷処理システムのプリンタによって主に実行される印刷処理の処理手順を示すフローチャートである。
【図７】パススルーコマンドをプリンタが解釈可能で且つパススルーコマンドと同じ制御内容を有する変換コマンドに変換した例を示す表である。
【図８】本発明の第２の実施の形態に係る印刷処理システムのプログラムを含む構成を示すブロック図である。
【符号の説明】
【０１６８】
Ｓ，Ｓ１  印刷処理システム
ＰＣ  情報処理装置（演算処理手段）
Ｄ  文書データ（印刷情報）
ＡＰ  アプリケーションソフトウェア（印刷情報生成プログラム）
ＰＤ  プリンタドライバ（制御プログラム）
ＰＲ  プリンタ（印刷装置）
ＰＭ  印刷設定指示装置
１００  ページ設定情報
１０１  描画オブジェクト
１０２  パススルーフィールド
２００  ページ設定指示部
２０１  描画指示部
２０２  パススルー指示部
２０３  パススルー能力判定部
３００  パススルー能力通知部（直接出力機能対応通知手段）
３０１  パススルー処理部
３０２  コマンド変換要否判定部
３０３  コマンド変換データベース
３０４  描画用ＰＤＬ生成部
３０５  ＰＤＬスプール部（保留手段）
３０６  ページ設定用ＰＤＬ生成部
３０７  コマンド変換処理部（制御命令変換手段）
３０８  コマンド変換データベース
３０８  印刷設定矛盾判定部
３０９  印刷設定コマンド調停部（印刷調停手段、移動手段、設定内容置換手段）
３１０  印刷設定部
３１１  印刷操作部
３１２  ジョブ制御言語生成部
３１３  印刷データ出力部
３１４  パススルーエラー操作部
３１５  パススルーエラー表示部
３１６  パススルーエラー処理部
３２０  受信部（受信手段）
４００  ジョブ制御言語解釈部
４０１  印刷設定調停部
４０２  画像形成部
４０３  ＰＤＬ解釈部
４０４  描画処理部
４０５  パススルーエラー通知部
４０６  パススルーエラー判定部
５００ａ，ｂ  接続線（通信回線）
【図１】
2008186084.tif 000003
【図２】
2008186084.tif 000004
【図３】
2008186084.tif 000005
【図４】
2008186084.tif 000006
【図５】
2008186084.tif 000007
【図６】
2008186084.tif 000008
【図７】
2008186084.tif 000009
【図８】
2008186084.tif 000010