(57)【要約】【課題】ページ記述言語によって記述されたファイルを印刷の対象とする場合、印刷におけるトラブルを回避するようにしたページ記述言語処理装置を提供する。【解決手段】ページ記述言語処理装置の解析手段は、印刷用のページ記述言語によって記述されているファイルを解析し、選択手段は、前記解析手段によって解析した結果に基づいて、前記ファイルから印刷用のデータを生成するための生成手段を選択する。【選択図】図１
2009086879.tif 000002
【特許請求の範囲】
【請求項１】
印刷用のページ記述言語によって記述されているファイルを解析する解析手段と、
前記解析手段によって解析した結果に基づいて、前記ファイルから印刷用のデータを生成するための生成手段を選択する選択手段
を具備することを特徴とするページ記述言語処理装置。
【請求項２】
前記選択手段は、
前記生成手段の選択を、利用者による操作によって設定を変更可能とする
ことを特徴とする請求項１に記載のページ記述言語処理装置。
【請求項３】
前記解析手段は、
ファイルを作成したアプリケーション名、装置名又はバージョン符号に基づいて解析する
ことを特徴とする請求項１に記載のページ記述言語処理装置。
【請求項４】
前記解析手段は、
フォントの定義又はフォントの特徴に関するものに基づいて解析する
ことを特徴とする請求項１に記載のページ記述言語処理装置。
【請求項５】
前記解析手段は、
オーバープリントデータに関するものに基づいて解析し、
前記選択手段は、
前記解析手段によって解析した結果が、オーバープリントデータに関するものである場合は、色補正に関する生成手段を選択する
ことを特徴とする請求項１に記載のページ記述言語処理装置。
【請求項６】
前記選択手段が選択する生成手段に、
前記ファイル内のページ記述言語の修正を行う前処理を含む
ことを特徴とする請求項１に記載のページ記述言語処理装置。
【請求項７】
コンピュータを、
印刷用のページ記述言語によって記述されているファイルを解析する解析手段と、
前記解析手段によって解析した結果に基づいて、前記ファイルから印刷用のデータを生成するための生成手段を選択する選択手段
として機能させることを特徴とするページ記述言語処理プログラム。
【請求項８】
前記選択手段は、
前記生成手段の選択を、利用者による操作によって設定を変更可能とする
ことを特徴とする請求項７に記載のページ記述言語処理プログラム。
【請求項９】
前記解析手段は、
ファイルを作成したアプリケーション名、装置名又はバージョン符号に基づいて解析する
ことを特徴とする請求項７に記載のページ記述言語処理プログラム。
【請求項１０】
前記解析手段は、
フォントの定義又はフォントの特徴に関するものに基づいて解析する
ことを特徴とする請求項７に記載のページ記述言語処理プログラム。
【請求項１１】
前記解析手段は、
オーバープリントデータに関するものに基づいて解析し、
前記選択手段は、
前記解析手段によって解析した結果が、オーバープリントデータに関するものである場合は、色補正に関する生成手段を選択する
ことを特徴とする請求項７に記載のページ記述言語処理プログラム。
【請求項１２】
前記選択手段が選択する生成手段に、
前記ファイル内のページ記述言語の修正を行う前処理を含む
ことを特徴とする請求項７に記載のページ記述言語処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ページ記述言語処理装置及びページ記述言語処理プログラムに関する。
【背景技術】
【０００２】
コンピュータ上で動作する文書作成ソフトウェア等によって作成された文書をプリンタによって印刷する際に、一般的にはプリンタドライバが、その文書を印刷用のページ記述言語によって記述されているファイル（例えば、ＰＤＦ：Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）に変換し、プリンタサーバー等がそのファイルから印刷用のデータを生成して、最終的な印刷を行う。
【０００３】
ページ記述言語の種類を見分けて、処理方法を選択する技術として、例えば、特許文献１には、ＳＰＤＬファイルであるか否か、バイナリＳＰＤＬファイル又はクリアテキストＳＰＤＬファイルのいずれであるかを効率的に自動認識する手段を提供することを課題とし、ファイルの先頭の３個のタグ中にオブジェクト識別子”２８  ＣＦ４４  ００  Ｈ”が検出されたときは、バイナリＳＰＤＬファイルと判定し、このオブジェクト識別子が検出されない場合、先頭バイトより０個又は１個以上のＳセパレータ、文字列”＜！ＤＯＣＴＹＰＥ”（小文字でもよい）、１個以上のＳセパレータ、文字列”ＳＰＤＬ”（小文字でもよい）が順に検出されたならばクリアテキストＳＰＤＬファイルであると判定し、そうでなければ非ＳＰＤＬファイルと判定することが開示されている。
【０００４】
また、これに関連する技術として、例えば、特許文献２には、生成されたスプールデータに最適なＰＤＬ又はＰＤＬ内の最適なモードを自動的に選択可能とすることを課題とし、プリンタドライバの生成するスプールデータを記憶装置内に格納し、該格納されたスプールデータを解析し得られる情報と通信可能に接続された各印刷装置の属性やその接続形態の能力に応じてスプールデータ判断手段が最適なページ記述言語又はページ記述言語内の１つのモードを決定し、スプールデータ変換手段が該格納されたスプールデータを取り出し、決定されたページ記述言語又はページ記述言語内の１つのモードに対応する印刷コマンドを生成し、スプールデータ出力手段が該生成された印刷コマンドを決定された印刷装置へ転送する構成が開示されている。
【０００５】
例えば、特許文献３には、同一のページ記述言語であっても内容により処理を調整するものが開示されている。つまり、基準内の消費電力でＰＤＬパフォーマンス（ＣＰＵのコア周波数）と他のジョブとの同時動作のいずれに重点を置くかを自動的に制御することができるようにすることを課題とし、ＰＤＬデータ量あるいはＰＤＬデータのアプリケーションの種別の識別結果からＰＤＬ展開処理負荷を予測し、ＰＤＬ展開時間が長いと判断されるデータの場合には、ＰＬＬの逓倍を上げることで、ＣＰＵコアクロックの周波数を大きくしてＰＤＬ展開処理能力を上げ、同時に、消費電力の増加を考慮して、他のジョブの同時動作を禁止するように制御し、また、ＰＤＬ展開時間が短いと判断されるデータの場合には、ＰＬＬの逓倍を上げずに、ＣＰＵコアクロックは低速のままにし、他のジョブの同時動作を受け付けるように制御することが開示されている。
【０００６】
例えば、特許文献４には、プリフライトによる解析を行い、最適なプリンタへ振り分ける技術が開示されている。つまり、あらかじめ出力可能なデバイス情報と、出力環境の能力、また、入力ドキュメントの情報をプリフライトチェックすることにより収集し、ユーザーの要望により、出力に最適なデバイスを通知することを課題とし、あらかじめ、Ｐｒｅｆｌｉｇｈｔ  ＣｈｅｃｋやＲＩＰが動作する環境において、出力可能なプリンタやその能力を収集しデータベース化し、また入力ＰＤＬの種類や内容をＰｒｅｆｌｉｇｈｔ  Ｃｈｅｃｋすることにより収集し、これらの情報元に、入力ＰＤＬに対し、ユーザーの要望に応じた最適なプリンタを自動的に選択し、ユーザーに通知することが開示されている。
【特許文献１】特開平０６−２５９２０５号公報
【特許文献２】特開２００４−０３０１３０号公報
【特許文献３】特開２００３−３４５５６７号公報
【特許文献４】特開２００６−１５４９１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
印刷用のページ記述言語によって記述されているファイルを作成するソフトウェアには様々な種類及び様々なバージョンがあり、またページ記述言語の処理を行うソフトウェアにもいくつかの種類があり、また様々なバージョンがあって、その相性によってはトラブルが発生したりしていた。例えば、フォント名の指定の仕方によりフォントが置き換わってしまったり、フォントのキャッシュ用のＩＤの重複により以前に使ったフォントのデータが使われてしまったりすること等があげられる。
【０００８】
また、オーバープリント（ある色の上に色を重ねて印刷すること）の指定をページ記述言語によって記述されているファイルに含ませずに、そのファイルの出力前に合成して出力するようなページ記述言語を作成するソフトウェア又はソフトウェアのモードであって、特にそのオブジェクトが特色（スポットカラー：ｓｐｏｔ  ｃｏｌｏｒ、あらかじめ特別に調合したインクで印刷する色のこと）で色指定をしている場合には、オーバープリント部分は特色の指定ではなくプロセスカラー代替色で合成した色になるので、ページ記述言語の処理を行うソフトウェアで特色のカラーのシミュレーションを行う機能がある場合には、オーバープリント部分は特色のカラーシミュレーションが行えず、この部分に色味の異常が生じることになる。
【０００９】
例えば、前述の特許文献１、２記載の技術は、複数のページ記述言語を処理できるようにする又はページ記述言語のモードを変更するようなものであり、単一のページ記述言語に対して、その内容による判定を行った上で処理方法を選択するようなものではなかった。また、特許文献３記載の技術は、データ量やアプリケーション名からＣＰＵの処理速度を制御するものであり、トラブルを回避するようなものではなかった。また、特許文献４記載の技術は、プリンタの機能を選択するだけであり、判定によりトラブルを回避する処理を選択するようなものではなかった。
【００１０】
本発明は、このような背景技術の状況の中でなされたもので、ページ記述言語によって記述されたファイルを印刷の対象とする場合、印刷におけるトラブルを回避するようにしたページ記述言語処理装置及びページ記述言語処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【００１１】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
［１］  印刷用のページ記述言語によって記述されているファイルを解析する解析手段と、
前記解析手段によって解析した結果に基づいて、前記ファイルから印刷用のデータを生成するための生成手段を選択する選択手段
を具備することを特徴とするページ記述言語処理装置。
【００１２】
［２］  前記選択手段は、
前記生成手段の選択を、利用者による操作によって設定を変更可能とする
ことを特徴とする［１］に記載のページ記述言語処理装置。
【００１３】
［３］  前記解析手段は、
ファイルを作成したアプリケーション名、装置名又はバージョン符号に基づいて解析する
ことを特徴とする［１］に記載のページ記述言語処理装置。
【００１４】
［４］  前記解析手段は、
フォントの定義又はフォントの特徴に関するものに基づいて解析する
ことを特徴とする［１］に記載のページ記述言語処理装置。
【００１５】
［５］  前記解析手段は、
オーバープリントデータに関するものに基づいて解析し、
前記選択手段は、
前記解析手段によって解析した結果が、オーバープリントデータに関するものである場合は、色補正に関する生成手段を選択する
ことを特徴とする［１］に記載のページ記述言語処理装置。
【００１６】
［６］  前記選択手段が選択する生成手段に、
前記ファイル内のページ記述言語の修正を行う前処理を含む
ことを特徴とする［１］に記載のページ記述言語処理装置。
【００１７】
［７］  コンピュータを、
印刷用のページ記述言語によって記述されているファイルを解析する解析手段と、
前記解析手段によって解析した結果に基づいて、前記ファイルから印刷用のデータを生成するための生成手段を選択する選択手段
として機能させることを特徴とするページ記述言語処理プログラム。
【００１８】
［８］  前記選択手段は、
前記生成手段の選択を、利用者による操作によって設定を変更可能とする
ことを特徴とする［７］に記載のページ記述言語処理プログラム。
【００１９】
［９］  前記解析手段は、
ファイルを作成したアプリケーション名、装置名又はバージョン符号に基づいて解析する
ことを特徴とする［７］に記載のページ記述言語処理プログラム。
【００２０】
［１０］  前記解析手段は、
フォントの定義又はフォントの特徴に関するものに基づいて解析する
ことを特徴とする［７］に記載のページ記述言語処理プログラム。
【００２１】
［１１］  前記解析手段は、
オーバープリントデータに関するものに基づいて解析し、
前記選択手段は、
前記解析手段によって解析した結果が、オーバープリントデータに関するものである場合は、色補正に関する生成手段を選択する
ことを特徴とする［７］に記載のページ記述言語処理プログラム。
【００２２】
［１２］  前記選択手段が選択する生成手段に、
前記ファイル内のページ記述言語の修正を行う前処理を含む
ことを特徴とする［７］に記載のページ記述言語処理プログラム。
【発明の効果】
【００２３】
［１］記載のページ記述言語処理装置によれば、本構成を有していない場合に比較して、ページ記述言語によって記述されたファイルを印刷の対象とする場合、印刷におけるトラブルを回避することができる。
【００２４】
［２］記載のページ記述言語処理装置によれば、［１］記載のページ記述言語処理装置による効果に加えて、利用者の意向を反映させることができる。
【００２５】
［３］記載のページ記述言語処理装置によれば、［１］記載のページ記述言語処理装置による効果に加えて、印刷におけるトラブルをより回避することができる。
【００２６】
［４］記載のページ記述言語処理装置によれば、［１］記載のページ記述言語処理装置による効果に加えて、意図していない文字が発生するなどのトラブルを回避することができる。
【００２７】
［５］記載のページ記述言語処理装置によれば、［１］記載のページ記述言語処理装置による効果に加えて、カラーマネージメント処理が適切に働かないという問題を回避することができる。
【００２８】
［６］記載のページ記述言語処理装置によれば、［１］記載のページ記述言語処理装置による効果に加えて、印刷におけるトラブルをより回避することができる。
【００２９】
［７］記載のページ記述言語処理プログラムによれば、本構成を有していない場合に比較して、ページ記述言語によって記述されたファイルを印刷の対象とする場合、印刷におけるトラブルを回避することができる。
【００３０】
［８］記載のページ記述言語処理プログラムによれば、［７］記載のページ記述言語処理プログラムによる効果に加えて、利用者の意向を反映させることができる。
【００３１】
［９］記載のページ記述言語処理プログラムによれば、［７］記載のページ記述言語処理プログラムによる効果に加えて、印刷におけるトラブルをより回避することができる。
【００３２】
［１０］記載のページ記述言語処理プログラムによれば、［７］記載のページ記述言語処理プログラムによる効果に加えて、意図していない文字が発生するなどのトラブルを回避することができる。
【００３３】
［１１］記載のページ記述言語処理プログラムによれば、［７］記載のページ記述言語処理プログラムによる効果に加えて、カラーマネージメント処理が適切に働かないという問題を回避することができる。
【００３４】
［１２］記載のページ記述言語処理プログラムによれば、［７］記載のページ記述言語処理プログラムによる効果に加えて、印刷におけるトラブルをより回避することができる。
【発明を実施するための最良の形態】
【００３５】
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図１、図２は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア（コンピュータ・プログラム）、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、コンピュータ・プログラム、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させること、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能にほぼ一対一に対応しているが、実装においては、１モジュールを１プログラムで構成してもよいし、複数モジュールを１プログラムで構成してもよく、逆に１モジュールを複数プログラムで構成してもよい。また、複数モジュールは１コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって１モジュールが複数コンピュータで実行されてもよい。なお、１つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続（データの授受、指示、データ間の参照関係等）を含む。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク（一対一対応の通信接続を含む）等の通信手段で接続されて構成されるほか、１つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。
【００３６】
以下、印刷用のページ記述言語によって記述されているファイルとして、ＰＤＦを主に例示して説明する。
【００３７】
本実施の形態は、図１、２に示すように、ＰＤＦ受付モジュール１０、解析モジュール２０、選択モジュール３０、設定モジュール３５、ＰＤＦ・ＰＳ変換モジュール４１Ａ、ＰＳ−ＲＩＰモジュール４２Ａ、印刷モジュール４３Ａ等を有している。
なお、図１に示す実施の形態は、主に文字誤り等の印刷誤りの発生を防止するものであり、図２に示す実施の形態は、主に色調整等の印刷誤りの発生を防止するものである。
【００３８】
ＰＤＦ受付モジュール１０は、解析モジュール２０と接続されており、ＰＤＦファイルを受け付けて、そのＰＤＦファイルを解析モジュール２０へ渡す。ＰＤＦファイルを受け付けるとは、プリンタドライバからＰＤＦファイルを受け取ること、ＰＤＦファイルデータベース等からＰＤＦファイルを読み出すこと等が含まれる。そのＰＤＦファイルは、印刷結果が１ページのものであってもよいし、複数ページのものであってもよい。
【００３９】
解析モジュール２０は、ＰＤＦ受付モジュール１０、選択モジュール３０と接続されており、ＰＤＦ受付モジュール１０よりＰＤＦファイルを受け取り、そのＰＤＦファイルを解析して、その解析結果を選択モジュール３０へ渡す。また、解析モジュール２０は、そのＰＤＦファイルを作成したアプリケーション名、装置名又はバージョン符号（バージョン番号を含む）に基づいて解析するようにしてもよい。また、フォントの定義又はフォントの特徴に関するものに基づいて解析するようにしてもよい。また、オーバープリントデータに関するもの（例えば、特色の指定等）に基づいて解析するようにしてもよい。
【００４０】
選択モジュール３０は、解析モジュール２０、設定モジュール３５、ＰＤＦ・ＰＳ変換モジュール４１Ａ〜ＰＳ−ＲＩＰモジュール４１Ｈと接続されており、解析モジュール２０によって解析した結果に基づいて、ＰＤＦファイルから印刷用のデータを生成するためのＰＤＦ・ＰＳ変換モジュール４１Ａ〜ＰＳ−ＲＩＰモジュール４１Ｈ等のいずれか一つを選択する。その選択したＰＤＦ・ＰＳ変換モジュール４１Ａ〜ＰＳ−ＲＩＰモジュール４１ＨのいずれかにＰＤＦファイル及び解析結果に基づく指示を渡す。
また、設定モジュール３５からの指示に基づいて、選択に関する設定を変更してもよい。
【００４１】
設定モジュール３５は、選択モジュール３０と接続されており、選択モジュール３０の選択を、利用者による操作によって設定を変更可能とするようにしてもよい。例えば、特色を全てプロセスカラーに変換するように設定する。
【００４２】
選択モジュール３０によって選択される生成モジュールは、印刷用のデータを生成するためのものであり、複数の生成モジュールがある。例えば、その生成モジュールは、それぞれ（ＰＤＦ・ＰＳ変換モジュール４１Ａ、ＰＳ−ＲＩＰモジュール４２Ａ、印刷モジュール４３Ａ）、（ＰＤＦ・ＰＳ変換モジュール４１Ｂ、ＰＳ−ＲＩＰ（別Ｖｅｒ）モジュール４２Ｂ、印刷モジュール４３Ｂ）、（ＰＤＦ・ＰＳ変換モジュール４１Ｃ、ＰＳ−ＲＩＰ（別設定）モジュール４２Ｃ、印刷モジュール４３Ｃ）、（ＰＤＦ  Ｄｉｒｅｃｔ  ＲＩＰモジュール４１Ｄ、印刷モジュール４２Ｄ）、（ＰＤＦ表示アプリケーション処理モジュール４１Ｅ、プリンタドライバ処理モジュール４２Ｅ、ＰＳ−ＲＩＰモジュール４３Ｅ、印刷モジュール４４Ｅ）、（ＰＤＦ前処理モジュール４１Ｆ、ＰＤＦ・ＰＳ変換モジュール４２Ｆ、ＰＳ−ＲＩＰモジュール４３Ｆ、印刷モジュール４４Ｆ）、（ＰＳ−ＲＩＰモジュール４１Ｇ、色補正処理モジュール４２Ｇ、印刷モジュール４３Ｇ）、（ＰＳ−ＲＩＰモジュール４１Ｈ、色補正処理モジュール４２Ｈ、印刷モジュール４３Ｈ）により構成されているモジュールである。なお、前文のかっこ内が１つの生成モジュールを構成しているモジュール群である。
【００４３】
これらは、選択モジュール３０によって、選択される。その選択の際の基準となるものは、そのＰＤＦファイルを作成したアプリケーション名、装置名又はバージョン符号、フォントの定義又はフォントの特徴に関するもの、オーバープリントデータに関するものがある。
例えば、ＰＤＦファイルを作成したアプリケーションと相性のよいモジュールが選択される。
例えば、フォントの定義が二重に行われている場合は、（ＰＤＦ前処理モジュール４１Ｆ、ＰＤＦ・ＰＳ変換モジュール４２Ｆ、ＰＳ−ＲＩＰモジュール４３Ｆ、印刷モジュール４４Ｆ）が選択される。
例えば、フォントＩＤを重複して用いている場合は、そのような場合でも問題が起きないフォントキャッシュを用いている（ＰＤＦ・ＰＳ変換モジュール４１Ｂ、ＰＳ−ＲＩＰ（別Ｖｅｒ）モジュール４２Ｂ、印刷モジュール４３Ｂ）又はフォントキャッシュを用いない（ＰＤＦ・ＰＳ変換モジュール４１Ｃ、ＰＳ−ＲＩＰ（別設定）モジュール４２Ｃ、印刷モジュール４３Ｃ）が選択される。
例えば、特色を用いているＰＤＦファイルの場合は、（ＰＳ−ＲＩＰモジュール４１Ｇ、色補正処理モジュール４２Ｇ、印刷モジュール４３Ｇ）又は（ＰＳ−ＲＩＰモジュール４１Ｈ、色補正処理モジュール４２Ｈ、印刷モジュール４３Ｈ）が選択される。
【００４４】
まず、ＰＤＦ・ＰＳ変換モジュール４１Ａ、ＰＳ−ＲＩＰモジュール４２Ａ、印刷モジュール４３Ａについて説明する。
ＰＤＦ・ＰＳ変換モジュール４１Ａは、選択モジュール３０からＰＤＦファイル及び解析結果に基づく指示を受け取り、その指示に基づいてＰＤＦファイルの内容を変換する（ポストスクリプトのプログラムに書き換える）。
ＰＳ−ＲＩＰモジュール４２Ａは、ＰＤＦ・ＰＳ変換モジュール４１Ａから受け付けたポストスクリプトデータに対してＲＩＰ（Ｒａｓｔｅｒ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｏｒ）処理を行う。なお、ＲＩＰ処理とは、ページ記述言語によるプログラムをラスターイメージ（ビットマップ）に展開するものである。ここでのＲＩＰ処理は、最新のバージョンのＰＤＦファイルを扱うもので、その設定についてもデフォルトの設定を採用したものである。
印刷モジュール４３Ａは、ＰＳ−ＲＩＰモジュール４２Ａから受け付けたラスターイメージを用いて印刷処理するものである。つまり、ラスターイメージをプリンタに対して渡すことを行う。
【００４５】
次に、ＰＤＦ・ＰＳ変換モジュール４１Ｂ、ＰＳ−ＲＩＰ（別Ｖｅｒ）モジュール４２Ｂ、印刷モジュール４３Ｂについて説明する。
ＰＤＦ・ＰＳ変換モジュール４１Ｂは、ＰＤＦ・ＰＳ変換モジュール４１Ａと同様である。
ＰＳ−ＲＩＰ（別Ｖｅｒ）モジュール４２Ｂは、ＰＳ−ＲＩＰモジュール４２Ａとは異なるバージョンのＲＩＰ処理を行うものである。
印刷モジュール４３Ｂは、印刷モジュール４３Ａと同様である。なお、印刷モジュール４３Ｃ、４２Ｄ、４４Ｅ、４４Ｆ、４３Ｇ、４３Ｈも同様であるので、説明は省略する。
【００４６】
次に、ＰＤＦ・ＰＳ変換モジュール４１Ｃ、ＰＳ−ＲＩＰ（別設定）モジュール４２Ｃ、印刷モジュール４３Ｃについて説明する。
ＰＤＦ・ＰＳ変換モジュール４１Ｃは、ＰＤＦ・ＰＳ変換モジュール４１Ａと同様である。
ＰＳ−ＲＩＰ（別設定）モジュール４２Ｃは、ＰＳ−ＲＩＰモジュール４２Ａとは異なる設定のＲＩＰ処理を行うものである。ここでの設定としては、例えば、フォントキャッシュの仕組みを使わないように設定すること等がある。
【００４７】
次に、ＰＤＦ  Ｄｉｒｅｃｔ  ＲＩＰモジュール４１Ｄ、印刷モジュール４２Ｄについて説明する。
ＰＤＦ  Ｄｉｒｅｃｔ  ＲＩＰモジュール４１Ｄは、ＰＤＦファイルから直接ＲＩＰ処理を行うものである。
【００４８】
次に、ＰＤＦ表示アプリケーション処理モジュール４１Ｅ、プリンタドライバ処理モジュール４２Ｅ、ＰＳ−ＲＩＰモジュール４３Ｅ、印刷モジュール４４Ｅについて説明する。ＰＤＦファイルをいったん他のＰＤＦ表示アプリケーションで処理させて、その結果（そのアプリケーションが出力するＰＤＦファイルへの変換）を印刷しようとするものである。
ＰＤＦ表示アプリケーション処理モジュール４１Ｅは、選択モジュール３０からＰＤＦファイル及び解析結果に基づく指示を受け取り、ＰＤＦを表示するアプリケーションである。プリンタドライバ処理モジュール４２Ｅに対して、ＰＤＦファイルの出力を指示する。
プリンタドライバ処理モジュール４２Ｅは、ＰＤＦ表示アプリケーション処理モジュール４１Ｅからの指示を受け、ポストスクリプトデータへ変換するものである。
ＰＳ−ＲＩＰモジュール４３Ｅは、ＰＳ−ＲＩＰモジュール４２Ａと同様である。
【００４９】
次に、ＰＤＦ前処理モジュール４１Ｆ、ＰＤＦ・ＰＳ変換モジュール４２Ｆ、ＰＳ−ＲＩＰモジュール４３Ｆ、印刷モジュール４４Ｆについて説明する。ＰＤＦファイルの内容を、問題が発生しないように修正処理を行ってから、ＰＤＦファイルの処理をするものである。
ＰＤＦ前処理モジュール４１Ｆは、ＰＤＦファイルに対して前処理を行うものである。ここでの前処理は、ＰＤＦ・ＰＳ変換モジュール４２Ｆによる処理に先立って行うものであり、ＰＤＦ・ＰＳ変換モジュール４２Ｆによる処理が可能なようにＰＤＦファイルを書き換えるものである。
ＰＤＦ・ＰＳ変換モジュール４２Ｆは、ＰＤＦ・ＰＳ変換モジュール４１Ａと同様である。
ＰＳ−ＲＩＰモジュール４３Ｆは、ＰＳ−ＲＩＰモジュール４２Ａと同様である。
【００５０】
次に、ＰＳ−ＲＩＰモジュール４１Ｇ、色補正処理モジュール４２Ｇ、印刷モジュール４３Ｇについて説明する。
ＰＳ−ＲＩＰモジュール４１Ｇは、選択モジュール３０からＰＤＦファイル及び解析結果に基づく指示を受け取り、色補正処理モジュール４２Ｇとの協働によって色補正を行いながら、ＰＤＦファイルに対してＲＩＰ処理を行う。
色補正処理モジュール４２Ｇは、ＰＳ−ＲＩＰモジュール４１Ｇと協働して、描画命令毎の色補正処理を行う。例えば、描画命令毎に特色の情報をプロセスカラーに変換することを行う。
【００５１】
次に、ＰＳ−ＲＩＰモジュール４１Ｈ、色補正処理モジュール４２Ｈ、印刷モジュール４３Ｈについて説明する。前述の色補正処理モジュール４２Ｇが、描画命令毎の色補正処理を行うのに対して、最終的なラスターイメージに対して色補正処理を一括に行うものである。
ＰＳ−ＲＩＰモジュール４１Ｈは、選択モジュール３０からＰＤＦファイル及び解析結果に基づく指示を受け取り、そのＰＤＦファイルに対してＲＩＰ処理を行う。
色補正処理モジュール４２Ｈは、ＰＳ−ＲＩＰモジュール４１Ｈからラスターイメージを受け取り、そのラスターイメージに対して色補正処理を行う。
【００５２】
図３を用いて、本実施の形態を適用したシステム例の全体の構成を説明する。
クライアントＰＣ３１０は、通信回線３８０を介してプリントサーバー３２０と接続されており、操作者の操作によって電子文書の印刷が指示される。つまり、電子文書からＰＤＦファイルが生成され、そのＰＤＦファイルをプリントサーバー３２０へ渡す。
プリントサーバー３２０は、クライアントＰＣ３１０から通信回線３８０を介してＰＤＦファイルを受け取り、図１又は図２に示したモジュールによる処理を行い、ラスターイメージを接続インタフェース３９０を介してプリンタ３３０へ渡す。
プリンタ３３０は、接続インタフェース３９０を介してプリントサーバー３２０に接続されており、ラスターイメージを受け取り、印刷を行う。
なお、一例として、通信回線３８０はインターネット等のネットワークであり、接続インタフェース３９０はＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）等の接続インタフェースであってもよいし、両者ともネットワークであってもよい。
【００５３】
図４に示すフローチャートを用いて、本実施の形態による処理例を説明する。
ステップＳ４０２では、ＰＤＦ受付モジュール１０が、ＰＤＦファイルを受け付ける。
ステップＳ４０４では、解析モジュール２０が、そのＰＤＦファイルを解析する。
ステップＳ４０６では、選択モジュール３０が、解析結果に基づいて、ステップＳ４０８〜ステップＳ４１４等の処理を選択する。
ステップＳ４０８では、ＰＤＦ・ＰＳ変換モジュール４１Ａ、ＰＳ−ＲＩＰモジュール４２Ａ、印刷モジュール４３Ａによる処理を行う。
ステップＳ４１０では、ＰＤＦ・ＰＳ変換モジュール４１Ｂ、ＰＳ−ＲＩＰ（別Ｖｅｒ）モジュール４２Ｂ、印刷モジュール４３Ｂによる処理を行う。
ステップＳ４１２では、ＰＤＦ・ＰＳ変換モジュール４１Ｃ、ＰＳ−ＲＩＰ（別設定）モジュール４２Ｃ、印刷モジュール４３Ｃによる処理を行う。
ステップＳ４１４では、ＰＤＦ  Ｄｉｒｅｃｔ  ＲＩＰモジュール４１Ｄ、印刷モジュール４２Ｄによる処理を行う。
ステップＳ４０６で、ステップＳ４０８〜ステップＳ４１４以外が選択された場合、ステップＳ４０４での解析結果に応じた変換・印刷処理を行う。
ステップＳ４２０では、プリンタ３３０で印刷を行う。
【００５４】
図５を用いて、ＰＤＦファイルの例を示す説明する。なお、図５内の直線による下線は、ＰＤＦファイル内の行番号を示す。図６、７についても同様である。
図５では、同じ名前「ＫＥＤＸＳＺ＋ＳｈｉｎＧｏＰｒｏ−Ｂｏｌｄ−９０ｍｓｐ−ＲＫＳＪ−Ｈ」（波線による下線）でフォントが、２１行目及び２４行目で２つ定義されている。
ＰＤＦは、最初に定義してあるフォントを、後で印刷に指定することが規定されている。しかし、ＰＤＦを処理するソフトウェアによっては、後で定義された方のフォントで上書きを行い、後から定義されたフォントでしか印刷がされない場合がある。つまり、本来ならば、２１行目による定義を有効としなければならないのであるが、２４行目による定義が有効となってしまう。
【００５５】
このようなＰＤＦファイルに埋め込まれたフォントは、和文の場合、一つのフォントに和文の文字が全て定義されるわけではなく、そのときに使う２５６文字を抜き出して定義されている。このように、前に定義されたフォントと後に定義されたフォントでは同じコードでも別の文字であるため、前の定義によるフォントが使われるべき所に後のフォントの定義が使われると、文章が成り立たなくなったり未定義の文字で印字されてしまったりする。
【００５６】
図６を用いて、ＰＤＦファイルの処理例を説明する。つまり、図５に示したＰＤＦファイルに対する、ＰＤＦ前処理モジュール４１Ｆによる処理結果を示す。
重複するフォント定義の名前があれば、重複しない名前に変更する。つまり、図５の例では、２４行目の「ＫＥＤＸＳＺ＋ＳｈｉｎＧｏＰｒｏ−Ｂｏｌｄ−９０ｍｓｐ−ＲＫＳＪ−Ｈ」（波線による下線）を、図６に示すように「ＬＥＤＸＳＺ＋ＳｈｉｎＧｏＰｒｏ−Ｂｏｌｄ−９０ｍｓｐ−ＲＫＳＪ−Ｈ」（点線による下線）に変更する。これに伴って、７２行目、７３行目も変更する。
そして、ＰＤＦ・ＰＳ変換モジュール４２Ｆに対して、ＰＤＦファイルを渡すのであるが、ＰＤＦ・ＰＳ変換モジュール４２Ｆは、重複した名前では正しい動作を行わないＰＤＦ処理ソフトウェアであってもよい。
フォントの重複の確認と名前の置き換えは、フォントの定義部分とフォントの実体部分（コードとバイナリデータであるフォントの対応）、それぞれに対して行う。
【００５７】
図７を用いて、ＰＤＦファイルの例を説明する。特に、フォント名からの除外について説明する。
図７に示す例は、２つのフォント「ＡＫＤＫＴＬ＋ＯｒｉｇｉｎａｌＦｏｎｔ−ＬｉｇｈｔＩｔａｌｉｃ」（波線の下線）、「ＡＫＤＫＴＬ＋ＯｒｉｇｉｎａｌＦｏｎｔ−Ｌｉｇｈｔ」（点線の下線）が定義されている。名前はＬｉｇｈｔＩｔａｌｉｃとＬｉｇｈｔであり、異なるので、ＰＤＦファイルとしての問題はない。
【００５８】
しかし、このコードの例では表示されていない部分で定義されているフォントの実体（バイナリデータ）の中に含まれているフォントのＩＤが重複している場合がある。
フォントのＩＤは、そのフォントを作成するときに、フォントを作成するアプリケーションで指定するもので、市販のフォントでは重複がないように割り当てが行われるが、利用者が自分でフォントを作成して使う場合には重複して割り当ててしまうことがある。
一方、処理の高速化のために、いったんビットマップに展開したフォントを保持しておき、同じビットマップ展開処理が必要なときには再利用するフォントキャッシュの仕組みを持つＲＩＰ処理を行うシステムでは、フォントの照合に時間のかかるフォント名ではなくフォントＩＤを使う場合がある。
しかし、この例のように、ＬｉｇｈｔとＬｉｇｈｔＩｔａｌｉｃが同じフォントＩＤであるとすると、フォントキャッシュの仕組みは２つのフォントを同一のフォントであると混同し、利用者の意図した出力にはならない場合がある。
【００５９】
このような問題を回避するために、本実施の形態では、利用者により設定したフォント名のリストに存在するフォント、この場合は「ＯｒｉｇｉｎａｌＦｏｎｔ−ＬｉｇｈｔＩｔａｌｉｃ」、「ＯｒｉｇｉｎａｌＦｏｎｔ−Ｌｉｇｈｔ」が含まれているフォント名、がＰＤＦファイルに存在する場合には、フォントキャッシュの仕組みで問題が起きない処理システムを使用するか、あるいはフォントキャッシュの仕組みを使わないように設定した処理システム（ＰＤＦ・ＰＳ変換モジュール４１Ｃ、ＰＳ−ＲＩＰ（別設定）モジュール４２Ｃ、印刷モジュール４３Ｃの組み合わせ）を使用する。
【００６０】
図８を参照して、本実施の形態のハードウェア構成例について説明する。図８に示す構成は、例えばパーソナルコンピュータ（ＰＣ）などによって構成されるものであり、スキャナ等のデータ読み取り部８１７と、プリンタなどのデータ出力部８１８を備えたハードウェア構成例を示している。
【００６１】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）８０１は、上述の実施の形態において説明した各種のモジュール、すなわち、ＰＤＦ受付モジュール１０、解析モジュール２０、選択モジュール３０、ＰＤＦ・ＰＳ変換モジュール４１Ａ、ＰＳ−ＲＩＰモジュール４２Ａ、印刷モジュール４３Ａ等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【００６２】
ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）８０２は、ＣＰＵ８０１が使用するプログラムや演算パラメータ等を格納する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）８０３は、ＣＰＵ８０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはＣＰＵバスなどから構成されるホストバス８０４により相互に接続されている。
【００６３】
ホストバス８０４は、ブリッジ８０５を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス８０６に接続されている。
【００６４】
キーボード８０８、マウス等のポインティングデバイス８０９は、操作者により操作される入力デバイスである。ディスプレイ８１０は、液晶表示装置又はＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）などから成り、各種情報をテキストやイメージ情報として表示する。
【００６５】
ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）８１１は、ハードディスクを内蔵し、ハードディスクを駆動し、ＣＰＵ８０１によって実行するプログラムや情報を記録又は再生させる。ハードディスクは、受け付けたＰＤＦファイルやラスターイメージなどが格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。
【００６６】
ドライブ８１２は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体８１３に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース８０７、外部バス８０６、ブリッジ８０５、及びホストバス８０４を介して接続されているＲＡＭ８０３に供給する。リムーバブル記録媒体８１３も、ハードディスクと同様のデータ記録領域として利用可能である。
【００６７】
接続ポート８１４は、外部接続機器８１５を接続するポートであり、ＵＳＢ、ＩＥＥＥ１３９４等の接続部を持つ。接続ポート８１４は、インタフェース８０７、及び外部バス８０６、ブリッジ８０５、ホストバス８０４等を介してＣＰＵ８０１等に接続されている。通信部８１６は、ネットワークに接続され、外部とのデータ通信処理を実行する。データ読み取り部８１７は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部８１８は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【００６８】
なお、図８に示すハードウェア構成は、１つの構成例を示すものであり、本実施の形態は、図８に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア（例えば特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：ＡＳＩＣ）等）で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図８に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機（スキャナ、プリンタ、複写機、ファックス等のいずれか２つ以上の機能を有している画像処理装置）などに組み込まれていてもよい。
【００６９】
前記実施の形態においては、ＰＤＦ、ＰｏｓｔＳｃｒｉｐｔを示したが、その他のファイル形式、ページ記述言語であってもよい。また、前記実施の形態においては、ラスター処理した結果をプリンタなどへの出力処理を行うものとしたが、ラスターデータのファイルとして保存し、別の処理装置で利用できるようにするものであってもよい。
【００７０】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク（ＤＶＤ）であって、ＤＶＤフォーラムで策定された規格である「ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等」、ＤＶＤ＋ＲＷで策定された規格である「ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等」、コンパクトディスク（ＣＤ）であって、読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）等、光磁気ディスク（ＭＯ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去及び書換可能な読出し専用メモリ（ＥＥＰＲＯＭ）、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
【図面の簡単な説明】
【００７１】
【図１】本実施の形態の構成例についての概念的なモジュール構成図である。
【図２】本実施の形態の構成例についての概念的なモジュール構成図である。
【図３】本実施の形態を適用したシステム例の全体の構成図である。
【図４】本実施の形態による処理例を示すフローチャートである。
【図５】ＰＤＦファイルの例を示す説明図である。
【図６】ＰＤＦファイルの処理例を示す説明図である。
【図７】ＰＤＦファイルの例を示す説明図である。
【図８】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【符号の説明】
【００７２】
１０…ＰＤＦ受付モジュール
２０…解析モジュール
３０…選択モジュール
３５…設定モジュール
４１Ａ、４１Ｂ、４１Ｃ…ＰＤＦ・ＰＳ変換モジュール
４１Ｄ…ＰＤＦ  Ｄｉｒｅｃｔ  ＲＩＰモジュール
４１Ｅ…ＰＤＦ表示アプリケーション処理モジュール
４１Ｆ…ＰＤＦ前処理モジュール
４１Ｇ、４１Ｈ、４２Ａ、４３Ｅ、４３Ｆ…ＰＳ−ＲＩＰモジュール
４２Ｂ…ＰＳ−ＲＩＰ（別Ｖｅｒ）モジュール
４２Ｃ…ＰＳ−ＲＩＰ（別設定）モジュール
４２Ｄ、４３Ａ、４３Ｂ、４３Ｃ、４３Ｇ、４３Ｈ、４４Ｅ、４４Ｆ…印刷モジュール
４２Ｅ…プリンタドライバ処理モジュール
４２Ｆ…ＰＤＦ・ＰＳ変換モジュール
４２Ｇ、４２Ｈ…色補正処理モジュール
３１０…クライアントＰＣ
３２０…プリントサーバー
３３０…プリンタ
３８０…通信回線
３９０…接続インタフェース
８０１…ＣＰＵ
８０２…ＲＯＭ
８０３…ＲＡＭ
８０４…ホストバス
８０５…ブリッジ
８０６…外部バス
８０７…インタフェース
８０８…キーボード
８０９…ポインティングデバイス
８１０…ディスプレイ
８１１…ＨＤＤ
８１２…ドライブ
８１３…リムーバブル記録媒体
８１４…接続ポート
８１５…外部接続機器
８１６…通信部
８１７…データ読み取り部
８１８…データ出力部
【図１】
2009086879.tif 000003
【図２】
2009086879.tif 000004
【図３】
2009086879.tif 000005
【図４】
2009086879.tif 000006
【図５】
2009086879.tif 000007
【図６】
2009086879.tif 000008
【図７】
2009086879.tif 000009
【図８】
2009086879.tif 000010