(57)【特許請求の範囲】
【請求項１】
プリント対象となる文書データから、改ページ位置を決定する画像処理装置であって、
マークアップ言語で記述された文書データをウェブブラウザに表示できるように展開する展開手段と、
前記展開手段が展開可能な最大フォントサイズを解析する解析手段と、
前記マークアップ言語で記述された文書データをプリント用データに変換する変換手段と、
前記変換手段によって変換されたプリント用データの先頭からライン数をカウントするカウント手段と、
前記カウント手段が１ページに記録可能なライン数から前記解析手段によって解析されたフォントサイズに対応するライン数を引いた値をカウントすると、全て同じ色の画素のみで構成されるラインの検出を開始する検出手段と、
前記検出手段が検出したラインを改ページ位置と決定する決定手段と
を含むことを特徴とする画像処理装置。
【請求項２】
プリント対象となる文書データから、改ページ位置を決定する画像処理装置であって、
マークアップ言語で記述された文書データに含まれるフォントサイズを解析する解析手段と、
前記マークアップ言語で記述された文書データをプリント用データに変換する変換手段と、
前記変換手段によって変換されたプリント用データの先頭からライン数をカウントするカウント手段と、
前記カウント手段が１ページに記録可能なライン数から前記解析手段によって解析されたフォントサイズに対応するライン数を引いた値をカウントすると、全て同じ色の画素のみで構成されるラインの検出を開始する検出手段と、
前記検出手段が検出したラインを改ページ位置と決定する決定手段と
を含むことを特徴とする画像処理装置。
【請求項３】
プリント対象となる文書データから、改ページ位置を決定する画像処理方法であって、
マークアップ言語で記述された文書データをウェブブラウザに表示できるように展開する展開工程と、
前記展開工程で展開可能な最大フォントサイズを解析する解析工程と、
前記マークアップ言語で記述された文書データをプリント用データに変換する変換工程と、
前記変換工程で変換されたプリント用データの先頭からライン数をカウントするカウント工程と、
前記カウント工程で１ページに記録可能なライン数から前記解析工程で解析されたフォントサイズに対応するライン数を引いた値をカウントすると、全て同じ色の画素のみで構成されるラインの検出を開始する検出工程と、
前記検出工程で検出したラインを改ページ位置と決定する決定工程と
を含むことを特徴とする画像処理方法。
【請求項４】
プリント対象となる文書データから、改ページ位置を決定する画像処理方法であって、
マークアップ言語で記述された文書データに含まれるフォントサイズを解析する解析工程と、
前記マークアップ言語で記述された文書データをプリント用データに変換する変換工程と、
前記変換工程で変換されたプリント用データの先頭からライン数をカウントするカウント工程と、
前記カウント工程で１ページに記録可能なライン数から前記解析工程で解析されたフォントサイズに対応するライン数を引いた値をカウントすると、全て同じ色の画素のみで構成されるラインの検出を開始する検出工程と、
前記検出工程で検出したラインを改ページ位置と決定する決定工程と
を含むことを特徴とする画像処理方法。
【請求項５】
コンピュータに請求項３又は４に記載の画像処理方法を実行させるためのプログラム。
【請求項６】
請求項５に記載のプログラムを格納したことを特徴とする、コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理装置に関し、特に、文書をカット紙に記録可能な画像処理装置に関する。
【０００２】
【従来の技術】
従来から、この種の画像処理装置において、文字が切れないように改ページを行なう技術が提案されてきている。
【０００３】
例えば、ＨＴＭＬファイルの記録方法として、ＨＴＭＬファイルを展開する際に記録範囲に入るよう縮小して展開したり、改ページ部分にて文字が切れる場合には次ページに組み入れる方法があった（例えば、特許文献１参照）。また、ファクシミリの記録方法として、受信したファクシミリの改ページ部分で文字が切れないように印刷可能最大ラインに一番近い全白ラインをサーチし、発見した全白ラインの所で改ページする方法があった（例えば、特許文献２及び特許文献３参照）。
【０００４】
【特許文献１】
特開平１１−１５７４９号公報
【特許文献２】
特開平７−５８９４０号公報
【特許文献３】
特開平６−１５２８９６号公報
【０００５】
【発明が解決しようとする課題】
しかし、上記特許文献１においては、ＨＴＭＬファイルを展開する際に縮小や展開、次ページへの組み入れをする必要があった。また、特許文献２や特許文献３においては記録可能ライン数いっぱいまでのデータを展開するまで、どこで改ページするかの判定ができなかった。
【０００６】
このため、特許文献１では表示用の展開と印刷用の展開を別の処理にするか、表示用の展開の際に印刷の展開を考慮する必要があり非常に複雑な処理となる。また、特許文献２や特許文献３を適用する場合には記録可能ライン数いっぱいまでのデータを展開する必要があり、バッファ容量が多く必要でかつ処理も複雑であった。
【０００７】
本発明は上記課題を解決し、シンプルな処理により、確実に適正な改ページを行なうことのできる画像処理装置及び画像処理方法並びに制御プログラムを提供することにある。
【０００８】
【課題を解決するための手段】
上記目的を達成するため、本発明に係る装置は、プリント対象となる文書データから、改ページ位置を決定する画像処理装置であって、マークアップ言語で記述された文書データをウェブブラウザに表示できるように展開する展開手段と、前記展開手段が展開可能な最大フォントサイズを解析する解析手段と、前記マークアップ言語で記述された文書データをプリント用データに変換する変換手段と、前記変換手段によって変換されたプリント用データの先頭からライン数をカウントするカウント手段と、前記カウント手段が１ページに記録可能なライン数から前記解析手段によって解析されたフォントサイズに対応するライン数を引いた値をカウントすると、全て同じ色の画素のみで構成されるラインの検出を開始する検出手段と、前記検出手段が検出したラインを改ページ位置と決定する決定手段とを含むことを特徴とする。
【０００９】
上記目的を達成するため、本発明に係る装置は、プリント対象となる文書データから、改ページ位置を決定する画像処理装置であって、マークアップ言語で記述された文書データに含まれるフォントサイズを解析する解析手段と、前記マークアップ言語で記述された文書データをプリント用データに変換する変換手段と、前記変換手段によって変換されたプリント用データの先頭からライン数をカウントするカウント手段と、前記カウント手段が１ページに記録可能なライン数から前記解析手段によって解析されたフォントサイズに対応するライン数を引いた値をカウントすると、全て同じ色の画素のみで構成されるラインの検出を開始する検出手段と、前記検出手段が検出したラインを改ページ位置と決定する決定手段とを含むことを特徴とする。
【００１７】
上記目的を達成するため、本発明に係る方法は、プリント対象となる文書データから、改ページ位置を決定する画像処理方法であって、マークアップ言語で記述された文書データをウェブブラウザに表示できるように展開する展開工程と、前記展開工程で展開可能な最大フォントサイズを解析する解析工程と、前記マークアップ言語で記述された文書データをプリント用データに変換する変換工程と、前記変換工程で変換されたプリント用データの先頭からライン数をカウントするカウント工程と、前記カウント工程で１ページに記録可能なライン数から前記解析工程で解析されたフォントサイズに対応するライン数を引いた値をカウントすると、全て同じ色の画素のみで構成されるラインの検出を開始する検出工程と、前記検出工程で検出したラインを改ページ位置と決定する決定工程とを含むことを特徴とする。
【００１８】
上記目的を達成するため、本発明に係る方法は、プリント対象となる文書データから、改ページ位置を決定する画像処理方法であって、マークアップ言語で記述された文書データに含まれるフォントサイズを解析する解析工程と、前記マークアップ言語で記述された文書データをプリント用データに変換する変換工程と、前記変換工程で変換されたプリント用データの先頭からライン数をカウントするカウント工程と、前記カウント工程で１ページに記録可能なライン数から前記解析工程で解析されたフォントサイズに対応するライン数を引いた値をカウントすると、全て同じ色の画素のみで構成されるラインの検出を開始する検出工程と、前記検出工程で検出したラインを改ページ位置と決定する決定工程とを含むことを特徴とする。
【００２７】
【発明の実施の形態】
以下に、図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。ただし、この実施の形態に記載されている構成要素の相対配置、表示画面等は、特に特定的な記載がない限りは、この発明の範囲をそれらのみに限定する趣旨のものではない。
【００２８】
（第１実施形態）
まず、ウェブブラウザ機能を持つカット紙タイプのファクシミリ装置を本発明の第１実施形態として説明する。
【００２９】
図１は、本実施形態に係るウェブブラウザ機能付きファクシミリ装置１００を示すブロック図である。
【００３０】
図１において、符号１０８は通信回線であり、ウェブブラウズではこの通信回線１０８を介してＩＰ網接続業者を経由してＩＰ網に接続する。また、ファクシミリ通信ではこの通信回線１０８を介して相手端末との通信を行なう。
【００３１】
符号１０１は、ＩＰ網接続業者および相手端末に通信回線１０８を介して接続するためのＮＣＵであり、このＮＣＵ１０１を介して本装置は通信回線１０８に接続される。ＮＣＵ１０１は、通信回線１０８側と装置内部との電気的絶縁、制御部１０４の指示による回線の捕捉、解放、ダイヤルパルス、トーンの送出、回線の監視、ファクシミリモデム、データモデム等などのの機能を有するものとする。
【００３２】
符号１０２はＲＡＭであり、受信バッファ、表示用バッファ、記録用バッファ、電話帳データ、制御データ等を記憶する。
【００３３】
符号１０３はＲＯＭであり、制御部１０４の制御プログラム、各種設定の初期値が記憶されている。
【００３４】
符号１０４は制御部であり、マイクロプロセッサなどから構成され、ＲＯＭ１０３に記述されたプログラムに従って図１の各機能ブロックを制御する。
【００３５】
符号１０５は、キーボードないしポインティングデバイスなどから成り、後述の表示器１０６とともにユーザーインターフェースを構成する操作部であり、ウェブブラウズ操作、プリント、発呼／着呼／登録等に関するオペレータの操作を受け付け、制御部１０４へオペレータの操作を通知する。
【００３６】
符号１０６は表示部であり、ウェブブラウズ表示、発呼時のダイヤル、装置の状態等、オペレータに伝達すべき情報を表示する。
【００３７】
符号１０７はスピーカであり、回線上の音声信号のモニタ、オペレータの呼び出し、操作音やエラー音を鳴らすために用いられる。これらの音声をスピーカ１０７から出力するために、不図示の音声合成回路や増幅器などが用いられるものとする。
【００３８】
図２は本実施形態のデータの処理の流れの例を示している。
【００３９】
通信回線１０８からのデータを通信制御処理２０１が受信バッファ２０２に格納する。受信バッファ２０２はウェブ１ページ分のデータを格納する。
【００４０】
ブラウザタスク２０３は受信バッファ２０２に格納されているマークアップ言語で記述されたウェブ１ページ分のデータを表示用データに変換し、そのうち、表示部１０６に一度に表示可能な量のデータを表示バッファ２０４に格納する。ブラウザタスク２０３は表示バッファ２０４への格納を終了するとプリントタスク２０５へ格納終了通知を行う。
【００４１】
プリントタスク２０５は格納終了通知を受けると表示バッファ２０４からデータを読み出し、１ラインごとにプリント用データに変換してプリンタ２０６へ転送する。転送が終わると転送終了通知をブラウザタスク２０３に通知する。転送終了通知を受けたブラウザタスク２０３は次の表示用データがあれば表示バッファ２０４に格納してプリントタスク２０５に通知し、ウェブページ分のデータが終わり、次の表示用データがない時にはプリントタスク２０５にページ終了を通知する。以上の処理を繰り返して１ページ分のデータをプリンタ２０６に転送し、ウェブプリントを行う。
【００４２】
ここでブラウザタスク２０３からプリントタスク２０５へ、表示バッファ２０４を介して１度に表示可能なデータ量づつデータを転送しているのはウェブブラウズ表示処理と、ウェブプリント処理の共通化を進めるためである。
【００４３】
より詳細な説明は図３、図４のフローチャートの説明で行う。
【００４４】
図３は本実施形態のブラウザタスク２０３のウェブプリント動作を示すフローチャートである。
【００４５】
まず、ステップＳ３０１ではウェブの１ページ分のデータを受信バッファ２０２に受信したか否かを調べ、１ページ分のデータを受信した場合にはステップＳ３０２へ進み、受信していない場合は再度ステップＳ３０１を実行し、データの受信を待つ。
【００４６】
次に、ステップＳ３０２では受信した１ページ分のデータを表示用データに変換しステップＳ３０３へ進む。
【００４７】
ステップＳ３０３では、変換された表示用データの表示用バッファへの格納を開始する。次に、ステップＳ３１２において、表示部１０６で表示可能な１画面分の大きさの表示用データ、或いは、変換した全表示用データが表示バッファ２０４に格納されたと判断した場合には、ステップＳ３０４に進み、プリントタスク２０５に格納終了を通知する。格納されていない場合には、ステップＳ３０３に進み、格納を続ける。
【００４８】
ここで、表示用バッファ２０４に格納した表示用データに含まれる全ライン数を、格納終了通知に付加情報として付加して通知する。
【００４９】
次に、ステップＳ３０５ではプリントタスク２０５から転送終了通知を受信したか否かを調べる。
【００５０】
この転送終了通知とは、プリントタスク２０５が、表示用バッファ２０４に格納された表示用データを全てプリンタ２０６に転送したことを示す通知である。従って、ここで転送終了通知を受け取ると、次の表示用データを表示用バッファ２０４に格納する処理に移る。
【００５１】
即ち、ステップＳ３０７に進み、全表示用データがすでに表示用バッファ２０４に格納済みであるかどうか判定する。まだ、表示用バッファ２０４に格納されていない表示用データが存在する場合には、ステップＳ３０３に戻り、次の表示用データを表示用バッファ２０４に新たに格納する。
【００５２】
ステップＳ３０７で、Ｗｅｂ１ページ分の全表示用データが表示用バッファ２０４に格納され、プリンタに転送されたと判断した場合には、ステップＳ３０８に進み、プリントタスク２０５に、ページ終了通知を送る。
【００５３】
ここで、ステップＳ３０６、Ｓ３０９〜Ｓ３１１の説明を行なう前に、図４を用いてプリントタスク２０５による処理を説明する。
【００５４】
図４は本実施形態のプリントタスク２０５のウェブプリント動作を示すフローチャートである。
【００５５】
まず、ステップＳ４０１では、各種カウンタなどの初期化をする。制御変数ＬｉｎｅＣｎｔに０を代入し、ウェブ１ページの最初の記録紙への記録の場合には表示バッファの先頭を表示バッファからの読み出し開始位置に設定する。
【００５６】
ステップＳ４０２では、ブラウザタスク２０３から格納終了通知を受信していないかを調べ、格納終了通知を受信した場合はステップＳ４０４へ進む。
【００５７】
ステップＳ４０４では表示用バッファから１ライン分のデータを読み出し、プリンタ用データに変換する。そして、ステップＳ４０５ではステップＳ４０４で変換した１ライン分のデータをプリンタ２０６に転送してステップＳ４０６へ進み、ステップＳ４０６では制御変数ＬｉｎｅＣｎｔに１を加える。
【００５８】
次に、ステップＳ４１３で、制御変数ＬｉｎｅＣｎｔがＭａｘよりも小さいか否か判定する。ここで、Ｍａｘは、記録紙１ページに対する最大記録可能ライン数である。この時点で、処理されたライン数が最大記録可能ライン数Ｍａｘ以上であれば、ステップＳ４１１に進み、ブラウザタスク２０３に改ページ通知を行ない、同時にステップＳ４１２で、プリンタ２０６に改ページ指示を行ない、プリントタスク２０５を終了する。即ち、プリントタスク２０５は、記録紙１ページごとに起動、終了する。
【００５９】
ステップＳ４１３で、制御変数ＬｉｎｅＣｎｔがＭａｘよりも小さい場合には、まだ記録紙に記録できるラインが存在することになる。この場合、ステップＳ４０７に進んで、制御変数ＬｉｎｅＣｎｔがＮよりも小さいか否かを判定し、小さい場合はステップＳ４０８へ進み、小さくない場合はステップＳ４１０へ進む。ここでＮは改ページ基準ライン数であって、最大記録可能ライン数Ｍａｘから、ブラウザタスクが展開可能な最大フォントの縦ドット数を引いた値であるか、またはその値よりも少し小さな値である。例えばＡ４サイズのとき、最大記録可能ラインが３８００であり、最大フォントの縦ドット数が１２０である場合、３６８０もしくはそれ以下とする。このように、残りの記録領域が最大フォントの縦ドット数以下のライン数になったときにＳ４１０で改ページが必要かどうかチェックをすれば、１つの文字が記録紙をまたがって印字されることはない。
【００６０】
ステップＳ４０８では、ステップＳ４０３で受信した格納終了通知に含まれる格納ライン数を用いて、表示用バッファに格納された表示用データをすべてプリンタ２０６へ転送したか否かを判断し、転送が完了した場合はステップＳ４０９へ進み、完了していない場合はステップＳ４０４へ進み次のラインの転送を実行する。ステップＳ４０９ではブラウザタスク２０３へ転送終了を通知してステップＳ４０２へ進み、次のデータの格納を待つ。
【００６１】
一方、改ページ基準ライン数Ｎ以上のデータをプリンタに転送した場合には、ステップＳ４０７からステップＳ４１０に進み、転送したラインのデータが全て同じ色であるか否かを調べる。１ラインのデータが全て同じ色であれば、そのラインに文字は含まれていない（行と行の間である）と判断でき、そのラインで改ページを行なえば、一つの文字が２ページにまたがると言うことは無くなる。なお、白黒のみならず、カラーであったとしても１ラインの色が全て同じ色であれば、背景と判断できるため、改ページを行なうべきラインと判断できる。
【００６２】
したがって、１ラインのデータが全て同じ色であれば、ステップＳ４１１へ進み、ブラウザタスク２０３へ改ページ通知を渡し、同時にステップＳ４１２で、プリンタ２０６へ改ページコードを送出し終了する。
【００６３】
ステップＳ４１０で、１ラインが全て同じ色でないとすると、このラインに、文字か模様が存在すると判断できるので、ステップＳ４０８に進み、次のラインの処理に移る。
【００６４】
このように、表示バッファに格納された表示用データを処理していき、ブラウザタスク２０３からページ終了通知を受信した場合には、ステップＳ４０２からステップＳ４０３に進み、プリントタスク２０５での処理を終了する。
【００６５】
ページ終了通知を受信しなければ、ステップＳ４０３からステップＳ４０２に戻り、格納終了通知の受信を待つ。
【００６６】
また、プリントタスク２０５で、改ページを行なう場合には、ブラウザタスク２０４に、転送終了通知ではなく、改ページ通知が送信され、ブラウザタスク２０４では、図３のステップＳ３０５からステップＳ３０６を経て、ステップＳ３０９へ進む。改ページ通知には、表示バッファ中の最終記録ラインについての情報が含まれている。つまり、プリントタスク２０５は、改ページを行なう直前にプリンタ用データに変換した表示用データの表示バッファでの位置を改ページ通知に含めてブラウザタスク２０４に渡す。
【００６７】
ステップＳ３０９では、改ページ通知に含まれていた表示バッファ中の最終記録ラインを記憶する。そして、ステップＳ３１０でプリントタスクの終了を待ち（つまり、ステップＳ４１２の処理の終了を待ち）、ステップＳ３１１で再度プリントタスクを起動する。この際、ステップＳ３０９で記憶した、最終記録ラインの次のラインを表示バッファ中の記録開始ラインとするように、プリントタスク２０５に値を渡す。つまり、２枚目以降の記録紙への記録の場合にはステップＳ３０９で記憶した最終記録ラインの次のラインをＳ４０１において表示バッファからの読み出し開始位置に設定する。これにより、ウェブ１ページが１枚の記録紙に記録しきれなかった場合にはステップＳ３０９で記憶した表示バッファ上の１枚目の最終記録ラインの次のラインから２枚目の記録紙へ記録を開始することができる。
【００６８】
ステップＳ３１１でプリントタスク２０５を再起動した後は、ステップＳ３０４に戻り、再度格納終了通知を行なう。これにより、プリントタスク２０５では、ステップＳ４０１からステップＳ４０２を経てステップＳ４０４に進み、次ページの最初のライン用のプリンタ用データを生成する。
【００６９】
以上で説明した処理により、ウェブ上のマークアップ言語で記述された文書を印刷する際に、プリンタへ転送したライン数が１ページに記録可能なライン数から最大サイズのフォントの縦サイズ（ライン数）を引いた閾値以上になると、プリンタへ転送する１ラインに含まれる画素データが全て同じ色の画素データであるか否かを判断し、同じ色の画素データである時にはプリンタ手段に対して改ページ指示を送出するような構成となり、１ライン毎に判定をするだけで簡単に改ページで文字が切れないようにすることが可能である。
【００７０】
なお、上記実施形態では、１ラインに含まれる画素データが全て同じ色の画素データであるか否かを判断して改ページするか否かを決定しているが、本発明はこれに限定されるものではなく、１ラインに含まれる全ての画素データが所定の濃度や色範囲に含まれている場合に改ページを行なう制御としても良い。
【００７１】
（第２実施形態）
次に、本発明の第２実施形態として、ウェブブラウザ機能を持つカット紙タイプのファクシミリ装置について説明する。
【００７２】
本実施の形態に係るファクシミリ装置は、プリントバッファを用いてページそのハードウェア構成において上記第１実施形態と同様であるため、ここでは説明を省略する。
【００７３】
図５は、第２実施形態であるウェブブラウザ機能付きファクシミリ装置における処理の流れの例を示している。
【００７４】
通信回線１０８からのデータを通信制御処理５０１が受信バッファ５０２に格納する。受信バッファ５０２はウェブ１ページ分のデータを格納する。
【００７５】
ブラウザタスク５０３は受信バッファ５０２に格納されているマークアップ言語で記述されたウェブ１ページ分のデータを表示用データに変換し、そのうち、表示部１０６に一度に表示可能な量のデータを表示バッファ５０４に格納する。ブラウザタスク５０３は表示バッファ５０４への格納を終了するとデータ変換タスク５０５へ格納終了を通知する。
【００７６】
データ変換タスク５０５は格納終了通知を受けると表示バッファ５０４からデータを読み出し、プリントバッファ５０６に空きがあることを確認してから１ラインごとにプリント用データに変換してプリントバッファ５０６へ転送する。転送が終わると転送終了通知をブラウザタスク５０３に通知する。転送終了通知を受けたブラウザタスク５０３は次の表示用データがあれば表示バッファ５０４に格納してデータ変換タスク５０５に通知し、ウェブページ分のデータが終わり、次の表示用データがない時にはデータ変換タスク５０５にページ終了を通知する。ページ終了通知を受けたデータ変換タスクはプリントタスク５０７にページ終了を通知する。
【００７７】
プリントタスク５０７はプリントバッファにデータがあるとデータを読み出し、プリント処理する。データがないと、ページ終了処理を通知されているかを確認し、通知されている場合はプリント処理を終了する。また、プリントバッファから読み出したデータが改ページコードの場合は改ページ処理を行い、プリント用データの場合はプリント処理する。
【００７８】
以上の処理を繰り返して１ページ分のデータをプリントし、ウェブプリントを行う。
【００７９】
ここでブラウザタスク５０３からデータ変換タスク５０５へ、表示バッファ５０４を介して１度に表示可能なデータ量づつデータを転送しているのはウェブブラウズ表示処理と、ウェブプリント処理の共通化を進めるためである。
【００８０】
より詳細な説明は図６、図７、図８のフローチャートの説明で行う。
【００８１】
図６は本実施形態のブラウザタスク５０３のウェブプリント動作を示すフローチャートである。
【００８２】
まず、ステップＳ６０１ではウェブの１ページ分のデータを受信バッファ５０２に受信したか否かを調べ、１ページ分のデータを受信した場合にはステップＳ６０２へ進み、受信していない場合は再度ステップＳ６０１を実行し、データの受信を待つ。
【００８３】
次に、ステップＳ６０２では受信した１ページ分のデータを表示用データに変換し表示用バッファ５０４へ格納し、ステップＳ６０３へ進む。
【００８４】
ステップＳ６０３では、データ変換タスク５０５に格納終了を通知する。
【００８５】
ここで、表示用バッファ５０４に格納した表示用データに含まれる全ライン数を、格納終了通知に付加情報として付加して通知する。
【００８６】
次に、ステップＳ６０４ではデータ変換タスク５０５から転送終了通知を受信したか否かを調べる。
【００８７】
この転送終了通知とは、データ変換タスク５０５が、表示用バッファ５０４に格納された表示用データを全てプリント用データに変換してプリントバッファに格納したことを示す通知である。
従って、ここで転送終了通知を受け取ると、次の表示用データを表示用バッファ５０４に格納する処理に移る。
【００８８】
即ち、ステップＳ６０５に進み、全表示用データがすでに表示用バッファ５０４に格納済みであるかどうか判定する。まだ、表示用バッファ５０４に格納されていない表示用データが存在する場合には、ステップＳ６０２に戻り、次の表示用データを表示用バッファ５０４に新たに格納する。
【００８９】
ステップＳ６０５で、Ｗｅｂ１ページ分の全表示用データが表示用バッファ５０４に格納され、プリントバッファに転送されたと判断した場合には、ステップＳ６０６に進み、データ変換タスク５０５に、ページ終了通知を送りＷｅｂ１ページ分のプリント処理を終了する。
【００９０】
図７は本実施形態のデータ変換タスク５０５のウェブプリント動作を示すフローチャートである。
【００９１】
まず、ステップＳ７０１では、各種カウンタなどの初期化をする。制御変数ＬｉｎｅＣｎｔに０を代入し、表示バッファの先頭を表示バッファからの読み出し開始位置に、プリントバッファの先頭をプリントバッファへの書込み開始位置に設定する。
【００９２】
ステップＳ７０２では、ブラウザタスク５０３から格納終了通知を受信していないかを調べ、格納終了通知を受信した場合はステップＳ７０３へ進む。
【００９３】
ステップＳ７０３では表示バッファに未変換データがないかを表示バッファ読込位置と、格納終了通知に付加情報として付加された全ライン数から判定し、未変換データがまだある場合はＳ７０４へ進み、未変換データがなくなり、表示バッファに格納されたデータを全て処理した場合はＳ７１０へ進む。
【００９４】
ステップ７０４ではプリントバッファ５０６にプリント用データを格納するための空きがあるか否かを判定し、空きがない場合はプリントタスクの処理によって空きができるまでＳ７０３とＳ７０４を繰り返しながら待つ。空きがある場合はＳ７０５へ進む。
【００９５】
ステップＳ７０５では表示用バッファから１ライン分のデータを読み出し、プリント用データに変換し、プリントバッファ５０６に格納する。そして、制御変数ＬｉｎｅＣｎｔに１を加える。
【００９６】
次に、ステップＳ７０６で、制御変数ＬｉｎｅＣｎｔが所定の値Ｎよりも小さいか否か判定する。ここでＮは改ページ基準ライン数であって、記録紙１ページに対する最大記録可能ライン数Ｍａｘから、ブラウザタスクが展開可能な最大フォントの縦ドット数を引いた値であるか、またはその値よりも少し小さな値である。例えばＡ４サイズのとき、最大記録可能ラインが３８００であり、最大フォントの縦ドット数が１２０である場合、３６８０もしくはそれ以下とする。制御変数ＬｉｎｅＣｎｔがＮよりも小さい場合はステップＳ７０７へ進み、Ｓ７０７以降の改ページ判定処理を行う。このように、残りの記録領域が最大フォントの縦ドット数以下のライン数になったときに改ページが必要かどうかチェックをすれば、１つの文字が記録紙をまたがって印字されることはない。
【００９７】
ステップＳ７０７では最後にプリントバッファ５０６に格納した１ラインのプリント用データが全て同じ色であるか否かを判定する。１ラインのデータが全て同じ色であれば、そのラインに文字は含まれていない（行と行の間である）と判断でき、そのラインで改ページを行なえば、文字が１ページにまたがると言うことは無くなる。なお、白黒のみならず、カラーであったとしても１ラインの色が全て同じ色であれば、背景と判断できるため、改ページを行なうべきラインと判断できる。
【００９８】
したがって、１ラインのデータが全て同じ色であれば、ステップＳ７０８へ進み、プリントバッファ５０６へ改ページコードを格納し、プリントタスクによって改ページ処理を行うようにする。そして次の判定のために制御変数ＬｉｎｅＣｎｔに０を代入する。同じ色でなければＳ７０９へ進む。
【００９９】
ステップＳ７０９では制御変数ＬｉｎｅＣｎｔがＭａｘ以上であるか否かを判定する。ここで、Ｍａｘは、記録紙１ページに対する最大記録可能ライン数である。この時点で、処理されたライン数が最大記録可能ライン数Ｍａｘ以上であれば、ステップＳ７０８に進み、プリントバッファ５０６へ改ページコードを格納し、プリントタスクによって改ページ処理を行うようにする。
【０１００】
ステップＳ７１０では表示バッファに格納されたデータを全て処理したと判断されているので、ブラウザタスク５０３へ転送終了を通知する。
【０１０１】
ステップＳ７１１ではブラウザタスク５０３から表示バッファへの表示データの格納終了通知を受けたか否かを判定し、格納終了通知を受けた場合にはＳ７０３へ進み表示バッファ５０４へ格納された表示データの処理を行う。通知を受けていない場合はＳ７１２へ進む。
【０１０２】
ステップＳ７１２ではブラウザタスク５０３からウェブ１ページ分の処理が終了したことを通知する、ページ終了通知を受信したか否かを判定する。受信した場合はＳ７１２でプリントタスク５０７へページ終了を通知し、データ変換タスクの処理を終了する。通知を受けていない場合はＳ７１１へ進み、Ｓ７１１とＳ７１２を繰り返すことでブラウザタスクからの通知を待つ。
【０１０３】
図８は本実施形態のプリントタスク５０７のウェブプリント動作を示すフローチャートである。
【０１０４】
まず、ステップＳ８０１では、プリントバッファ５０６に未処理のデータが有るか否かを判定する。データがある場合はＳ８０２へ進み、データがない場合はＳ８０５へ進む。
【０１０５】
ステップＳ８０２ではプリントバッファ５０６からデータを読み出し、そのデータが改ページコードか否かを判定する。改ページコードである場合はＳ８０３へ進み、記録中の記録紙の排紙や各種制御変数の操作など、改ページ処理を行う。改ページコードでない場合はＳ８０４へ進む。
【０１０６】
ステップＳ８０４ではプリントバッファ５０６から１ライン分のプリント用データを読み取り、プリント処理をする。
【０１０７】
ステップＳ８０５ではデータ変換タスク５０５からページ終了通知を受信したか否かを判定する。受信していない場合はＳ８０１へ進み、Ｓ８０１とＳ８０５を繰り返すことにより、データ変換タスクからのプリント用データの格納か、ページ終了通知を待つ。ページ終了通知を受信した場合はプリントタスクの処理を終了する。
【０１０８】
以上、第２の実施形態で述べたように、表示バッファとプリンタの間に数ライン分のプリントバッファを設け、さらにデータ変換タスクを設けることによって、データを数ライン分メモリの中に蓄積してから改ページ指示を行っても同様の効果が得られる。
【０１０９】
以上で説明した処理により、ウェブ上のマークアップ言語で記述された文書を印刷する際に、１ページに記録可能なライン数から最大サイズのフォントの縦サイズ（ライン数）を引いた閾値以降のラインについて１ラインに含まれる画素データが全て同じ色の画素データであるか否かを判断し、同じ色の画素データである時には改ページコードを挿入するような構成となり、１ライン毎に判定をするだけで簡単に改ページで文字が切れないようにすることが可能である。
【０１１０】
なお、上記実施形態では、１ラインに含まれる画素データが全て同じ色の画素データであるか否かを判断して改ページするか否かを決定しているが、本発明はこれに限定されるものではなく、１ラインに含まれる全ての画素データが所定の濃度や色範囲に含まれている場合、あるいは一定のパターンの繰り返しを検出した場合に改ページを行なう制御としても良い。
【０１１１】
さらに、ステップＳ４０７、Ｓ７０６において改ページ判定をするか否かをＬｉｎｅＣｎｔがＮ以上であるか否かで判定しているが、ここでプリンタ内部に記録紙の先端や後端を検出する検出手段（センサなど）を設け、このセンサによる記録紙の検出情報で判定する構成にしてもよい。この場合、センサが記録紙の先端を検出しかつ後端を検出していない場合はＳ４０８、Ｓ７０３へ進み、先端を検出したのち後端を検出した場合はＳ４１０、Ｓ７０７に進むようにする。好ましくは、このセンサを記録紙搬送方向に記録位置に対して上流側に設け、センサが記録紙の後端を検出してから、プリンタの記録可能な最大長から最大フォントサイズ長を引いた記録紙の位置が記録位置に到達するまでのタイミングを、予め計算しておくか、又は、その都度計算し、そのタイミングで判定しても上記実施形態と同じ効果を得ることができる。
【０１１２】
また、センサが記録紙の後端を検出するタイミングで、表示バッファ２０４、プリントバッファ５０６から送出されるプリントデータが、ちょうどプリンタの記録可能な最大長から最大フォントサイズ長を引いた部分を構成するプリントデータとなるようにセンサの設置位置が構成されていてもよく、上記実施形態と同じ効果を得ることができる。この場合は、センサが記録紙の後端を検出したことをトリガーにして、改ページ判定を行えばよく、上述の計算は不要となる。
【０１１３】
（他の実施形態）
上記実施形態では、プリンタへ転送したライン数が１ページに記録可能な最大ライン数から最大サイズのフォントの縦サイズ（ライン数）を引いた閾値以上になると、１ラインに含まれる画素データの色を判定するとしているが、ここで「最大サイズのフォント」とは、そのウェブ１ページに含まれるフォントの最大値であってもよく、表示バッファへ展開する前に予めそのマークアップ言語での文書データを解析して、そこに含まれる最大サイズのフォントを導き出しても良い。
【０１１４】
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【０１１５】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１１６】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１１７】
【発明の効果】
本発明によれば、シンプルな処理により、確実に適正な改ページを行なうことができる。
【図面の簡単な説明】
【図１】本発明の第１実施形態に係るウェブブラウザ機能付きファクシミリ装置を示すブロック図である。
【図２】第１実施形態に係るファクシミリ装置におけるデータ処理の流れを示す図である。
【図３】第１実施形態に係るファクシミリ装置におけるブラウザタスクのウェブプリント動作を示すフローチャートである。
【図４】第１実施形態に係るファクシミリ装置におけるプリントタスクのウェブプリント動作を示すフローチャートである。
【図５】本発明の第２実施形態に係るウェブブラウザ機能付きファクシミリ装置のデータの処理の流れを示す図である。
【図６】第２実施形態に係るファクシミリ装置におけるブラウザタスクのウェブプリント動作を示すフローチャートである。
【図７】第２実施形態に係るファクシミリ装置におけるデータ変換タスクのウェブプリント動作を示すフローチャートである。
【図８】第２実施形態に係るファクシミリ装置におけるプリントタスクのウェブプリント動作を示すフローチャートである。
【符号の説明】
１００  ファクシミリ装置、
１０１  ＮＣＵ、
１０２  ＲＡＭ、
１０３  ＲＯＭ、
１０４  制御部、
１０５  操作部、
１０６  表示部、
１０７  スピーカ、
１０８  通信回線、
２０１  通信制御処理
２０２  受信バッファ
２０３  ブラウザタスク
２０４  表示バッファ
２０５  プリントタスク
２０６  プリンタ
【図１】
0003814585.tif 000002
【図２】
0003814585.tif 000003
【図３】
0003814585.tif 000004
【図４】
0003814585.tif 000005
【図５】
0003814585.tif 000006
【図６】
0003814585.tif 000007
【図７】
0003814585.tif 000008
【図８】
0003814585.tif 000009