(57)【特許請求の範囲】
【請求項１】
画像データを取り込んで印刷データに基づく画像と画像データに基づく画像とを合成することを指示する命令が、外部装置から転送された印刷データに含まれているかを判断する判断手段と、
前記指示が前記印刷データに含まれている場合、画像データを取り込む取込手段と、
前記取込手段により取り込まれた画像データに基づく画像を表示するために、当該画像データを前記外部装置に転送する転送手段と、
前記転送手段により画像データが前記外部装置に転送された後、オペレータからの指示を前記外部装置から受信する受信手段と、
前記受信手段により受信された指示に従って、前記取込手段により取り込まれた画像データに基づく画像と印刷データに基づく画像とを合成する合成手段とを有することを特徴とする印刷装置。
【請求項２】
前記命令は、前記取込手段によって取り込まれた画像データを挿入する挿入領域をページ中に指示する命令を含むことを特徴とする請求項１に記載の印刷装置。
【請求項３】
前記受信手段は、前記外部装置より前記画像データ中の合成すべき部分を示す選択領域情報を前記指示として受信し、
前記合成手段は、前記選択領域情報が示す前記画像データの選択領域に含まれる画像データと前記挿入領域の画像データとを合成することを特徴とする請求項２に記載の印刷装置。
【請求項４】
さらに、前記挿入領域と前記選択領域の大きさを比較する比較手段と、
前記比較手段によって大きさが異なるという判断がなされた場合、該判断結果をユーザに知らせる、または当該印刷装置の動作を中止する、または前記割り当て領域にある画像データを拡大あるいは縮小して前記挿入領域の大きさに合わせる手段と
をさらに備えることを特徴とする請求項３に記載の印刷装置。
【請求項５】
前記転送手段は、前記取込手段により取り込まれた画像データの解像度を下げたものを前記外部装置に転送することを特徴とする請求項１乃至４のいずれかに記載の印刷装置。
【請求項６】
画像データを取り込んで印刷データに基づく画像と画像データに基づく画像とを合成することを指示する命令が、外部装置から転送された印刷データに含まれているかを判断する判断工程と、
前記指示が前記印刷データに含まれている場合、画像データを取り込む取込工程と、
前記取込工程により取り込まれた画像データに基づく画像を表示するために、当該画像データを前記外部装置に転送する転送工程と、
前記転送工程により画像データが前記外部装置に転送された後、オペレータからの指示を前記外部装置から受信する受信工程と、
前記受信工程により受信された指示に従って、前記取込工程により取り込まれた画像データに基づく画像と印刷データに基づく画像とを合成する合成工程とを有することを特徴とする印刷方法。
【請求項７】
スキャナから画像データを取り入れることが可能な印刷装置と接続された情報処理装置で行われる情報処理方法であって、
画像データの取り込みを指示し当該画像データを挿入する挿入領域を指示する命令を含んだ印刷データを前記印刷装置へ送信するデータ送信工程と、
前記指示に従って前記印刷装置がスキャナから取り込んだ画像データを該印刷装置から受信する受信工程と、
前記受信工程によって受信された画像データを表示する表示工程と、
前記受信工程によって受信された画像データが前記表示工程で表示された後、前記表示工程によって表示された画像データに基づいて、前記挿入領域に挿入する画像データを指示する画像データ指示工程と、
前記画像データ指示工程による指示の結果を前記印刷装置に送信する送信工程とを含むことを特徴とする情報処理方法。
【請求項８】
前記受信工程によって受信された画像データは、前記印刷装置によって解像度が下げられた画像データを含むことを特徴とする請求項７に記載の情報処理方法。
【請求項９】
前記表示工程は、受信した画像データ上に挿入領域に相当するサイズの枠を表示し、前記指示工程による指示に応じて前記枠を移動し、前記送信工程により前記枠の位置及びサイズを、前記挿入領域に挿入する画像データの領域として前記印刷装置に送信することを特徴とする請求項７或いは８に記載の情報処理方法。
【請求項１０】
スキャナから画像データを取り入れることが可能な印刷装置と接続された情報処理装置であって、
画像データの取り込みを指示し当該画像データを挿入する挿入領域を指示する命令を含んだ印刷データを前記印刷装置へ送信するデータ送信手段と、
前記指示に従って前記印刷装置がスキャナから取り込んだ画像データを該印刷装置から受信する受信手段と、
前記受信手段によって受信された画像データを表示する表示手段と、
前記受信手段によって受信された画像データが前記表示手段によって表示された後、前記表示手段によって表示された画像データに基づいて、前記挿入領域に挿入する画像データを指示する画像データ指示手段と、
前記画像データ指示手段による指示の結果を前記印刷装置に送信する送信手段とを含むことを特徴とする情報処理装置。
【請求項１１】
スキャナから画像データを取り入れることが可能な印刷装置と接続されたコンピュータにより、
画像データの取り込みを指示し当該画像データを挿入する挿入領域を指示する命令を含んだ印刷データを前記印刷装置へ送信するデータ送信工程と、
前記指示に従って前記印刷装置がスキャナから取り込んだ画像データを該印刷装置から受信する受信工程と、
前記受信工程によって受信された画像データを表示する表示工程と、
前記受信工程によって受信された画像データが前記表示工程で表示された後、前記表示工程によって表示された画像データに基づいて、前記挿入領域に挿入する画像データを指示する画像データ指示工程と、
前記画像データ指示工程による指示の結果を前記印刷装置に送信する送信工程と
を実行させるためのプログラムを記録したいことを特徴とするコンピュータ可読記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えばスキャナ等より読み込んだ画像と印刷データに基づいて作成した画像とを合成して印刷する印刷装置及びそれを制御する情報処理装置とそれらの制御方法に関する。
【０００２】
【従来の技術】
従来、スキャナで取り込んだ画像データと、ホストコンピュータから送信されるＰＤＬ（ページ記述言語）等で記述された印刷データとを含む画像を印刷する場合、スキャナからホストコンピュータに一旦画像データを取り込み、その画像データとＰＤＬデータとを合成して、そのデータをプリンタに送信して印刷させる必要があった。
【０００３】
【発明が解決しようとする課題】
しかしながら、スキャナとホストコンピュータとがネットワークを介して接続されている場合、スキャナで読み込むデータのサイズが大きいと、ネットワークに高い負荷をかけてしまう。また、ホストコンピュータに画像データを格納するための大量のメモリを必要とし、ホストコンピュータでのデータ処理に時間がかかるなどの問題があった。
【０００４】
本発明は、以上の課題を鑑みてなされたものであり、印刷データに含まれる指示に従って画像データを取り込み、その画像データと印刷データとを合成して出力する印刷装置及び該印刷装置に印刷データを送る情報処理装置とそれらの制御方法を提供することを目的とする。
【０００５】
さらに、印刷データと合成される画像データのトリムや合成位置に関する指示を印刷データに含めて印刷装置に送信することで、所望の合成のしかたで、印刷データと読み込んだ画像データとを合成できる印刷装置及び該印刷装置に印刷データを送る情報処理装置とそれらの制御方法を提供することを目的とする。
【０００６】
【課題を解決するための手段】
上記目的を達成するために、本発明は、ホスト装置からプリンタに送信する印刷データに、スキャナから読み込んだ画像を合成する旨の命令を組み込んでおき、プリンタによりその命令を実行させて、印刷データとスキャナデータとを合成させる。その際に、スキャナから読み込んだ画像を、ホスト装置に転送して、ホスト装置においてプレビュー表示させる。そして、プレビュー表示画面上で、印刷データから形成される画像に組み込むべき領域を操作者に選択させる。
【０００７】
また、本発明の達成するための他の構成は次のようなものである。
【０００８】
すなわち、画像データを取り込んで印刷データに基づく画像と画像データに基づく画像とを合成することを指示する命令が、外部装置から転送された印刷データに含まれているかを判断する判断手段と、
前記指示が前記印刷データに含まれている場合、画像データを取り込む取込手段と、
前記取込手段により取り込まれた画像データに基づく画像を表示するために、当該画像データを前記外部装置に転送する転送手段と、
前記転送手段により画像データが前記外部装置に転送された後、オペレータからの指示を前記外部装置から受信する受信手段と、
前記受信手段により受信された指示に従って、前記取込手段により取り込まれた画像データに基づく画像と印刷データに基づく画像とを合成する合成手段とを有することを特徴とする。
【００１１】
【発明の実施の形態】
［第１の実施形態］
以下、図面を参照して本発明の好適な実施の形態を詳細に説明する。
【００１２】
図１は、本発明にかかる印刷システムの構成例を示すブロック図である。図１のプリンタ１０００において、Ｉ／Ｏ２０４は、ホストコンピュータ２０１からページ記述言語で記述された印刷データ（以下、ＰＤＬデータ）を受け取る。Ｉ／Ｏ２０７はスキャナ２０２からのデータ（以下、スキャンデータあるいはスキャン画像）を受け取る。ＰＤＬ解析部２０５は、Ｉ／Ｏ２０４が受け取ったＰＤＬデータを基に、ビットマップイメージデータを展開する。メモリ２０６は、展開されたビットマップイメージデータを保存する。スキャナ制御部２０８は、ＰＤＬ解析部２０５の要請に応じてスキャナ２０２からデータを入手し、メモリ２０６にデータを書き込む。印刷を行うに当たっての様々な動作の設定は操作パネル１０１２で行うことができる。それらの設定はホストコンピュータ２０１からダウンロードすることもできる。プリンタエンジン２０９は、作成されたデータを印刷する。
【００１３】
また、ホストコンピュータ２０１は、ハードディスク（ＨＤ）２０１ｂやＣＤ−ＲＯＭドライブ２０１ｃなどの媒体を取り外せる外部記憶装置からＲＡＭ２０１ｄにロードされたプログラムを実行する。これにより、ホストコンピュータは、それ自身及び印刷システム全体を制御し、後述するフローチャートで示した手順を実行する。Ｉ／Ｏインターフェース２０１ｅは、プリンタ１０００と通信を行うためのインターフェースである。
【００１４】
なお、本実施形態では、プリンタ１０００としてレーザービームプリンタを例にとり説明する。まず、本実施形態を適用するのに好適なレーザービームプリンタの構成を図２を参照して説明する。
【００１５】
図２は本実施形態が適用されたレーザビームプリンタ（以下、ＬＢＰという）の構成について示した断面図である。このＬＢＰはデータ源（不図示）から文字パターンの登録や定型書式（フォームデータ）などの登録が行える。なお、本実施形態が適用される印刷装置は、ＬＢＰだけでなく、インクジェット方式等、他の印刷方式の印刷装置でも良い。
【００１６】
図２において、ＬＢＰ本体１０００は、それに接続されているホストコンピュータ２０１などの外部装置から供給される文字情報（文字コード）やフォーム情報あるいはマクロ命令などを入力して記憶する。それとともに、それらの情報に従って対応する文字パターンなどを作成し、記録媒体である記録紙上に像を形成する。操作パネル１０１２には操作のためのスイッチおよびＬＥＤ表示等が配され、プリンタ制御ユニット１００１はＬＢＰ本体１０００全体の制御およびホストから供給される文字情報などを解析する。このプリンタ制御ユニット１００１は、主に文字情報を対応する文字パターンのビデオ信号に変換し、レーザドライバ１００２に出力する。レーザドライバ１００２は半導体レーザ１００３を駆動するための回路であり、入力されたビデオ信号に応じて半導体レーザ１００３から発射されるレーザ光１００４のオン・オフを切り換える。レーザ光１００４は回転多面鏡１００５で、左右方向に振られて静電ドラム１００６上を操作露光する。これにより、静電ドラム１００６上には文字パターンの静電潜像が形成される。この潜像は、静電ドラム１００６周囲に配設された現像ユニット１００７により現像され、その後、記録紙に転写される。この記録紙にはカットシートが用いられ、カットシート記録紙はＬＢＰ１０００に装着された用紙カセット１００８に収納され、給紙ローラ１００９および搬送ローラ１０１０と搬送ローラ１０１１とにより装置内に取り込まれて、静電ドラム１００６に供給される。
【００１７】
図３は、本実施形態における動作手順フローチャートであり、特にスキャンデータとＰＤＬデータとを合成して印刷する動作手順を示すフローチャートである。図２及び図３を参照しながら、印刷システムの動作を説明する。
【００１８】
ホストコンピュータで文書の編集などが終了し、作成された文書等の印刷が指示されると、まずホストコンピュータ２０１において、作成された文書データをプリンタ１０００で解釈可能なＰＤＬデータに変換する。その後、スキャンデータの組込みの指示がされているページがあるか判定し、もしあれば、あらかじめ定められたスキャンデータの取り込み要求の命令を、ステップＳ８０１で作成したＰＤＬデータ中に、指定されたページに対応づけて組み込んでおく。最後に、作成したＰＤＬデータをプリンタ１０００に送信する。このデータを受信したプリンタは、図３の手順で動作する。
ホストコンピュータ２０１がプリンタ１０００に印字データを送信すると、Ｉ／Ｏ２０４が受信し（ステップＳ３０１）、ＰＤＬ解析部２０５で受信した印字データの解析等の処理を行なう（ステップＳ３０２）。ＰＤＬ解析部２０５は、印字データがスキャナ２０２からデータを取り込む指示か否かを判断する（ステップＳ３０３）。直前に展開されたページに対してスキャンデータを合成するための命令がＰＤＬデータ中に検出されると、スキャナ制御部２０８に対して、指定の解像度（ＰＤＬデータ中で指定されている）、あるいは一番近い解像度でデータを読み込むように指示する。これに応じて、スキャナ制御部２０８はＩ／Ｏ２０７を通してスキャナ２０２からデータを取り込み（ステップＳ３０６）、取り込んだデータをメモリ２０６に展開する（ステップＳ３０７）。
【００１９】
ステップＳ３０７の後、あるいはステップＳ３０３でスキャナ２０２からデータを取り込む指示が無いと判断した場合には、ＰＤＬデータに基づいた画像データを、メモリ２０６に展開する（ステップＳ３０４）。この際、メモリ２０６にすでに展開されている画像が背景となるように、ＰＤＬデータから生成した画像を重ねていく。
【００２０】
以上の処理を終えた段階で１ページ分のデータが揃ったか否かを判断し（ステップＳ３０５）、揃っていなければステップＳ３０１から処理を再開し、揃っていれば印刷を行なう（ステップＳ３０８）。
【００２１】
なお、ステップＳ３０７におけるスキャナデータの展開においては、スキャナデータに対しては、トリムやマスク、あるいは変倍といった処理は施されず、読み込まれたデータがそのままＰＤＬデータから展開された画像データに合成される。
【００２２】
以上説明したように、本実施形態の印刷装置は、ホストコンピュータから送られてくるＰＤＬデータに従って、スキャンデータを自動的に読み込み、印刷装置内でＰＤＬデータとスキャンデータを合成することができる。したがって、スキャナからホストコンピュータにスキャンデータを転送する必要も、ホストコンピュータからプリンタにスキャンデータを転送する必要もない。このため、スキャナ２０２やプリンタ１０００との間の通信トラフィックを減らすことができる。これにより、ホストコンピュータが、ローカルエリアネットワークなど、他のホストコンピュータや周辺機器と共有される通信網を介してプリンタに接続されている場合には特に、ネットワークやプリンタを使用する際の競合を防止できる。
【００２３】
また、画像の合成をホストコンピュータで行う必要がないため、ホストコンピュータを有効に利用することができる。
【００２４】
また、ＰＤＬ命令の一部として、スキャンデータを合成する命令がプリンタ与えられるために、所望のページに対してスキャンデータの合成を指示できる。
【００２５】
［第２の実施形態］
第１の実施形態では、スキャナから取り込んだデータをＰＤＬデータから展開したデータに単に合成する例を示した。本実施形態では、スキャンデータを組み込む箇所を、ＰＤＬデータによって指定しておく。
【００２６】
図４は、第１の実施形態と第２の実施形態との違いを説明するための図である。スキャンデータ４００とＰＤＬデータ４０５とを合成して印刷する場合、第１の実施形態にしたがってデータの合成を行うと、合成データ４１０のように、スキャンデータ４００を背景にしてその上にＰＤＬデータ４０５が重ねられた画像データが作成される。したがって、第１の実施形態においては、スキャンデータ中には、ＰＤＬデータとの合成に不要なデータ（図４ではスキャンデータ４００中の領域４０１以外の部分）があってはならない。
【００２７】
一方、本実施形態では、ＰＤＬデータから展開した画像データにスキャンデータ４０５を挿入する挿入領域４０６を、ＰＤＬデータによって指定しておく。プリンタにおいては、挿入領域４０６に対応するスキャンデータの領域である選択領域４０１がメモリ２０６に展開され、その上からＰＤＬデータ４０５が書き込まれて合成データ４１２が作成される。
【００２８】
図５は、上述のように画像を形成するためのプリンタによる処理手順である。
【００２９】
ホストコンピュータ２０１がプリンタ１０００に印字データを送信すると、Ｉ／Ｏ２０４が受信し（ステップＳ４０１）、ＰＤＬ解析部２０５で受信した印字データの解析等の処理を行なう（ステップＳ４０２）。ＰＤＬ解析部２０５は、印字データがスキャナ２０２からデータを取り込む指示か否かを判断する（ステップＳ４０３）。直前に展開されたページに対してスキャンデータを合成するための命令がＰＤＬデータ中に検出されると、スキャナ制御部２０８に対して、指定の解像度（ＰＤＬデータ中で指定されている）、あるいは一番近い解像度でデータを読み込むように指示する。また、前記合成するための命令と関連づけられてＰＤＬデータに含まれる、合成されるスキャンデータの領域を特定するための位置（ｄｘ,ｄｙ）及びサイズｘ*ｙを、スキャナ制御部２０８に指示する（ステップＳ４０６）。スキャナ制御部２０８はＩ／Ｏ２０７を通してスキャナ２０２から指定した領域のデータを取り込み（ステップＳ４０７）、取り込んだデータをメモリ２０６に展開する（ステップＳ４０８）。ここで、スキャンされたデータから指定された領域を切り取ってメモリに展開しても良いし、スキャナが機構的に可能であれば、指定された領域だけスキャンしても良い。
【００３０】
図６は、スキャンデータ５０１と、ＰＤＬデータ５０２とが合成された画像の例を示している。図６において、挿入領域５０３が、その位置を表す左上角の座標（ｄｘ,ｄｙ）と、そのサイズを表す横の長さｘ及び縦の長さｙとにより指定される。スキャンデータ５０１からは、その挿入領域５０３に対応する選択領域５０４が切り取られ、ＰＤＬデータ５０２に合成される。
【００３１】
ステップＳ４０８の後、あるいはステップＳ４０３でスキャナ２０２からデータを取り込む指示が無いと判断した場合には、ＰＤＬデータに基づいた画像データを、メモリ２０６に展開する（ステップＳ４０４）。この際、メモリ２０６にすでに展開されているスキャンデータが背景となるように、ＰＤＬデータから生成した画像を重ねていく。
【００３２】
以上の処理を終えた段階で１ページ分のデータがそろったか否かを判断し（ステップＳ４０５）、そろっていなければステップＳ３０１から処理を再開し、そろっていれば印刷を行なう（ステップＳ４０９）。
【００３３】
以上説明したように、本実施形態を用いれば、第１の実施形態と同様の効果が得られる。それに加えて、挿入領域がＰＤＬデータによって正確に指示されるので、データ合成には不必要な画像がスキャンデータに含まれていても、必要なスキャンデータのみがＰＤＬデータと合成される。
【００３４】
［第３の実施形態］
第１及び第２の実施形態では、スキャンデータはＬＢＰ１０００に送信されていたが、 ＬＢＰ１０００が受信したスキャンデータをホストコンピュータへ送信して、ホストコンピュータ上でスキャンデータの概略がプレビューできるように構成することもできる。さらに、ホストコンピュータ２０１上でプレビューされたスキャンデータを基に、予めＰＤＬデータ中に指定されているスキャンデータを挿入する挿入領域毎に、どのスキャンデータを割り当てるのか指示することもできる。
【００３５】
図７は、本実施形態が適用された印刷システムの構成例を示すブロック図である。なお、第１及び第２の実施形態における図１と同一の機能を有するブロックには同一の参照符号を付してある。Ｉ／Ｏ５０７は、スキャナ２０２からデータを受け取ると、スキャナ制御部２０８とホストコンピュータ２０１の両方にデータを送る。ホストコンピュータ２０１は、受信したスキャンデータからドットを間引き、プレビュー機能によってホストコンピュータの画面上にスキャンデータを表示する。あるいは、Ｉ／Ｏ５０７がホストコンピュータの表示機能に応じてスキャンデータからドットを間引き、ホストコンピュータに送信しても良い。
【００３６】
図８は、本実施形態におけるＬＢＰ１０００とホストコンピュータ２０１それぞれの動作手順を示すフローチャートである。ＬＢＰ１０００での手順をステップＳ６００〜ステップＳ６１３で示し、ホストコンピュータ２０１での手順をステップＳ６５０〜ステップＳ６５３で示す。
【００３７】
最初にＬＰＢ１０００内での動作手順について説明する。ホストコンピュータ２０１から送信されたＰＤＬデータをＬＢＰ１０００がＩ／Ｏ２０４で受信すると（ステップＳ６００）、ＰＤＬ解析部２０５でＰＤＬデータの処理を行ない（ステップＳ６０１）、ＰＤＬデータをメモリ２０６上に展開する（ステップＳ６０２）。
【００３８】
ＰＤＬ解析部２０５は、展開したデータとスキャンデータとの合成を指示する命令を検出すると（ステップＳ６０３のＹＥＳ）、スキャナ制御部２０８にスキャナ２０２のデータの取り込みを指示する。取り込みを指示されたスキャナ制御部２０８は、Ｉ／Ｏ５０７を通してスキャンデータを取り込む（ステップＳ６１０）。スキャンデータを取り込むときの解像度は、すでにＰＤＬ解析部２０５で指定された値とし、もし、指定された解像度で取り込めないときは、指定された解像度に一番近い解像度で行う。同時に、取り込まれたスキャンデータはＩ／Ｏ５０７からホストコンピュータ２０１へも送信される（ステップＳ６１１）。このとき、プレビュー機能の表示解像度に合わせてスキャンデータの解像度を下げてから送信するようにすると、送信データのデータ量を減らすことができる。図６中のステップＳ６１１からステップＳ６５０の前に向かっている点線の矢印は、ステップＳ６１０で取り込まれたスキャンデータが送信されていることを示す。
【００３９】
その後、スキャナ制御部２０８は、ＰＤＬデータによって割り当てられた挿入領域に、スキャンデータにおける選択領域の位置を示す情報を、ホストコンピュータ２０１から受信する（ステップＳ６１２）。ステップＳ６０２でメモリ２０６に展開されたＰＤＬデータに基づく画像の挿入領域に、スキャンデータにおいて指示された選択領域の内容を書き込んで、ＰＤＬデータとスキャンデータの合成を行う（ステップＳ６１３）。
【００４０】
一方、ステップＳ６０３で、スキャナ２０２からデータを取り込む指示が検出されたなかった場合は、ステップＳ６０４へすすむ。
【００４１】
ステップＳ６０４では、１ページ分のデータがそろったか否かを判断し、そろっていなければステップＳ６００から処理を再開し、そろっていればステップＳ６０５へすすみ、印刷を行なう。
【００４２】
次にホストコンピュータ２０１での動作手順について説明する。ホストコンピュータ２０１は、ＬＢＰ１０００のステップＳ６１１により送信された、間引きされたスキャンデータを受信し（ステップＳ６５０）、受信したデータを画面表示する（ステップＳ６５１）。この表示画面上で、オペレータによりスキャンデータの選択領域が指示される。この指示に従い、ＰＤＬデータの挿入領域毎にスキャンデータの選択領域が割り当てられる（ステップＳ６５２）。これらの結果をＬＢＰ１０００へ通知する（ステップＳ６５３）。図６中のステップＳ６５３からステップＳ６１２の前に向かっている点線の矢印は、ステップＳ６５２で割り当てられた結果がＬＢＰ１０００に送信されていることを示す。
【００４３】
なお、スキャンデータの挿入領域はＰＤＬデータ中であらかじめ指定されているため、ステップＳ６１１では、スキャンデータとともに、挿入領域の識別子と、それぞれのサイズをホストコンピュータに送信してもよい。
【００４４】
図９は、ホストコンピュータにおけるプレビュー画面の例である。ホストコンピュータでは、プレビュー画面６０７上に、プリンタから受信した挿入領域のサイズに相当する枠６１０を表示する。そして、オペレータは、移動ボタン６１１を操作してこの枠６１０を移動し、ＰＤＬデータに合成される選択領域を指定する。
【００４５】
また、ＰＤＬデータ中で指定されている挿入領域が複数箇所あることもあり得る。この場合には、ステップＳ６５２では、挿入領域の識別子とスキャンデータの選択領域とを対応づけて割り当て、その結果をプリンタ１０００に送信する。
【００４６】
以上説明したように、本実施形態を用いれば、利用者の望むスキャンデータの領域とＰＤＬデータとの合成及び印刷が行える。また、スキャンデータの領域の指定は、ＰＤＬデータで指定された領域に相当するサイズの枠をプレビュー画面上で移動することで行わる。このため、所望の領域の指定が非常に簡単に行える。
【００４７】
なお、ステップＳ６１１で、解像度を下げずにスキャンデータをホストコンピュータ２０１へ送信し、ステップＳ６５０で、ホストコンピュータ２０１が解像度を下げてスキャンデータを受信するように構成することもできる。
【００４８】
［第４の実施形態］
第２の実施の形態では、ＰＤＬで指定した挿入領域の位置と、そこに合成されるスキャナデータの選択領域の位置とは対応していた。また、第３の実施の形態では、ＰＤＬで指定した挿入領域のサイズは、合成されるスキャナデータの選択領域のサイズに対応していた。本実施の形態では、ホストコンピュータ２０１にスキャナ２０２のデータをプレビューする機能に加えて、ＰＤＬデータにおける挿入領域の位置とサイズも、オペレータに指定させる。これらの指定が済んでから、ホストコンピュータ２０１はＰＤＬデータを作成し、プリンタ１０００に送信する。本実施形態のシステムは、図７に示した構成と同様である。
【００４９】
図７及び図１０〜図１５を参照しながら、本実施形態を説明する。
【００５０】
まず、ホストコンピュータ２０１上での処理を、図１０のフローチャートにしたがって説明する。利用者は、所定のアプリケーションプログラムを利用して、文書等を作成する。この文書の所望のページに、利用者は、スキャンデータを挿入したい旨の命令及び挿入領域のサイズ及び位置を付け加えておく。この操作は、文書を作成するアプリケーションに依存する。
【００５１】
印字要求が出されるとプリンタドライバが起動される。図１０の手順は、これ以降のプリンタドライバの動作を示している。まず、プリンタドライバは、作成された文書データ中にスキャンデータ合成命令があるか否かを判断する（ステップＳ１００１）。無いと判断した場合には、図１１に示した画面（プリンタドライバウインドウと呼ぶ）を、スキャンデータ挿入位置ボタン６０３及びスキャンデータプレビューボタン６０４といった、スキャン関連のボタンを選択不可能にして、プリンタドライバウインドウ６０２をホストコンピュータ２０１のモニタ６０１に表示する（ステップＳ１００２）。
【００５２】
一方、スキャンデータの合成命令が検出された場合には、前述のスキャン関連ボタンを選択可能として、プリンタドライバウインドウ６０２を表示する（ステップＳ１００３）。
【００５３】
この後、オペレータが、表示されたウインドウ内のいずれかのボタンを操作するまで待つ（ステップＳ１００４）。いずれかのボタンが押されると、ステップＳ１００５に進んで、どのボタンが押されたのか判定する。
【００５４】
スキャンデータプレビューボタン６０４が押された場合、ステップＳ１００６に進む。まず、スキャナ２０２に対して、原稿画像の読み込みを要求し、スキャナがそれに応えて読み、送信した画像データを受信する（ステップＳ１００６）。プリンタドライバは受信した画像データを図１２のプレビューウインドウ６０７として表示する（ステップＳ１００７）。オペレータはこの画面を見て枠移動ボタン６１１などを利用して操作を行う。この操作に従って、選択領域を示す選択枠６１０を移動させ、その位置を記録するとともに表示する（ステップＳ１００８）。
【００５５】
スキャンデータ挿入位置ボタン６０３が押された場合、挿入位置ウインドウ６０６が表示される（ステップＳ１００９）。このウインドウにおいて、枠６０９は、作成済みの文書データに設定された、スキャンデータの合成箇所に基づいて表示される。
【００５６】
印刷プレビューボタン６０５が押された場合には、不図示の印刷プレビューウインドウを表示する（ステップＳ１０１１）。ただし、、挿入領域の中にはなにも表示しない。そして、表示されているページについて、スキャンデータのプレビューが行われたか判定する（ステップＳ１０１２）。行われたなら、ステップＳ１００６においてスキャナから受信した画像データから、ステップＳ１００８で設定された選択枠の内部を切り出し、それを挿入領域に合成して表示する（ステップＳ１０１３）。
【００５７】
また、印刷ボタン６０５が押された場合には、その時点で作成済みの文書データと、設定されている挿入領域の位置及びサイズと、それに対応する選択領域の位置及びサイズとをＰＤＬデータに変換して、プリンタ１０００に送信する（ステップＳ１０１４）。
【００５８】
図１３は、図１０のステップＳ１００６により、画像データの読み込みを要求されたプリンタ１０００の動作のフローチャートである。まず、スキャナ２０２によって、原稿画像をスキャンさせる（ステップＳ１３０１）。そして、得られた画像データをメモリ２０６に保存し（ステップＳ１３０２）、その画像データを指定された解像度でホストコンピュータ２０１に送信する（ステップＳ１３０４）。
【００５９】
図１４は、図１０のステップＳ１０１４の後で送信されるＰＤＬデータを受信したプリンタ１０００による動作を示す。
【００６０】
ＰＤＬデータを受信すると（ステップＳ１４０１）、そのデータを解析するなどの処理を行う（ステップＳ１４０２）。そして、そのＰＤＬデータの中にスキャナデータの合成を指示する命令が含まれているか判定する（ステップＳ１４０３）。含まれている場合には、ＰＤＬデータから、スキャンデータの選択領域を示す位置（ｄｘ１,ｄｙ１）と、サイズｘ*ｙとを得る（ステップＳ１４０７）。そして、位置（ｄｘ１,ｄｙ１），サイズｘ*ｙの選択領域に相当するスキャンデータを読む（ステップＳ１４０８）。この際、すでにプレビュー表示のためにスキャンデータが読まれているなら、改めてスキャンを行わない。この場合には、図１３のステップＳ１３０２で保存されたデータから、設定されている選択領域を切り出す。プレビューが行われていないなら、ここでスキャンを行って原稿画像を読みとる。
【００６１】
読みとられたスキャンデータの選択領域を、設定された挿入領域の位置（ｄｘ２，ｄｙ２）に展開する（ステップＳ１４０９）。
【００６２】
ステップＳ１４０３においてスキャンデータの合成の指示がないと判断された場合、あるいはステップＳ１４０９の後には、ＰＤＬデータを基に、メモリ２０６にドットイメージデータに展開する（ステップＳ１４０５）。このとき、すでにメモリ２０６にあるデータを背景にするように、ドットイメージデータは展開される。そのため、ステップＳ１４０９でスキャンデータがすでにメモリ２０６に格納されているなら、それを背景にしてイメージが合成される。こうして１ページのデータが得られると（ステップＳ１４０６−ＹＥＳ）、ステップＳ１４１０において、印刷が実行される。
【００６３】
図１５は、上述の手順で合成されるスキャナデータとＰＤＬデータの一例を示す図である。図１５では、スキャンで読み込まれたデータ９０１上で設定された選択領域内の画像が、ＰＤＬデータ９０２の挿入領域に合成されている。
【００６４】
以上のようにして、ホストコンピュータの画面上で、スキャンデータ中に選択領域を自由に設定することができる。この設定は、スキャンデータのプレビューを見ながら行えるために、利用者の望む部分画像を正確に選択し、選択された部分を、ＰＤＬデータにより表された文書等の画像に合成することができる。このため、スキャンされる原稿画像中における選択領域を、最終的に出力しようとする印刷物におけるスキャンデータの挿入領域に、あらかじめ正確に位置あわせしておく必要がない。また、合成はプリンタにおいて行われるため、ホストコンピュータにおける処理負荷が軽減できる。
【００６５】
さらに、スキャンデータのプレビュー表示を行う場合には、スキャナからホストコンピュータへと画像データを転送する必要がある。この場合に転送される画像データは表示画面に応じて間引きした画像データで十分である。また、ホストコンピュータからプリンタへとスキャンデータを送信する必要はない。このため、ネットワーク上に送り出される画像データは小さなデータであり、通信のトラフィックを増やすことはない。
【００６６】
なお、図１０のステップＳ１００９の後で、挿入領域を示す挿入枠６０９を移動したり、あるいはそのサイズを変更したり、あるいは追加したりといった操作ができるようにしてもよい。その場合には、挿入枠の移動や追加に伴って、ステップＳ１０１４で作成されるＰＤＬデータにも、それら操作に応じた命令が付け加えられる。また、挿入枠６０９のサイズが変更された場合には、選択枠６１０のサイズもそれに応じて変更される。
【００６７】
［第５の実施形態］
第３，第４の実施形態では、プリンタドライバウインドウ６０２が起動される前のＰＤＬデータ作成時にスキャンするか否かが決定されていたが、プリンタドライバウインドウ６０２を起動後にスキャンデータを合成できるようにすることもできる。
【００６８】
図１７を参照しながら、図１６のフローチャートにしたがって、本実施形態における選択領域の設定手順を説明する。なお、システムの構成は、第１乃至第４の実施の形態と同様である。
【００６９】
まず、ホストコンピュータ２０１上での処理を、図１６のフローチャートにしたがって説明する。プリンタにおける処理は、第４実施形態の図１３，図１４と同様である。利用者は、所定のアプリケーションプログラムを利用して、文書等を作成する。この文書の所望のページに、利用者は、スキャンデータを挿入したい旨の命令及び挿入領域のサイズ及び位置を付け加えておく。この操作は、文書を作成するアプリケーションに依存する。
【００７０】
印字要求が出されるとプリンタドライバが起動される。図１６の手順は、これ以降のプリンタドライバの動作を示している。まず、プリンタドライバは、図１７に示した画面のうち、プリンタドライバウインドウ６０２をスキャンデータ取り込みボタン１０００１を選択可能な状態にして表示する（ステップＳ１６０１）。
【００７１】
この後、オペレータが、表示された画面内のいずれかのボタンを操作するまで待つ（ステップＳ１６０２）。いずれかのボタンが押されると、ステップＳ１６０３に進んで、どのボタンが押されたのか判定する。
【００７２】
スキャンデータ取り込みボタン６０４が押された場合、ステップＳ１６０４に進む。まず、スキャナ２０２に対して、原稿画像の読み込みを要求し、スキャナがそれに応えて読み、送信した画像データを受信する（ステップＳ１６０４）。プリンタドライバは受信した画像データを図１７のプレビューウインドウ６０７として表示する（ステップＳ１６０５）。オペレータはこの画面を見て枠移動ボタン６１１などを利用して操作を行う。この操作に従って、選択領域を示す選択枠６１０を移動させ、その位置を記録するとともに表示する（ステップＳ１６０６）。
【００７３】
スキャンデータ挿入位置ボタン６０３（図１７では隠されている）が押された場合、挿入位置ウインドウ６０６が表示される（ステップＳ１６０７）。この画面において、挿入枠６０９は、作成済みの文書データに設定された、スキャンデータの合成箇所に基づいて表示される。
【００７４】
印刷プレビューボタン６０５が押された場合には、不図示の印刷プレビュー画面を表示する（ステップＳ１６０９）。ただし、、挿入領域の中にはなにも表示しない。そして、表示されているページについて、スキャンデータのプレビューが行われたか判定する（ステップＳ１６１０）。行われたなら、ステップＳ１６０４においてスキャナから受信した画像データから、ステップＳ１６０６で設定された選択枠の内部を切り出し、それを挿入領域に合成して表示する（ステップＳ１６１１）。
【００７５】
また、印刷ボタン６０５が押された場合には、その時点で作成済みの文書データと、設定されている挿入領域の位置及びサイズと、それに対応する選択領域の位置及びサイズとをＰＤＬデータに変換して、プリンタ１０００に送信する（ステップＳ１６１２）。
【００７６】
なお、スキャンデータ取り込みボタンが押されなかった場合には、文書データ中で定義されているスキャンデータの挿入領域に対応する位置及びサイズの領域を選択領域とするよう、ＰＤＬデータを生成する。
【００７７】
以上の手順により、第４の実施形態と同じ作用効果を得られる。さらに、オペレータが選択領域を改めて選択しなくとも、選択領域として、挿入領域に対応するスキャンデータ上の領域が選ばれる。このため、オペレータは、選択領域の位置の決定を省くことができる。
【００７８】
［第６の実施形態］
また、第３，第４の実施形態において、挿入領域と割り当てられたスキャンデータの領域（以下、割り当て領域）との大きさを比較する比較手段を設け、比較手段によって領域の大きさが異なると判断された場合、領域の大きさが異なることを知らせる警告メッセージを出したり、エラーで処理を中止したり、割り当て領域を自動で拡大縮小して挿入領域に合わせることができる機能を設けてもよい。このとき、警告やエラーメッセージを出すか、それとも、自動的に拡大／縮小を行うかの切換えは、操作パネル１０１２やホストコンピュータから設定できる。
【００７９】
第３及び第４の実施形態では、選択領域のサイズは挿入領域のサイズに応じて決定され、オペレータが変更することはできなかった。しかしながら、本実施形態では、図１０のステップＳ１００８及び図１６のステップＳ１６０６において、選択領域の位置のみならず、サイズも変更できる。図１８にサイズが自動的に変更された例を示す。図１８の場合、スキャンデータ上の選択領域は画像１８０１全体である。これに対して、ＰＤＬデータ１８０２上で定義された挿入領域１８０３は、それよりも小さい領域である。この場合には、画像１８０１は縮小されて、挿入領域１８０３に合成される。そのために、図１０のステップＳ１０１４及び図１６のステップＳ１６１２では、ＰＤＬデータ中に、スキャンデータの選択領域内の画像を、挿入領域のサイズに合わせて拡大／縮小させる命令も組み込んでおく。プリンタ１０００はこの命令を解釈して、スキャンデータを拡大／縮小し、ＰＤＬデータと合成する。
【００８０】
以上説明したように、本実施形態を用いれば、印刷する前に、ユーザが合成に用いるスキャンデータとＰＤＬデータの領域が異なっていることをエラーや警告メッセージによって知ることができ、適切な処置をとることができる。
【００８１】
また、自動的にスキャンデータの拡大縮小をして、選択領域内の画像を挿入領域のサイズに合わせることもできるので、スキャンデータを前もって拡大したり縮小したりする必要がなくなる。
【００８２】
［各種変形例］
上記各実施形態では、スキャナの解像度はＰＤＬ１０００で予め設定されていたが、スキャナ制御部２０８が操作パネル１０１２にプリンタの解像度を問い合わせ、その結果入力された解像度でスキャナ２０２からデータを取り込むようにすることもできる。得られた解像度で行えない場合は、それに一番近い解像度で、スキャナ２０２からデータを取り込むようにする。
【００８３】
また、上記各実施形態では、ＰＤＬデータ中に挿入領域が予め指定されていたが、指定されたＰＤＬデータ中にすでに何らかのデータが存在する場合も考えられる。このようなときは、ＰＤＬデータを優先するか、あるいはスキャンデータを優先するか、という２つの方法から、いずれかを操作パネル１０１２あるいはホストコンピュータ２０１で指定できるようにしてもよい。
【００８４】
図１９は本実施形態に従って合成されるデータを例示した図である。スキャナデータ１９０１中の選択領域１９０１ａを、ＰＤＬデータ１９０２中の挿入領域１９０２ａと合成する場合を考える。この場合には、スキャンデータ優先、すなわち、ＰＤＬデータを先にドットイメージデータとして展開し、その上にスキャンデータを重ねるため、画像１９０３のようになる。こうするためには、図１４でいえば、ステップＳ１４０５のＰＤＬデータの展開をステップＳ１４０９の後に行わず、ステップＳ１４０２とステップＳ１４０３との間に行うようにすればよい。
【００８５】
また、上記第３及び第４の実施の形態は、ＰＤＬデータを優先するように考えられているため、ＰＤＬデータを優先する場合には、図１４のように、スキャンデータの展開の後に、ＰＤＬデータの展開を行えばよい。
【００８６】
また、これらを切り替えるためには、オペレータの操作やホストコンピュータからの指示に応じて値を変えるフラグを設け、そのフラグの値が１であれば、図１４の通りに処理を行い、０であれば、ステップＳ１４０５のＰＤＬデータの展開をステップＳ１４０９の後に行わず、ステップＳ１４０２とステップＳ１４０３との間に行うようにすればよい。
【００８７】
さらに、いずれかを優先させず、重複する画像をかさねてしまうこともできる。図２０は、ＰＤＬデータ７００とスキャンデータ７０５とを合成する例を示す図である。スキャンデータを優先すれば画像７２０のように、ＰＤＬデータの挿入領域７０１にすでにある画像が出力される。ＰＤＬデータを優先すれば画像７１０のように、スキャンデータの選択領域７０６内の画像が出力される。合成を選択すれば、画像７３０のように、双方の画像が重ね合わされて出力される。この最後の方法では、２つの画像を重ね合わせるための演算を利用者に指定させることもできる。例えば、対応する各画素の値を加算したり、２値画像であれば、論理和や排他的論理和などを選ぶことができる。このようにすることで、スキャンデータを挿入するＰＤＬデータの領域にすでにＰＤＬデータがある場合でも、印刷装置上で調整できる。
【００８８】
また、上述の実施形態では、スキャンデータとＰＤＬデータとの合成について説明してきたが、合成されるデータがスキャンデータ以外の画像データであっても、本実施形態を適用することができる。
【００８９】
また、上述した実施形態は、すべてプリンタとスキャナとが独立したシステムであった。しかし、スキャナとプリンタとを含み、複写機やファクシミリ、あるいはスキャナ，プリンタ単体として使用できるデジタル複合機をホストコンピュータと接続したシステムに、上記各実施例で説明した画像合成の技術を適用することができる。
【００９０】
【他の実施形態】
なお、本発明は、複数の機器（例えばホストコンピュータ，インタフェイス機器，リーダ，プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用してもよい。
【００９１】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても達成される。
【００９２】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００９３】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【００９４】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００９５】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００９６】
【発明の効果】
以上説明したように、本発明によれば、ＰＤＬデータに従って、スキャンデータを自動的に読み込み、印刷装置内でＰＤＬデータとスキャンデータを合成することができる。したがって、スキャナからホストコンピュータにスキャンデータを転送する必要も、ホストコンピュータからプリンタにスキャンデータを転送する必要もない。このため、ネットワーク上のの通信トラフィックを減らすことができる。
【００９７】
また、画像の合成をホストコンピュータで行う必要がないため、ホストコンピュータを有効に利用することができる。
【００９８】
また、ＰＤＬ命令の一部として、スキャンデータを合成する命令がプリンタ与えられるために、所望のページに対してスキャンデータの合成を指示できる。
【００９９】
また、挿入領域がＰＤＬデータによって正確に指示されるので、データ合成には不必要な画像がスキャンデータに含まれていても、必要なスキャンデータのみがＰＤＬデータと合成される。
【０１００】
また、利用者の望むスキャンデータの領域とＰＤＬデータとの合成及び印刷が行える。また、スキャンデータの領域の指定は、ＰＤＬデータで指定された領域に相当するサイズの枠をプレビュー画面上で移動することで行わる。このため、所望の領域の指定が非常に簡単に行える。
【０１０１】
また、ホストコンピュータの画面上で、スキャンデータ中に選択領域を自由に設定することができる。この設定は、スキャンデータのプレビューを見ながら行えるために、利用者の望む部分画像を正確に選択し、選択された部分を、ＰＤＬデータにより表された文書等の画像に合成することができる。
【０１０２】
また、スキャンデータのプレビューを行う場合であっても、ホストコンピュータからプリンタへとスキャンデータを送信する必要はないため、ネットワーク上に送り出される画像データは小さなデータであり、通信のトラフィックを増やすことはない。
【０１０３】
さらに、オペレータが選択領域を改めて選択しなくとも、選択領域として、挿入領域に対応するスキャンデータ上の領域が選ばれる。このため、オペレータは、選択領域の位置の決定を省くことができる。
【０１０４】
また、印刷する前に、ユーザが合成に用いるスキャンデータとＰＤＬデータの領域が異なっていることをエラーや警告メッセージによって知ることができ、適切な処置をとることができる。
【０１０５】
また、自動的にスキャンデータの拡大縮小をして、選択領域内の画像を挿入領域のサイズに合わせることもできるので、スキャンデータを前もって拡大したり縮小したりする必要がなくなる。
【図面の簡単な説明】
【図１】第１乃至第２の実施形態における印刷システムの構成例を示すブロック図である。
【図２】レーザビームプリンタ１０００の断面図である。
【図３】第１の実施形態によるプリンタの動作手順を示すフローチャートである。
【図４】第１の実施形態及び第２の実施形態それぞれにおいて合成された画像の例である。
【図５】第２実施形態によるプリンタの動作手順を示すフローチャートである。
【図６】第２実施形態のプリンタによる画像合成の様子を示す図である。
【図７】第３乃至第６の実施形態における印刷システムの構成例を示すブロック図である。
【図８】第３の実施形態におけるＬＢＰ１０００とホストコンピュータ２０１での動作手順を示すフローチャートである。
【図９】第３の実施形態でホストコンピュータに表示されるスキャナデータのプレビューウインドウの図である。
【図１０】第４の実施形態によるホストコンピュータの動作手順を示すフローチャートである。
【図１１】第４及び第５の実施形態でホストコンピュータに表示されるプリンタドライバウインドウの図である。
【図１２】第４の実施形態でホストコンピュータに表示される画面の図である。
【図１３】第４及び第５の実施形態におけるプリンタによるプレビュー画面の読み込み手順を示すフローチャートである。
【図１４】第４及び第５の実施形態におけるプリンタの動作手順のフローチャートである。
【図１５】第４及び第５の実施形態において、合成される画像の例を示す図である。
【図１６】第５の実施形態によるホストコンピュータの動作手順を示すフローチャートである。
【図１７】第５の実施形態でホストコンピュータに表示される画面の図である。
【図１８】第６の実施形態において合成される画像の例を示す図である。
【図１９】合成する画像に優先順位をつけた場合の画像の例を示す図である。
【図２０】合成する画像に優先順位をつけた場合の画像の例を示す図である。
２０１      ホストコンピュータ
２０２      スキャナ
２０４      Ｉ／Ｏ
２０５      ＰＤＬ解析部
２０６      メモリ
２０７      Ｉ／Ｏ
２０８      スキャナ制御部
２０９      エンジン
５０７      Ｉ／Ｏ
【図１】
0003745136.tif 000002
【図２】
0003745136.tif 000003
【図３】
0003745136.tif 000004
【図４】
0003745136.tif 000005
【図５】
0003745136.tif 000006
【図６】
0003745136.tif 000007
【図７】
0003745136.tif 000008
【図８】
0003745136.tif 000009
【図９】
0003745136.tif 000010
【図１０】
0003745136.tif 000011
【図１１】
0003745136.tif 000012
【図１２】
0003745136.tif 000013
【図１３】
0003745136.tif 000014
【図１４】
0003745136.tif 000015
【図１５】
0003745136.tif 000016
【図１６】
0003745136.tif 000017
【図１７】
0003745136.tif 000018
【図１８】
0003745136.tif 000019
【図１９】
0003745136.tif 000020
【図２０】
0003745136.tif 000021