(57)【要約】【課題】  プリンタドライバによる印刷とダイレクトプリントの両方が行えるアプリケーションにおいて、印刷データによって、どちらの印刷方法が適しているかを自動的に判断する。また、印刷データを選択された印刷方法に合わせて自動的に最適化する。これによって、従来ユーザにかかっていた負担（印刷方法の選択、及び電子文書の最適化処理の要不要の判断）を軽減させることを目的とする。【解決手段】  複数の印刷方法（例えば、プリンタドライバやダイレクトプリント）を持つ印刷処理装置であって、電子文書を解析する電子文書解析手段と、その解析結果を利用して印刷方法を決定する印刷方法判断手段と、電子文書を選択された印刷方法に合わせて最適化する電子文書加工手段と、を有することを特徴とする。【選択図】  図１
2008269157.tif 000002
【特許請求の範囲】
【請求項１】
印刷装置と印刷処理装置を通信可能に接続した印刷システムであって、
前記印刷処理装置は、電子文書をプリントデータに変換してから印刷装置に送信する印刷手段１と、前記電子文書をプリントデータに変換せずに印刷装置に送信する印刷手段２と、
前記電子文書を解析する電子文書解析手段と、
前記電子文書解析手段による解析結果を利用して前記２つの印刷方法から印刷方法を決定する印刷方法判断手段と、
前記電子文書を前記印刷方法判断手段によって選択された印刷方法に合わせて最適化する電子文書加工手段と、
前記電子文書をプリントデータに変換するプリンタデータ作成手段と、
前記電子文書または前記プリントデータを印刷装置に送信するデータ送信手段と、
を有することを特徴とする印刷システム。
【請求項２】
前記印刷方法判断手段は、フォントのグラフィック形状が電子文書内に含まれているかどうかを判断基準とする請求項１に記載の印刷システム。
【請求項３】
前記印刷方法判断手段は、プリンタデータに変換せずに印刷装置に送信する印刷方法を選択した場合、前記電子文書加工手段に前記電子文書内にフォントのグラフィック形状を埋め込むよう、または前記文書内に含まれる画像の解像度を印刷装置の解像度に合わせるよう、またはその両方を実行するように指示する電子文書加工指示手段を有することを特徴とする請求項１に記載の印刷システム。
【請求項４】
前記電子文書加工手段は、前記電子文書内にフォントのグラフィック形状を埋め込むフォント埋め込み手段と、
前記電子文書内に含まれる画像の解像度を印刷装置の解像度に合わせる画像解像度変換手段と、
を有することを特徴とする請求項1に記載の印刷システム。
【請求項５】
前記電子文書は、ＰＤＦ（Portable Document Format）である請求項１に記載の印刷システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中間言語で記述された電子文書を印刷する際に、プリントデータに変換してから印刷装置へ送信する方法と、プリントデータに変換せずに送信する方法の両方を実行可能な印刷処理装置における、印刷方法の選択に関するものである。
【背景技術】
【０００２】
従来、電子文書そのものの公知の技術としては、アドビ・システムズのポータブルドキュメントフォーマット（ＰＤＦ）があるが、そのデータフォーマットは、ＵＲＬ（ｈｔｔｐ：／／ｐａｒｔｎｅｒｓ．ａｄｏｂｅ．ｃｏｍ／ａｓｎ／ｄｅｖｅｌｏｐｅｒ／ａｃｒｏｓｄｋ／ＤＯＣＳ／ｐｄｆｓｐｅｃ．ｐｄｆ）にて一般に公開しているものである。
【０００３】
このような電子文書にフォントを埋め込むことが可能に構成されている。これにより、電子文書を表示させる側の別のパソコンにインストールされていないフォントを電子文書の作成環境（フォントがインストールされている環境）と同じ表示／印刷結果を得たい場合の仕組みとしてフォントを埋め込むことが可能となっている。
【０００４】
また、電子文書にフォントが埋め込まれていない場合は、内蔵フォントへの置き換えを行うフォント置換処理が行われる。
【０００５】
一方、パーソナルコンピュータ等の情報処理装置（以下、ＰＣと呼ぶ）では、直接、あるいはネットワーク経由で接続されているプリンタに、電子文書を送信して印刷することができる。従来、ＰＤＦに代表される中間データフォーマットの電子文書を印刷する技術として、プリンタドライバ経由による印刷と、ダイレクトプリントがある。
【０００６】
プリンタドライバ経由の印刷とは、一般的な印刷であり、ＰＣにインストールされたプリンタドライバによって、電子文書をプリンタが認識可能なデータ、例えばＰＤＬ(Page Description Language)データに変換してからプリンタへ送信し、印刷するものである。
【０００７】
ダイレクトプリントによる印刷とは、ＰＣ側でＰＤＬデータに変換することなく、直接電子文書をプリンタへ送信する。プリンタは受信した電子文書を解釈し印刷を実行するものである。
【０００８】
プリンタドライバによる印刷では、Ｗｉｎｄｏｗｓ（登録商標）等のＯＳのグラフィックエンジンを介してＰＤＬ変換（色空間や座要変換）を行うため、印刷品質（精度）がダイレクトプリントに比べて低い。例えば、色空間がＣＭＹＫであらわされている電子文書を印刷する際、一旦グラフィックエンジンによってＯＳの色空間（例えば、Ｗｉｎｄｏｗｓ（登録商標）であれば、ＲＧＢ色空間）に変換され、再びプリンタの色空間（一般的には、ＣＭＹＫ色空間）に変換される。この色空間変換処理により画質が悪化する。
【０００９】
一方で、プリンタドライバによる印刷では、電子文書内にフォントが埋め込まれておらず、かつそのフォントがプリンタに搭載されていない場合においても、ＰＣ側のシステムに搭載されているフォントをＰＤＬに埋め込むことで意図通りの形状で出力が可能である。また、プリンタの解像度に応じて画像をダウンサンプリングしたＰＤＬを作成するなど、処理の効率化を実現する機能も搭載されている。
【００１０】
ダイレクトプリントによる印刷では、電子文書内にフォントが埋め込まれておらず、かつそのフォントがプリンタに搭載されていない場合、プリンタが搭載している他のフォントへの置き換えを行うフォント置換処理が行われて印刷される。意図通りの出力結果を得るためには、フォントを埋め込んだ電子文書に変換する必要がある。このように、ダイレクトプリントの場合、意図通りの主力を得たり、効率的な処理を行うためには、フォントを埋め込んだり、画像をダウンサンプリングしたりと、事前に電子文書自体を加工してからプリンタに送信する必要がある。  
【００１１】
なお、Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ（ＰＤＦ）は、カリフォルニア州サンノゼのＡｄｏｂｅ  Ｓｙｓｔｅｍｓ  Ｉｎｃ．の商標である。
【特許文献１】特開２００３−２９６０６８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
プリンタドライバによる印刷と、ダイレクトプリントの両方が行えるアプリケーションにおいて、ユーザは上記２つのうちから印刷方法を選択する必要がある。上述のように印刷品質の観点からは、ダイレクトプリントが望ましい。しかし、ダイレクトプリントによる印刷において、意図通りの出力結果を得るため、また効率よく処理するためには電子文書を事前に加工する前処理を加える必要がある（例えば、フォントを埋め込むなど）。また、場合によってはダイレクトプリントが行えないこともある（例えば、プリンタがダイレクトプリントをサポートしていない場合、文書内に埋め込み不可のフォントが含まれている場合など）。そのような場合、ユーザはプリンタドライバによる印刷を選択する必要がある。
【００１３】
従来、上記印刷方法の選択、及び電子文書の加工処理の要不要の判断はユーザに委ねられており、専門知識のないユーザにとっては負担となっていた。
【課題を解決するための手段】
【００１４】
本発明は、上記課題に鑑みてなされたもので、次のような構成からなる。すなわち、複数の印刷方法（例えば、プリンタドライバやダイレクトプリント）を持つ印刷処理装置であって、電子文書を解析する電子文書解析手段と、その解析結果を利用して印刷方法を決定する印刷方法判断手段と、電子文書を選択された印刷方法に合わせて最適化する電子文書加工手段と、を有することを特徴とする。
【発明の効果】
【００１５】
本発明によれば、電子文書をプリントデータに変換してからプリンタに送信する方法と、電子文書をそのままプリンタに送信する方法の、両方を選択可能な印刷処理装置において、印刷方法を自動的に選択し、また電子文書を印刷方法に合わせて自動的に最適化する方法を提供することができる。それによって、ユーザにかかる負担を軽減させることが可能となる。
【発明を実施するための最良の形態】
【００１６】
（実施例１）
＜システム構成例＞
図１は、本発明の第一実施形態に係る印刷システム構成の一例を示すブロック図である。図１において、クライアント１０１は、画像処理装置としての機能を有するコンピュータ等の情報処理装置であり、画像形成が可能な画像形成装置であるプリンタ１１０と電話回線やＬＡＮ、インターネット等のネットワーク１２０を介して接続されている（ＰＣとプリンタはネットワークを介さず直接接続さていても構わない）。ここでは、ＰＣ、プリンタともに１台ずつ示しているが、ＰＣ及びプリンタの両方もしくは何れかが複数存在するシステムであっても本発明は適用できる。
【００１７】
図１において、クライアント１０１には、電子文書解析部１０１−１、電子文書加工処理部１０１−２、印刷方法判断処理部１０１−３、プリンタドライバ１０１−４、データ入出力処理部１０１−５、ディスプレイ１０３−８が接続された画像表示部１０３−７、等が含まれる。さらに、不図示の文書処理アプリケーションなどのアプリケーションプログラムにより作成されたアプリケーションデータファイルや、本実施例で用いるＰＤＦに代表される中間ファイル等を格納するためのデータ格納部１０１−６等が含まれる。データ格納部１０１−６には、クライアント１０１のオペレーティングシステムが保持するフォントファイルなどのシステム情報が保存されている。またクライアント１０１の有するこれらソフトウェア資源およびハードウェア資源のデータベースも保存されている。
【００１８】
電子文書解析部１０１−１では、ＰＤＦやＳＶＧ等に代表される中間ファイル文書を解析し、文書内の埋め込みフォントの有無や、画像の解像度等の情報を取得する。以降、本実施例では電子文書がＰＤＦであるものとして説明するが、ＳＶＧなど、他の中間ファイルでも本発明は適用できる。
【００１９】
電子文書加工処理部１０１−２は、ＰＤＦ内にフォントを埋め込む、ＰＤＦ内に含まれる画像の解像度を変更する等、ＰＤＦファイルの加工を行う。
【００２０】
印刷方法判断処理部１０１−３は、印刷するＰＤＦファイルの印刷方法（プリンタドライバによる印刷かダイレクトプリント）を判定し、必要に応じて電子文書加工処理部１０１−２へＰＤＦを加工するように指示する。
【００２１】
プリンタドライバ１０１−４は、ＰＤＦファイルをプリンタドライバによってＰＤＬに変換する処理を行う。
【００２２】
データ入出力処理部１０１−５は、プリンタドライバで作成したＰＤＬファイルや、ＰＤＦファイルそのものを、ネットワーク１２０を介してプリンタに送信する処理を行う。また、図１ではキーボードやポインティングデバイス等の入出力デバイスもデータ入出力処理部１０１−５に接続されているものとしている。
【００２３】
＜ハードウェアの構成例＞
図２はクライアントとして使用可能な情報処理装置の構成を示すハードウェア構成図である。図１のクライアント１０１の構成は、図２の構成において、メモリ１０１ｂに格納されたプログラムを、ＣＰＵ１０１ａにより実行することで実現される。また、図２の構成を実現するためのプログラムは、ハードディスク等の外部メモリ１０１ｃに格納される。外部メモリ１０１ｃは、フレキシブルディスクやＣＤＲＯＭ等の取り外し可能な記憶媒体を用いるものであっても良い。また、データ格納部１０１−６は、外部メモリ１０１ｃの一部領域として実現することができる。ディスプレイ１０１−８には画像が表示され、Ｉ／Ｏインターフェース１０１ｄを介してネットワーク１２０等に接続される。また、キーボードやポインティングデバイス１０１ｅにより、オペレータは必要に応じて入力を行う。
【００２４】
プリンタ１１０はクライアント１０１から受け取った印刷指示に従い印刷を行う。プリンタドライバ印刷によるＰＤＬ、またはダイレクトプリントによるＰＤＦ、もしくはその両方の印刷が実行可能であれば、構成等は特に問わないため、ここでは詳細な説明は省略する。
【００２５】
＜本実施例における処理概要＞
次に図４に示したフローチャートを用いて、クライアント１０１の処理概要を説明する。
【００２６】
クライアント１０１の処理は、ユーザが電子文書の印刷指示を行うことから開始される。
【００２７】
まず、印刷方法判定処理部にて、印刷対象のＰＤＦがプリンタドライバ経由の印刷とダイレクトプリントによる印刷のどちらが適しているかを判定する（Ｓ５０１）。なお実施例１では、ＰＤＦ内にフォントが埋め込まれているかどうかを判定の基準とする。詳細な説明は後述する。
【００２８】
ダイレクトプリントが選択された場合Ｓ５０３へ移行し、プリンタドライバが選択された場合Ｓ５０４へ移行する（Ｓ５０２）。
【００２９】
ダイレクトプリントが選択された場合、電子文書加工処理部１０１−２にてダイレクトプリントが効率的に行えるようにＰＤＦを最適化する。なお、本実施例では、プリンタに搭載されていないかつＰＤＦ内に埋め込まれていないフォントを埋め込んだＰＤＦを最適化したＰＤＦという（Ｓ５０３）。詳細な処理は後述する。
【００３０】
プリンタドライバが選択された場合、プリンタドライバ１０１−４は、プリンタドライバによってＰＤＦ文書からＰＤＬを作成し、Ｓ５０５へ移行する。プリンタドライバによる印刷のＰＤＬの作成の仕組みついては後述する。
【００３１】
次にデータ入出力部にて、ＰＤＦもしくはＰＤＬデータをプリンタへ送信し、プリンタ１１０に印刷の実行処理を促す（Ｓ５０５）。
【００３２】
本実施例では、前述のようにフォントが文書内に埋め込まれているかを印刷方法の判定基準としている。そこで、まずPDFやSVGに代表される中間データフォーマットファイル（以下、中間ファイルと呼ぶ）における文字描画の仕組みについて説明する。
【００３３】
＜中間ファイルにおける文字描画の仕組み＞
ＰＤＦ等の中間ファイルは、文書を構成するオブジェクトを記述する描画コマンドとオブジェクトの位置やサイズ等を示すオペランドとを含む。描画コマンドは通常、オブジェクトの種類に応じて、文字を出力する「文字系」、ビットマップ等の画像を出力する「イメージ系」、直線や円、四角形等の図形を出力する「グラフィック系」の3種類に大別される。
【００３４】
ここでＭｉｃｒｏＳｏｆｔ社のＷｉｎｄｏｗｓ（登録商標）システムの「文字系」描画コマンドについて説明を行う。図３は、文字描画に必要な情報を表す模式図である。図３は一例であるが、一般的にも文字描画コマンドにはオペランドとして以下の４つのフォント情報が必要である。
【００３５】
（１）文字コード３０１：
文字を特定するための情報である。ＡＳＣＩＩ、ＳｈｉｆｔＪＩＳ、Ｕｎｉｃｏｄｅ等、予め定められたコード体系に従った文字コードが用いられる。
【００３６】
（２）フォント属性３０２：
文字描画に適応するフォントフェース名、グリフへの修飾を表すイタリック／ボールド指定有無、文字の大きさを表すポイント数等の情報を含む。
【００３７】
（３）描画属性３０３：
文字の描画位置や、色、クリップの状態等を表す情報を含む。
【００３８】
（４）フォント形状情報３０４：
ゴシックや明朝等のフェース名で指定される文字描画形状を表す情報を含む。文字毎の描画形状情報（グリフと呼ぶ。）を有する。フォントの情報形式としては、大きくビットマップフォントとアウトラインフォントとに分かれ、ＴｒｕｅＴｙｐｅ、ＯＰＥＮＴＹＰＥ等の各種フォーマットが定義されている。
【００３９】
そして、これらの情報全てが揃わなければ、ユーザが意図した通りの文字描画は成立しない。中間ファイル内の文字描画データには、文字コード、フォント属性、描画属性の３つのフォント情報を用いた文字描画コマンドが含まれるのが普通である。そしてコンピュータ等において文字描画を実行する際、すなわち中間ファイルを再生する際には、文字描画コマンドに含まれるフォントフェース名をもとに、当該コンピュータを管理するＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）が保持している同じフォントフェース名のフォント形状情報を参照して文字を描画するのが普通である。
【００４０】
しかし、指定されたフォント形状情報が、すべてのコンピュータ環境（ＯＳにより提供される資源と言うこともできる。）に存在するとはかぎらない。言い換えると、ユーザが中間ファイルを作成したコンピュータ環境（中間ファイル作成環境と呼ぶ。）に存在したフォント形状情報が、文字描画が行われるコンピュータ環境（文字描画実行環境という。）では存在していない場合もあり得る。描画が行われるコンピュータ環境に、アプリケーションデータを作成したユーザが意図したフォントが存在しない場合でも、ユーザが意図したフォントで文字描画を行うために、従来、フォント埋め込みという仕組みが知られている。以下、フォント埋め込みの仕組みについて説明する。
【００４１】
文字描画データ（中間ファイル）内に、文字描画コマンド（文字コード、フォント属性、描画属性）以外に、フォント形状情報を埋め込ませ、文字描画データで使用されるフォント形状情報を文字描画実行環境に持ち込む方法である。文字描画データに埋め込まれたフォント形状情報は、文字描画実行環境において、当該環境により提供されるフォントとして登録され、文字描画データはそのフォントを用いて文字描画される。このため、フォント埋め込みは、文字描画データ内の文字描画コマンドで指定されたフォントが描画実行環境に存在しなくてもユーザが意図した出力を得られるという利点がある。しかし、フォント形状情報を文字描画データに内に埋め込むため、文字描画データ量が大きくなる傾向にある。特に日本語フォントや中国語フォントのような文字種の多いフォントを埋め込む場合にこの問題が顕著である。
【００４２】
次に印刷方法判定処理（Ｓ５０１）の詳細な手順を図５のフローチャートを用いて説明する。
【００４３】
まず、印刷方法判断処理部１０１−３は、クライアント１０１が利用可能なプリンタからプリンタ情報を取得する（Ｓ５０１−１）。取得する情報としては、例えば、プリンタが搭載しているフォントを列挙したプリンタ搭載フォントリストや、解像度、ダイレクトプリント機能の有無、といった情報である。なお、これらの情報は、予めデータ格納部１０１−６内に保持しておいてもよいし、印刷方法判定処理を行う際に、ネットワーク１２０を介して利用可能なプリンタに問い合わせてもよい。
【００４４】
該当プリンタにダイレクトプリント機能があればＳ５０１−３へ移行し、なければプリンタドライバによる印刷処理と判定する（Ｓ５０１−２）。
【００４５】
次に、印刷方法判定処理部は、ＰＤＦデータの解析を電子文書解析部へ指示する。電子文書解析部は、ＰＤＦのバージョンやコマンドからデバイスが扱えるＰＤＦであるかどうか判断する。また、ＰＤＦ内の未埋め込みフォントを列挙し、未埋め込み埋め込みフォントリストを作成する（Ｓ５０１−３）。未埋め込みフォントの列挙は、使用されているフォントの文字コードとそのフォントフェース名に該当するフォント形状情報が文書内に含まれているかどうかを調べることによって可能である。
【００４６】
Ｓ５０１−４では、プリンタ側で扱えるＰＤＦである場合Ｓ５０１−５へ移行し、そうでなければプリンタドライバによる印刷処理と判定する。
【００４７】
次に印刷方法判断処理部１０１は、埋め込み不可のフォントがＰＤＦ内に存在するか調べる。ここでいう埋め込み不可フォントとは、一般にライセンスフォントと呼ばれるもので、ＰＤＦ等の電子文書に埋め込んではならないフォントである。フォントがライセンスフォントであるかどうかは、例えば、フォントがＴｒｕｅＴｙｐｅフォントであれば、ＴｒｕｅＴｙｐｅフォントテーブル内のＯＳ／２テーブル内に示されている。印刷方法判断処理部１０１は、埋め込み不可フォントが存在しなければ、ダイレクトプリントと判定し、そうでなければプリンタドライバによる印刷と判定する（Ｓ５０１−５）。
【００４８】
次に電子文書最適化処理（Ｓ５０３）の詳細な手順を図６のフローチャートを用いて説明する。本実施例では前述のように、未埋め込みフォントをＰＤＦ内に埋め込むことを最適化としているが、他に、プリンタの解像度に合わせてＰＤＦ内に含まれる画像データをダウンサンプリングするなどの処理を加えても構わない。
【００４９】
まず、電子文書加工処理部１０１−３は、Ｓ５０１−３で取得した未埋め込みフォントリストを取得する（５０３−１）。
【００５０】
未埋め込みのフォントがＰＤＦ内に存在しなかったならば、埋め込みの必要がないため、処理を終了する。そうでなければ、５０３−３へ移行する（５０３−２）。
【００５１】
次に、電子文書加工処理部１０１−３は、Ｓ５０１−１で取得したプリンタ情報を参照し、プリンタ搭載フォントリストを取得する（Ｓ５０３−３）。
【００５２】
次に、未埋め込みリストと、プリンタ搭載フォントリストを比較し（Ｓ５０３−４）、未埋め込みフォントリストの中にプリンタに搭載されていなフォントが存在すればＳ５０６−６へ移行し、そうでなければ埋め込む必要はないため処理を終了する（Ｓ５０６−５）。
【００５３】
次に、電子文書加工処理部１０１−３は、未埋め込みリストのフォントをＰＤＦ内に埋め込む。ただし、未埋め込みフォントリストの中にシステムに存在しないフォントがあった場合、そのフォントについては埋め込まないものとする（Ｓ５０６−６）。
【００５４】
次に、プリンタドライバ１０１−４による印刷のＰＤＬの作成処理Ｓ５０４について説明する。本実施例において、プリンタドライバによる印刷は一般的な方法で構わないため、ここでは、一般的なプリンタドライバによる印刷処理の仕組みを説明する。
【００５５】
プリンタドライバ１０１−４による印刷処理は、電子文書等を扱うアプリケーション（図１においては不図示）から、印刷指示を行うことによって開始される。アプリケーションは、文字描画データ等を含むアプリケーションデータを解析して、例えばＯＳ（基本ソフト）が提供するグラフィックエンジンをコールする。グラフィックエンジンは、プリンタの種類に合わせて用意されたプリンタドライバ１０１−４をロードし、アプリケーションの出力をプリンタドライバ１０１−４に受け渡す。そして、アプリケーションから受け取るＧＤＩ(Graphic Device Interface)関数からＤＤＩ(Device Driver Interface)関数に変換して、プリンタドライバ１０１−４へＤＤＩ関数を出力する。
【００５６】
プリンタドライバ１０１−４は、グラフィックエンジンから受け取ったＤＤＩ関数に基づいて、プリンタが認識可能な制御コマンド、例えばＰＤＬ(Page Description Language)に変換する。
【図面の簡単な説明】
【００５７】
【図１】本発明の実施形態における印刷処理装置のソフトウェアブロック図である。
【図２】本発明の実施形態における、印刷処理装置として使用可能なハードウェア構成例を示した図である。
【図３】文字描画に必要な情報と、印刷結果の一例を示す図である。
【図４】本発明の実施形態における、印刷処理装置が行う処理の一連の流れを示すフローチャートを示す図である。
【図５】本発明の第一の実施形態における、印刷方法判定処理の一連の流れを示すフローチャートを示す図である。
【図６】本発明の実施形態における、フォント埋め込み処理の一連の流れを示すフローチャートを示す図である。
【図１】
2008269157.tif 000003
【図２】
2008269157.tif 000004
【図３】
2008269157.tif 000005
【図４】
2008269157.tif 000006
【図５】
2008269157.tif 000007
【図６】
2008269157.tif 000008