(57)【特許請求の範囲】
【請求項１】
複数の出力機器のうちのいずれか１の出力機器で出力を行うための出力情報であって、プリンタドライバで変換された複数の文字列を含む出力情報に対して設定された設定情報を置換する情報置換システムであって、
前記出力情報に含まれる前記出力機器に固有のデバイスフォントで出力すべき所定の対象文字列を検知するための少なくとも１の条件それぞれと前記出力機器に固有のデバイスフォントで出力するための該デバイスフォントを示す設定情報とを、前記複数の出力機器のうちの少なくとも１の出力機器と対応付けて記憶する記憶部と、
出力要求に基づき、出力先の出力機器を決定する決定部と、
前記記憶部が記憶する前記条件に、前記決定部によって決定された出力機器に対応する前記条件が含まれるとき、決定された該出力機器に対応する条件を基に前記出力情報に含まれる対象文字列を、該条件と前記出力情報に含まれる複数の文字列との比較に応じて検知する検知部と、
前記検知部により検知された対象文字列に対して設定されたフォントを示す設定情報を、前記記憶部に記憶された該対象文字列が検知されたときの条件と対応付けられている前記出力機器に固有のデバイスフォントを示す設定情報に置換する情報置換部とを含む、情報置換システム。
【請求項２】
前記決定部が決定した前記出力機器に固有のデバイスフォントを示す設定可能な設定情報の一覧を取得する取得部を含み、
前記検知部は、前記取得部により取得された前記一覧に含まれる設定情報に対応する前記記憶部に記憶された前記条件を基に前記対象文字列を検知する、請求項１に記載の情報置換システム。
【請求項３】
前記記憶部は、前記条件に関連付けて前記出力情報における前記対象文字列の位置情報を補正するための補正情報を記憶し、
前記情報置換部は、前記固有のデバイスフォントを示す設定情報に置換するとともに、前記補正情報に基づき前記位置情報を補正し、補正した位置情報に置換する、請求項１または２に記載の情報置換システム。
【請求項４】
前記出力機器は、印刷装置で、前記出力情報は、複数の文字列から構成される文書の印刷データで、前記条件は、前記印刷装置に固有のデバイスフォントで印刷すべき文字列の集合を１つの文字列で表現する正規表現により設定される、請求項１〜３のいずれか１項に記載の情報置換システム。
【請求項５】
請求項１〜４のいずれか１項に記載の情報置換システムを備え、出力情報を出力機器に送信して出力させる、情報処理装置。
【請求項６】
請求項５に記載の情報処理装置と、前記情報処理装置から出力情報を受信して出力する出力機器とを含む、情報出力システム。
【請求項７】
複数の出力機器のうちの１の出力機器で出力を行うための出力情報であって、プリンタドライバで変換された複数の文字列を含む出力情報に対して設定された設定情報を置換する処理をコンピュータに実行させるためのプログラムであって、前記コンピュータは、前記出力情報に含まれる前記出力機器に固有のデバイスフォントで出力すべき所定の対象文字列を検知するための少なくとも１の条件それぞれと前記出力機器に固有のデバイスフォントで出力するための該デバイスフォントを示す設定情報とを、前記複数の出力機器のうちの少なくとも１の出力機器と対応付けて記憶する記憶部を備え、
出力要求に基づき、出力先の出力機器を決定するステップと、
前記記憶部が記憶する前記条件に、前記決定するステップで決定された出力機器に対応する前記条件が含まれるとき、決定された該出力機器に対応する条件を基に前記出力情報に含まれる対象文字列を、該条件と前記出力情報に含まれる複数の文字列との比較に応じて検知するステップと、
検知された対象文字列に対して設定されたフォントを示す設定情報を、前記記憶部に記憶された該対象文字列が検知されたときの条件と対応付けられている前記出力機器に固有のデバイスフォントを示す設定情報に置換するステップとを実行させる、プログラム。
【請求項８】
前記決定するステップで決定された前記出力機器に固有のデバイスフォントを示す設定可能な設定情報の一覧を取得するステップをさらに実行させ、
前記検知するステップでは、前記取得するステップで取得された前記一覧に含まれる設定情報に対応する前記記憶部に記憶された前記条件を基に前記対象文字列を検知する、請求項７に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、出力機器で出力させる出力情報に対して設定された設定情報を置換する情報置換システム、情報処理装置、情報処理装置と出力機器とを含む情報出力システムおよびその処理をコンピュータに実行させるためのプログラムに関する。
【背景技術】
【０００２】
出力機器の１つである印刷装置で文書を印刷する際、仮想プリンタドライバでEMF(Enhanced Meta File)等のイメージデータや印刷設定情報を抽出し、特定の条件に基づき出力先を自動制御する技術が提案されている（特許文献１参照）。この技術では、仮想プリンタドライバが印刷データを受け、上記のイメージデータや印刷設定情報を抽出して中間データを生成し、スプールする。そして、決定した出力先の印刷状況に応じて、出力先に対応するプリンタドライバに適したデータに変換し、そのプリンタドライバに送信する。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
上記従来の技術では、出力情報に、出力機器に固有の表現形式で出力するように設定された対象の情報が含まれる場合、仮想プリンタドライバがその表現形式を認識できないため、任意の表現形式に置き換えてしまう。このため、その情報については、出力機器に固有の表現形式で出力させることができないという問題があった。
【０００４】
そこで、出力機器に固有の表現形式で出力すべき対象情報を、当該出力機器において当該固有の表現形式で出力させることができるシステム等の提供が望まれていた。
【課題を解決するための手段】
【０００５】
本発明は、上記課題に鑑み、出力機器で出力させる出力情報に対して設定された設定情報を置換する情報置換システムであって、出力情報に含まれる出力機器に固有の表現形式で出力すべき対象情報を検知するための条件を記憶する記憶部と、記憶部に記憶された条件を基に出力情報に含まれる対象情報を検知する検知部と、検知部により検知された対象情報に対して設定された表現形式に関する設定情報を、上記の固有の表現形式に関する設定情報に置換する情報置換部とを含む、情報置換システムが提供される。
【発明の効果】
【０００６】
本発明によれば、出力機器に固有の表現形式で出力すべき対象情報を、当該出力機器において当該表現形式で出力させることが可能となる。
【図面の簡単な説明】
【０００７】
【図１】情報出力システムとしての印刷システムの構成例を示した図。
【図２】印刷システムを構成する情報処理装置のハードウェア構成の一例を示した図。
【図３】印刷システムを構成する印刷装置のハードウェア構成の一例を示した図。
【図４】情報処理装置が備える印刷制御システムの構成例を示した図。
【図５】印刷制御システムが備える印刷指示部の構成例を示した図。
【図６】従来の文書イメージ、仮想プリンタドライバで生成されたEMFファイル、出力イメージを例示した図。
【図７】情報置換システムの構成例を示した図。
【図８】文書イメージ、振り分け条件、検知設定、検知結果、出力イメージの一例を示した図。
【図９】情報置換システムにより実行される１つの処理の流れを示したフローチャート。
【図１０】文書イメージ、振り分け条件、検知設定、検知結果、出力イメージの別の例を示した図。
【図１１】情報置換システムにより実行される別の処理の流れを示したフローチャート。
【図１２】検知設定、検知結果、出力イメージのさらに別の例を示した図。
【発明を実施するための形態】
【０００８】
情報を出力するための情報出力システムは、情報の出力を指示する情報処理装置と、その情報を出力する出力機器とを含んで構成される。したがって、出力機器は、印刷して出力する印刷装置であってもよいし、表示して出力する表示装置であってもよい。表示装置は、情報を表示することができる機器であればいかなる機器であってもよく、例えば、PC、タブレット端末、スマートフォン、PDA(Personal Digital Assistant)、プロジェクタ、電子黒板、ゲーム機、テレビ等を挙げることができる。印刷装置は、プリンタのほか、複数の機能を有するMFP(Multi-Function Peripheral)であってもよい。
【０００９】
図１は、情報出力システムの一例としての印刷システムの構成例を示した図である。以下、情報出力システムを、印刷システムとして詳細に説明する。印刷システムは、印刷を指示する情報処理装置１０と、印刷を実行する複数の印刷装置１１とを含んで構成される。情報処理装置１０と複数の印刷装置１１は、ネットワーク１２を介して接続される。ネットワーク１２は、LAN(Local Area Network)やWAN(Wide Area Network)であってもよいし、インターネットであってもよい。また、ネットワーク１２は、有線ネットワークであってもよいし、無線ネットワークであってもよい。さらに、ネットワーク１２は、２以上のネットワークがルータやプロキシサーバ等の中継装置を介して接続されたものであってもよい。
【００１０】
情報処理装置１０は、文書を作成し、その出力要求としての印刷要求を行うアプリケーションと、各印刷装置１１を制御するための複数のプリンタドライバとを実装する。また、情報処理装置１０は、仮想プリンタドライバを含む出力制御システムとしての印刷制御システムも実装する。ユーザは、アプリケーションを使用して印刷する文書を作成し、印刷を要求する。印刷制御システムは、後に詳細に説明するが、出力先の印刷装置１１を決定し、その印刷装置１１に対応するプリンタドライバに出力情報として印刷データを送信する。プリンタドライバは、印刷データから対応する印刷装置１１が解釈可能な印刷命令に変換し、その印刷装置１１へ送信する。
【００１１】
情報処理装置１０は、アプリケーション、複数のプリンタドライバ、印刷制御システムを実装することができ、それらを実行して上記の処理を行うことができれば、いかなる機器であってもよい。情報処理装置１０としては、例えば、PC、タブレット端末、スマートフォン、PDA、サーバ装置、MFP等を挙げることができる。ここでは、情報処理装置１０が、アプリケーション、複数のプリンタドライバを実装する例について説明したが、これらは、ネットワーク１２に接続される他の機器に実装されていてもよい。例えば、他のPCにアプリケーションが実装され、複数の印刷装置１１の各々に各プリンタドライバが実装されていてもよいし、プリントサーバに複数のプリンタドライバが実装されていてもよい。また、情報処理装置１０が、アプリケーションと印刷制御システムを実装し、複数の印刷装置１１やプリントサーバに複数のプリンタドライバが実装された構成であってもよい。
【００１２】
印刷装置１１は、情報処理装置１０から印刷命令を受信し、その印刷命令に基づき、印刷を実行する。印刷装置１１は、インクジェット方式のプリンタであってもよいし、電子写真方式のプリンタであってもよい。印刷装置１１が、電子写真方式のプリンタである場合、プリンタは、コントローラ、感光体ドラム、露光ユニット、現像ユニット、転写ユニット、定着ユニット、給紙ユニット、排紙ユニットを含んで構成される。
【００１３】
情報処理装置１０からの印刷命令をコントローラが受け取ると、各ユニットに対して書き込み位置、使用するトナー、印刷する枚数等を指示する。露光ユニットは、その指示を受けて、感光体ドラムの表面に書き込み光を照射して静電潜像を形成し、現像ユニットは、トナーを付着させて現像を行う。これにより、感光体ドラムの表面には、トナー像が形成される。
【００１４】
給紙ユニットは、記録媒体としての紙を供給し、転写ユニットは、感光体ドラムに形成されたトナー像を、供給された紙に転写する。定着ユニットは、紙に転写したトナー像を、熱および圧力を加えて定着させる。紙にトナー像を定着した後、印刷物として排紙ユニットへ排出される。
【００１５】
図２を参照して、情報処理装置１０のハードウェア構成について簡単に説明する。情報処理装置１０は、ハードウェアとして、CPU２０、ROM２１、RAM２２、HDD２３、通信I/F２４、入出力I/F２５、表示装置２６、入力装置２７を備える。CPU２０、ROM２１、RAM２２、HDD２３、通信I/F２４、入出力I/F２５は、バス２８に接続され、バス２８を介して互いにデータ等のやりとりを行う。
【００１６】
CPU２０は、情報処理装置１０全体の制御を行う演算処理装置である。ROM２１は、情報処理装置１０を起動させるためのブートプログラム、表示装置２６や入力装置２７等の動作を制御するためのファームウェア等を格納する不揮発性の記憶装置である。RAM２２は、CPU２０が各種の処理を実行する際の作業領域を提供する揮発性の記憶装置である。HDD２３は、上記の印刷制御システムを実現するためのプログラム、各印刷装置１１に対応したプリンタドライバ、印刷要求を出力するアプリケーション、OS、各種のデータ等を格納する不揮発性の記憶装置である。
【００１７】
通信I/F２４は、ネットワーク１２を介して複数の印刷装置１１との通信を可能にするインタフェースである。入出力I/F２５は、表示装置２６や入力装置２７を接続し、ユーザからの印刷指示、印刷設定情報の入力、印刷する文書の表示等を可能にする。表示装置２６は、CRT(Cathode Ray Tube)や液晶ディスプレイ等を用いることができ、入力装置２７は、マウスやキーボードを用いることができる。表示機能と入力機能の両方を備えるタッチパネルを採用してもよい。
【００１８】
情報処理装置１０は、そのほか、CD-ROMドライブやSDカードスロット等の外部記憶装置I/F、マイク等の音声入力装置、スピーカ等の音声出力装置等を備えていてもよい。HDD２３は、SSD(Solid State Drive)等であってもよい。
【００１９】
図３を参照して、印刷装置１１のハードウェア構成について簡単に説明する。印刷装置１１は、制御部３０と、操作パネル等の操作部３１と、画像形成部としてのプリンタエンジン３２とを備える。制御部３０は、印刷装置１１全体の制御を行う制御回路である。制御部３０は、その制御を行うために、CPU３３、システムメモリ３４、ノースブリッジ(NB)３５、サウスブリッジ(SB)３６、ASIC３７、ローカルメモリ３８、HDD３９を備える。これらは、バス４０により互いに接続される。
【００２０】
CPU３３は、印刷装置１１全体の制御を行う演算処理装置である。システムメモリ３４は、CPU３３がアクセス可能な記憶装置で、ROM３４ａとRAM３４ｂとを含んで構成される。ROM３４ａは、種々のデータを格納する不揮発性の記憶装置である。RAM３４ｂは、CPU３３に対して作業空間を提供する揮発性の記憶装置である。
【００２１】
NB３５は、システムメモリ３４を制御する手段で、CPU３３とシステムメモリ３４とSB３６とASIC３７とを接続する。SB３６は、NB３５と図示しない周辺デバイスとを接続するためのブリッジで、ネットワーク１２を介した通信を提供する図示しないネットワークI/Fと接続される。ASIC３７は、印刷対象の画像を生成し、また、その画像の編集を行う集積回路(IC)である。ローカルメモリ３８は、ASIC３７が実行する画像処理に使用される記憶装置である。HDD３９は、画像データ等の種々のデータやプログラム等を格納する不揮発性の記憶装置である。
【００２２】
操作部３１は、印刷装置１１に対する各種設定を可能にする手段で、タッチパネルとされ、情報等を入力するための入力手段とその入力された情報やエラー等を表示する表示手段との両方の機能を備えている。なお、印刷装置１１は、操作部３１が操作ボタンのみを備えるものとし、表示手段を別途設けた構成であってもよい。プリンタエンジン３２は、印刷を実行する装置であり、ASIC３７が生成した印刷対象の画像を、紙等の記録媒体に印字して出力する。
【００２３】
ここで、従来の情報処理装置が備える印刷制御システムの構成と、文書イメージ、仮想プリンタドライバで生成されたEMFファイル、出力イメージについて、図４〜図６を参照して簡単に説明しておく。なお、詳細については、上記の特許文献１に記載されているので、そちらを参照されたい。
【００２４】
図４は、従来の印刷制御システムの構成例を示した図である。印刷制御システム１００は、仮想プリンタドライバ１０１と、データ蓄積部１０２と、振り分け条件記憶部１０３と、印刷制御部１０４と、印刷指示部１０５とを含んで構成される。図４では、アプリケーション１１０と、複数のプリンタドライバ１１１、１１２も示されている。
【００２５】
仮想プリンタドライバ１０１は、アプリケーション１１０からの印刷要求を受けて、印刷要求から印刷設定情報を抽出し、EMFファイルを生成し、それらを中間データとしてデータ蓄積部１０２に蓄積（スプール）する。印刷制御部１０４は、中間データが生成されるのを待ち、振り分け条件記憶部１０３に記憶された振り分け条件を基に、出力先を決定する。ここでは、出力先となる印刷装置１１に対応したプリンタドライバを決定する。印刷制御部１０４は、出力先のプリンタドライバを決定したところで、そのプリンタドライバに対して印刷処理要求を行う。
【００２６】
印刷指示部１０５は、印刷制御部１０４からの印刷処理要求を受けて、データ蓄積部１０２に蓄積された中間データを基に、決定されたプリンタドライバに適したデータに変換し、そのデータを印刷データとしてそのプリンタドライバに送信する。
【００２７】
印刷指示部１０５は、図５に示すように、抽出部１０６と、描画部１０７とを含み、抽出部１０６が、データ蓄積部１０２に蓄積されたEMFファイルからEMFレコードデータを抽出する。EMFファイルは、１ページ分のデータであり、EMFレコードデータは、当該１ページを構成するレコード単位のデータである。なお、EMFレコードは、文字列のほか、ページイメージを構成する画像や図形等の様々なデータが含まれる。抽出部１０６は、１つずつレコードを抽出し、１レコードずつ描画部１０７へ送り、描画部１０７が１レコードずつ描画を行う。
【００２８】
アプリケーション１１０から印刷を要求する文書イメージは、例えば図６（ａ）に示すようなものである。文書イメージの横には、レコードの表現形式に関する設定情報としてフォント名が併記されている。この文書イメージを印刷要求すると、仮想プリンタドライバ１０１は、EMFファイルを生成する。図６（ｂ）は、そのEMFファイルイメージを示した図である。ここでは、EMFファイルは、説明を分かりやすくするため、本発明に関連するテキスト情報、フォント情報、ページ内の位置情報のみを記載している。なお、説明を分かりやすくするため、以下も同様に、文書がテキストのみとして説明する。
【００２９】
仮想プリンタドライバ１０１は、印刷装置１１に固有のデバイスフォントを解釈することができないため、デバイスフォントは、デフォルトのフォント等の任意のフォントに置換する。ここで、デバイスフォントとは、印刷装置に固有のフォントであって、デバイスフォントが指定されることで、例えば印刷装置独自の形状のフォントで印刷したり、デバイスフォントで記載された文字列を印刷装置でバーコードに変換したりするものである。任意のフォントに置換された後に最終的に出力されるイメージは、図６（ｃ）に示すようなものとなる。すなわち、置換された任意のフォントで印刷出力される。このため、文書イメージで設定したデバイスフォントは、反映されない。
【００３０】
そこで、このデバイスフォントを反映することができるように、任意のファントに置換されたフォントを、デバイスフォントに置換する情報置換システムを設ける。図７は、その情報置換システムの構成を例示した図である。情報置換システム５０は、印刷指示部１０５内に導入されてもよいし、印刷指示部１０５とは別個の機能部として導入されていてもよい。また、情報置換システム５０は、他の機器に実装されていてもよいし、別の装置として構成されていてもよい。
【００３１】
情報置換システム５０は、記憶部５１と検知部５２と情報置換部５３とを含んで構成される。記憶部５１は、各印刷装置１１に固有のデバイスフォントで印刷すべき対象情報である文字列を検知するための条件を記憶する。この条件については後述する。検知部５２は、EMFファイルに含まれるその条件に適合する文字列を検知する。情報置換部５３は、検知した文字列のフォントをデバイスフォントに置換する。置換後は、描画部１０７が、デバイスフォントに置換されたEMFファイルに基づき描画処理を行う。なお、置換されないフォントは、そのフォントのままで描画される。
【００３２】
具体的に、図８を参照して、条件やどのように置換されるかについて説明する。印刷を要求する文書のイメージは、図８（ａ）に示すようなものである。図８（ａ）には、７つのレコードが示されており、各レコードに対して設定されたフォントが併記されている。図８（ａ）に示す例では、「A11111A」、「A22222A」、「B33333B」という３つのレコードに対してデバイスフォントが設定されている。
【００３３】
情報置換システム５０を備える印刷制御システムは、出力先の振り分け処理を実行する。その振り分け処理では、振り分け条件を参照するが、その振り分け条件は、図８（ｂ）に示すようなものである。図８（ｂ）に示す振り分け条件は、出力先プリンタドライバを識別するための識別情報と、情報処理装置１０のIPアドレスとを対応付けた対応テーブルにより与えられている。印刷要求には、印刷を要求した装置のIPアドレスが含まれることから、そのIPアドレスを基に、対応テーブルで対応する識別情報としての出力先プリンタドライバ名を決定することができる。
【００３４】
情報処理装置１０のIPアドレスが「192.168.10.102」であった場合、この対応テーブルを参照し、出力先プリンタドライバ名「PrinterDriver02」と決定することができる。この例では、振り分け条件が、印刷を指示した情報処理装置１０に応じて印刷装置１１を決定するものとなっているが、これに限られるものではなく、印刷内容や印刷設定情報等に応じて印刷装置１１を決定するものであってもよい。
【００３５】
検知対象の文字列を検知するための条件は、例えば、図８（ｃ）に示す検知設定により与えることができる。検知設定では、プリンタドライバ名(DriverName)、デバイスフォントのフォント名(FontName)、ページ内の検知処理を行う検知領域(Location)、上記条件として、検知すべき文字列の正規表現(RegularExpression)を関連付けて設定している。ここで、検知領域は、ページの上段、中段、下段といった領域である。正規表現は、文字列の集合を１つの文字列で表現する記法である。図８（ｃ）に示すA[\d]+Aは、「A」という文字で始まり、以降が１つ以上の数字で、「A」という文字で終わる文字列であることを表している。
【００３６】
１つのデバイスフォントに対し、FontName、Location、RegularExpressionを設定し、EMFファイルに対してデバイスフォントは、複数設定することができる。
【００３７】
上記の検知部５２は、この検知設定を参照し、正規表現に適合する文字列の検知処理を行う。検知部５２は、まず、決定したプリンタドライバ名と、検知設定のプリンタドライバ名が一致するかを判断する。一致する場合に、上記の検知処理およびデバイスフォントに置換する処理（置換処理）を行う対象とする。検知部５２は、次に、検知処理を実行する。実際に検知処理は、ページに含まれる様々なレコードの中で、テキスト情報レコードを抽出・検知し、そのテキスト情報レコードに対して行う。図８（ａ）に示す文書のイメージでは、「A11111A」、「A22222A」、「B33333B」という３つのレコードが対象情報として検知される。
【００３８】
なお、検知対象の文字列は、図８（ａ）に示すように、１レコードの文字列や１レコード内に存在する場合に限られない。検知対象の文字列は、例えば、文書のイメージの縦方向のレコードの位置を表すY座標が一致する同一行にある複数のレコードに「A11」、「111A」のように分かれている場合もある。また、複数のレコードに分かれていて、「11A」、「A111」のように逆順で作成される場合もある。これらのことを考慮し、検知部５２は、Y座標が一致する同一行にある複数のレコードを、文書のイメージの横方向の位置を表すX座標の順に並び替えを行った上で結合し、その結合した文字列に対して検知処理を行うことができる。これにより、確実に検知対象の文字列を検知することができる。以下の説明では、分かりやすくするために、１レコードの文字列を検知対象として検知するものとする。
【００３９】
検知部５２は、図８（ｄ）に示すような検知結果を生成する。図８（ｄ）に示す検知結果は、どの検知対象としてのレコードのフォントをどのデバイスフォントに置換すべきで、そのレコードがどの位置にあるかを示している。また、検知結果には、EMFファイルのレコードの順番は変わらないことから、その順番を表すレコード番号も示されている。
【００４０】
抽出部１０６がデータ蓄積部１０２からEMFレコードデータを抽出する。情報置換部５３は、EMFファイルにおける抽出したレコードの順番と検知結果のレコード番号とを比較し、一致する場合にそのレコードのフォントを、検知結果の対応するデバイスフォントに置換する。描画部１０７は、置換されたデバイスフォントが設定されたレコードを、検知結果で示される位置に描画し、置換されないフォントのレコードについては、そのフォントのままで、EMFファイルで示される位置に描画する。描画部１０７は、全てのレコードにつき描画して得られた描画データを、決定したプリンタドライバに送信する。
【００４１】
プリンタドライバは、その描画データを、対応する印刷装置１１が解釈可能な印刷命令に変換し、その印刷装置１１へ送信する。印刷装置１１は、その印刷命令に基づき、紙に印字して出力する。その出力イメージを、図８（ｅ）に例示する。図８（ｅ）に示すように、各デバイスフォントに設定したレコードが、印刷要求したときと同じ正しい各デバイスフォントで印刷出力される。
【００４２】
この処理の流れを、図９に示すフローチャートを参照して詳細に説明する。仮想プリンタドライバ１０１が中間データを生成してデータ蓄積部１０２に蓄積し、印刷制御部１０４が出力先のプリンタドライバを決定し、印刷指示部１０５が印刷処理要求を受けて、ステップ９００からこの処理を開始する。ステップ９０５では、検知部５２が記憶部５１から検知設定を取得する。ステップ９１０では、検知部５２は、決定されたプリンタドライバのプリンタドライバ名と、検知設定に設定されたプリンタドライバ名とが一致するかどうかを判断する。一致する場合、ステップ９１５へ進み、一致しない場合、ステップ９２０へ進む。ここでは、プリンタドライバを決定しているが、出力先であるため、出力機器である印刷装置を決定してもよい。
【００４３】
ステップ９１５では、検知部５２は、検知設定を基に、EMFファイルに対してデバイスフォントが設定されたレコードの検知処理を行う。そして、検知部５２は、その結果を検知結果として生成する。ステップ９２０では、抽出部１０６が、EMFファイルからレコードを抽出する。ステップ９２５では、情報置換部５３が、検知結果に含まれるレコード番号に一致するか否かを判断する。一致する場合は、ステップ９３０へ進み、一致しない場合は、ステップ９３５へ進む。
【００４４】
ステップ９３０では、情報置換部５３がそのレコード番号のフォントをデバイスフォントに置換する。なお、上記で一致しないと判断された場合は、そのフォントはそのままにし、変更しない。ステップ９３５では、描画部１０７がそのレコードを描画する。ステップ９４０では、全てのレコードを描画したかを判断し、描画していない場合、ステップ９２０へ戻り、次のレコード番号のレコードを抽出する。全てのレコードを描画した場合、ステップ９４５へ進み、この処理を終了する。
【００４５】
上記の例では、検知設定にプリンタドライバ名が設定され、印刷制御部１０４において決定されたプリンタドライバのプリンタドライバ名と一致するかを判断し、一致する場合に、検知処理および置換処理を行う構成を示した。プリンタドライバは、対応する印刷装置１１に固有のデバイスフォントのデバイスフォント情報を保持しているため、出力先のプリンタドライバを決定したときにそのプリンタドライバからデバイスフォントの一覧を取得することができる。すると、取得した一覧に含まれるデバイスフォント名と、検知設定で設定されているデバイスフォント名が一致する場合に、検知処理および置換処理の対象と判断することができる。したがって、情報置換システム５０は、さらに、上記の一覧を取得する取得部を備えることができる。
【００４６】
一覧は、取得部が、決定されたプリンタドライバからその都度取得してもよいし、一度取得して情報置換システム５０内に保持しておき、次回からはその保持している一覧を参照するようにしてもよい。
【００４７】
この場合の条件やどのように置換されるかについて、図１０（ａ）〜（ｅ）を参照して説明する。文書のイメージおよび振り分け条件は、図１０（ａ）、（ｂ）に示すように、図８（ａ）、（ｂ）に示すイメージおよび条件と同様である。検知設定は、プリンタドライバからデバイスフォント情報を取得するため、予め設定しておく必要がなく、図１０（ｃ）に示すように、プリンタドライバの設定がなくなっている。検知結果および出力イメージは、同様にして検知処理が行われ、置換処理が行われるため、図１０（ｄ）、（ｅ）に示すように、図８（ｄ）、（ｅ）に示す結果およびイメージと同様のものになる。
【００４８】
この場合の処理の流れを、図１１に示すフローチャートを参照して詳細に説明する。仮想プリンタドライバ１０１が中間データを生成してデータ蓄積部１０２に蓄積し、印刷制御部１０４が出力先のプリンタドライバを決定し、印刷指示部１０５が印刷処理要求を受けて、ステップ１１００からこの処理を開始する。ステップ１１０５では、検知部５２が決定されたプリンタドライバから対応する印刷装置１１に固有のデバイスフォント情報を、デバイスフォントの一覧として取得する。
【００４９】
ステップ１１１０では、検知部５２が記憶部５１から検知設定を取得する。ステップ１１１５では、検知部５２は、取得されたデバイスフォントの一覧にあるフォント名と、検知設定に設定されたデバイスフォントのフォント名とが一致するかどうかを判断する。一致するフォント名は１つであってもよいし、２以上であってもよい。一致する場合は、一致するフォントについて検知処理を行うため、ステップ１１２０へ進み、一致しない場合は、ステップ１１２５へ進む。ステップ１１２０の検知処理では、フォント名が一致するフォントについてのみ、その処理を行う。なお、それ以降のステップ１１２５からステップ１１５０までの処理は、図８に示したステップ９２０からステップ９４５までの処理と同様である。
【００５０】
このようにして、仮想プリンタドライバ１０１で中間データを生成する際、任意のフォントに置換されたフォントを、元のデバイスフォントに置換して戻すことにより、正しく印刷することができる。
【００５１】
フォントを異なるフォントに変えると、文字の幅等のサイズが変わることから、その位置も変わってくる。しかしながら、置き換え対象のレコードは、EMFファイルの時点で既に別のフォントになっているため、デバイスフォントであった場合の正確な位置（座標値）を取得することはできない。そこで、位置情報を補正するための補正情報として位置調整値を、検知設定に設定しておくことができる。位置調整値は、例えば(AdjustX,AdjustY)という座標値で与えることができる。
【００５２】
図１２は、検知設定、検知結果、出力イメージを例示した図である。図１２（ａ）に示す検知設定は、図８（ｃ）に示す内容とほぼ同様であるが、上記の位置調整値が追加されている。この例では、デバイスフォント１に対しては、置換した後、文書のイメージの横方向であるX軸方向に１０画素、縦方向であるY軸方向に１０画素ほど対象のレコードを移動させる位置調整値が設定されている。デバイスフォント２に対しては、X軸方向に２０画素、Y軸方向に２０画素ほど対象のレコードを移動させる位置調整値が設定されている。
【００５３】
図１２（ｂ）に示す検知結果は、図８（ｄ）に示す内容と同様である。したがって、検知結果は、置換する前のフォントのレコードの位置を示す座標値を示している。このため、情報置換部５３は、各デバイスフォントに対して、この座標値に上記の位置調整値を加えて位置情報を補正し、その補正した位置情報に置換することで、正しい位置で印刷出力することができる。
【００５４】
この例では、デバイスフォント１のレコードに対しては、検知結果の座標値に対して、X軸方向に１０画素移動させ、Y軸方向に１０画素移動させた位置にそのレコードを描画する。デバイスフォント２のレコードに対しては、検知結果の座標値に対して、X軸方向に２０画素移動させ、Y軸方向に２０画素移動させた位置にそのレコードを描画する。このようにすることで、図１２（ｃ）に示すように、印刷を要求したときと同じ正しいデバイスフォントで正しい位置に印刷出力することができる。
【００５５】
これまで本発明を、情報置換システム、情報処理装置、情報出力システムおよびプログラムとして上述した実施の形態をもって説明してきた。しかしながら、本発明は上述した実施の形態に限定されるものではなく、他の実施の形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができるものである。また、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【００５６】
したがって、情報置換システムが行う情報置換方法、上記プログラムが記録された記録媒体、上記プログラムを提供する外部機器等も提供することができるものである。
【符号の説明】
【００５７】
１０…情報処理装置、１１…印刷装置、１２…ネットワーク、２０…CPU、２１…ROM、２２…RAM、２３…HDD、２４…通信I/F、２５…入出力I/F、２６…表示装置、２７…入力装置、２８…バス、３０…制御部、３１…操作部、３２…プリンタエンジン、３３…CPU、３４…システムメモリ、３４ａ…ROM、３４ｂ…RAM、３５…NB、３６…SB、３７…ASIC、３８…ローカルメモリ、３９…HDD、４０…バス、５０…情報置換システム、５１…記憶部、５２…検知部、５３…情報置換部、１００…印刷制御システム、１０１…仮想プリンタドライバ、１０２…データ蓄積部、１０３…振り分け条件記憶部、１０４…印刷制御部、１０５…印刷指示部、１０６…抽出部、１０７…描画部
【先行技術文献】
【特許文献】
【００５８】
【特許文献１】特開２０１１−００２８８１号公報
【図１】
0006292197.tif 000002
【図２】
0006292197.tif 000003
【図３】
0006292197.tif 000004
【図４】
0006292197.tif 000005
【図５】
0006292197.tif 000006
【図６】
0006292197.tif 000007
【図７】
0006292197.tif 000008
【図８】
0006292197.tif 000009
【図９】
0006292197.tif 000010
【図１０】
0006292197.tif 000011
【図１１】
0006292197.tif 000012
【図１２】
0006292197.tif 000013