(57)【要約】【課題】印刷機能を有する情報通信装置で受信するデータを、効率的に印刷することができる技術を提供する。【解決手段】通信回線を介してデータをデータモデム１０８を介して受信する。受信した受信データをＲＡＭ１０４に記憶する。プリンタ１０５で受信データを印刷する場合、ＣＰＵ１０２は、印刷設定情報に基づいて、該受信データの総ページ数を解析する。そして、解析された総ページ数を含む操作画面を表示部１０６に表示する。【選択図】  図１
2004194078.tif 000002
【特許請求の範囲】
【請求項１】
通信回線を介してデータを取得する情報通信装置であって、
前記通信回線を介してデータを受信する受信手段と、
前記受信手段で受信した受信データを記憶する記憶手段と、
前記受信手段で受信した受信データを印刷する印刷手段と、
前記印刷手段で前記受信データを印刷する場合、印刷設定情報に基づいて、該受信データの総ページ数を解析する解析手段と、
前記解析手段によって解析された総ページ数を含む操作画面を表示部に表示する制御手段と
を備えることを特徴とする情報通信装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、通信回線を介してデータを取得する情報通信技術に関するものである。
【０００２】
【従来の技術】
データモデムとプリンタ装置とを具備した通信端末装置で、ネットワーク経由で電子メール等のテキストデータを受信して、そのテキストデータを対応するフォントデータ画像に変換して印刷可能な装置が存在している。
【０００３】
【発明が解決しようとする課題】
従来の通信端末装置で受信するテキストデータは、電子メール等の大きくても数キロバイト程度の容量のテキストデータであり、そのテキストデータを印刷するとしても、印刷用紙１〜２枚に収まる量であるのが一般的である。
【０００４】
しかしながら、数十キロバイトに及ぶテキストデータを受信してそれを印刷する場合は、同様に印刷するにしても印刷用紙が数十枚に及び、印刷中の印刷用紙切れ、インク等の記録剤切れ等の印刷中断が発生する可能性が高くなる。そして、印刷中断が一旦発生して、再度、再印刷を実行する場合には、再度、印刷対象のテキストデータを最初から印刷せねばならず、印刷用紙や記録剤が無駄になってしまう。
【０００５】
本発明は上記の課題を解決するためになせたものであり、印刷機能を有する情報通信装置で受信するデータを、効率的に印刷することができる技術を提供することを目的とする。
【０００６】
【課題を解決するための手段】
上記の目的を達成するための本発明による情報通信装置は以下の構成を備える。即ち、
通信回線を介してデータを取得する情報通信装置であって、
前記通信回線を介してデータを受信する受信手段と、
前記受信手段で受信した受信データを記憶する記憶手段と、
前記受信手段で受信した受信データを印刷する印刷手段と、
前記印刷手段で前記受信データを印刷する場合、印刷設定情報に基づいて、該受信データの総ページ数を解析する解析手段と、
前記解析手段によって解析された総ページ数を含む操作画面を表示部に表示する制御手段と
を備える。
【０００７】
【発明の実施の形態】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
【０００８】
本発明は、インターネット接続機能を有する情報通信装置として、例えば、コンテンツデータのダウンロードを効率的に実行することができるファクシミリ装置として実施可能である。
【０００９】
尚、以下の説明において、「サーバ」とは、ＷＷＷシステムにおいてＨＴＭＬ文書や画像などの情報を蓄積しておき、Ｗｅｂブラウザなどのクライアントソフトウェアからの要求を受けてインターネット等のネットワークを通じて情報送信を行うＷｅｂサーバや、ネットワークを通じてユーザからの要求を受けて、データベースシステム等の処理に橋渡しを行う機能を備えたアプリケーションサーバ（または、Ｗｅｂアプリケーションサーバ）を意味するものである。
【００１０】
また、「クライアント」とは、ネットワークにおいてサーバの提供する機能やデータを利用するコンピュータ、およびソフトウェアを意味するものである。このクライアントとしては、実施形態では、特に、図１のファクシミリ装置に該当するが、これ以外にも、例えば、ネットワークに接続されたコンピュータ、家庭用のパーソナルコンピュータ、およびコンピュータ上で動作するＷｅｂブラウザ、ビューワ等が該当する。
【００１１】
また、以下に説明する本発明の実施形態では、インターネットを介してＷｅｂ環境下で提供者とユーザとの間で、特に、コンテンツデータのプリントに係る各種処理を実現する例を挙げて説明するが、本発明はこのような構成に限定されるものではない。つまり、サーバが提供するサービスに係る処理を実行するための各種操作画面がクライアントのブラウザ（ビューワ）上で表示可能な形態を提供できるようなコンピュータネットワーク環境であれば、本発明を適用することができる。
【００１２】
＜実施形態１＞
図１は本発明の実施形態１におけるファクシミリ装置の構成を示すブロック図である。
【００１３】
尚、本実施形態では、インターネット接続機能を有するファクシミリ装置を例に挙げて説明するが、例えば、同機能を有する携帯電話やＰＤＡ等の携帯端末についても本発明を適用することができる。
【００１４】
１０１は、原稿を光学的に読み取って画像データに変換する画像読取部である。１０２は、ファクシミリ装置全体の制御を行うＣＰＵである。１０３は、後述するフローチャートの処理を実現するプログラムを含むＣＰＵ１０２の動作プログラムやフォントデータ等の各種データを格納するＲＯＭである。１０４は、ＣＰＵ１０２のワークメモリとして機能したり、受信データを一時的に格納するＲＡＭである。尚、ＲＡＭ１０４以外に、ＲＡＭ１０４と同等の機能を実現できるメモリ、例えば、ＥＥＰＲＯＭ等を用いても良い。
【００１５】
１０５は、画像読取部１０１で読み取ったり、通信回線経由で受信した画像データを記録するプリンタである。このプリンタの記録方式には、感熱方式、レーザビーム方式、インクジェット方式等が挙げられる。１０６は、ビットマップデータ等の画像データや、操作画面等を表示する表示部である。この表示部１０６は、例えば、ＬＣＤで構成される。更に、この表示部１０６では、通信回線を介してアクセス可能なＷｅｂサーバで管理されているＷｅｂページを閲覧するための閲覧機能（ブラウザ）を有している。
【００１６】
１０７は、ユーザがＲＡＭ１０４内の受信データ種別を選択するためのキーや、ＲＡＭ内の受信データを消去するためのキー等のファクシミリ装置の各種操作を行うためのキー群やボタン群が配置された操作部である。また、実施形態１では、この操作部１０７より、通信回線を介してアクセス可能なＷｅｂサーバで管理されているＷｅｂページにアクセスするためのページ情報（ＵＲＬやＩＰアドレス、コンテンツデータ等）を入力することが可能である。
【００１７】
尚、このページ情報は、ＨＴＭＬやＸＭＬ等のマークアップ記述言語で記述されたデータ群である。
【００１８】
また、表示部１０６上では、ファクシミリ装置の各種操作を行うための表示画面が表示され、その表示画面に構成される各種データ入力領域やメニュー、ボタンに対する入力操作や選択操作は、表示画面内に表示されるカーソルやポインタを操作部１０７を介して操作することで実現することができる。
【００１９】
加えて、表示部１０６の表面にタッチパネルを配置して、操作部１０７と同等の機能を実現可能な各種操作画面を表示部１０６に表示させることで、ファクシミリ装置に係る各種操作をタッチ操作で実現するようにしても良い。
【００２０】
また、ＲＡＭ１０４内の一部には表示用画像データの格納場所としてＶＲＡＭが設定され、ＣＰＵ１０２内のディスプレイコントローラが、このＶＲＡＭから画像データを表示部１０６に転送することで、表示部１０６に画像が表示される。
【００２１】
１０８は、通信回線（例えば、公衆電話回線（ＰＳＴＮやＩＳＤＮ））経由でデータ（例えば、テキストデータ、バイナリデータ等）の送受信を行うためのデータモデムである。１０９は、通信回線経由でファクシミリ送受信を行うためのＧ３規格やＧ４規格のＦＡＸモデムである。１１０は、公衆電話回線１０８から受信するデータをデータモデム１０８またはＦＡＸモデム１０９に振り分けるためのクロスポイントスイッチである。
【００２２】
１１１は画像処理部であり、ＦＡＸ画像データの符号化／復号化処理、音声データの符号化／復号化処理、コンテンツデータの圧縮／復元処理等のファクシミリ装置の処理対象となるデータの各種画像処理を実行する。
【００２３】
次に、実施形態１のファクシミリ装置が、テキストデータを受信し、それを印刷するまでの処理について、図２を用いて説明する。
【００２４】
図２は本発明の実施形態１のファクシミリ装置が実行する処理を示すフローチャートである。
【００２５】
尚、実施形態１では、テキストデータは、ＳＨＩＦＴ−ＪＩＳ漢字コードで記述された漢字かな混じり文であるものとする。また、ファクシミリ装置は、テキストデータを等幅フォントで印刷するものとする。
【００２６】
ステップＳ２０１：データモデム１０８を用いて、公衆回線からテキストデータを受信し、ＲＡＭ１０４に格納する。
【００２７】
ステップＳ２０２：受信テキストデータを解析するページ解析処理として、このテキストデータを印刷用紙に印刷する場合に、その印刷用紙の各ページの最初のバイトの位置と、総ページ数を記録する。尚、このページ解析処理のアルゴリズムの詳細については後述する。
【００２８】
ステップＳ２０３：表示部１０６に、図３（ａ）に示す印刷メニュー画面３００を表示する。
【００２９】
ここで、印刷メニュー画面３００について説明する。
【００３０】
印刷メニュー画面３００において、３０１は、ステップＳ２０２で解析されたテキストデータ中の総ページ数と、現在の印刷開始ページを表示する表示フィールドである。
【００３１】
３０２〜３０５は印刷に係る各種操作ボタンである。３０２はページ指定ボタンであり、印刷開始ページを指定するためのボタンである。３０３はプレビューボタンであり、印刷開始ページのプレビューを表示するためのボタンである。３０４は印刷実行ボタンであり、印刷の実行を指示するためのボタンである。３０５は印刷中止ボタンであり、印刷処理の中止を指示するためのボタンである。
【００３２】
このような印刷メニュー画面３００を表示部１０６に表示することで、ユーザは、操作部１０７を介して、印刷対象のテキストデータの印刷開始ページ指定・プレビュー・印刷実行・印刷中止のいずれかを実行することができる。
【００３３】
図２の説明に戻る。
【００３４】
ステップＳ２０４：「印刷開始ページ」＝１（初期値）に設定する。
【００３５】
ステップＳ２０５：印刷メニュー画面３００に対する操作を監視し、その選択操作に基づいて、以下の処理に分岐する。
【００３６】
「ページ指定」である場合  →  ステップＳ２０６
「プレビュー」である場合  →  ステップＳ２０７
「印刷実行」である場合    →  ステップＳ２０９
「印刷中止」である場合    →  ステップＳ２１０
ステップＳ２０６：表示部１０６に、図３（ｂ）に示す印刷開始ページ指定画面３１０を表示する。
【００３７】
ここで、印刷開始ページ指定画面３１０について説明する。
【００３８】
印刷開始ページ指定画面３１０において、３１１は印刷開始ページを指定するための指定フィールドである。この指定フィールド３１１で指定する印刷開始ページは、＋ボタン３１２と−ボタン３１３の操作に応じて変更することができる。＋ボタン３１２を操作すると、その操作毎に指定フィールド３１１に表示されている印刷開始ページを１づつ繰り上げられる。一方、−ボタン３１３を操作すると、その操作毎に指定フィールド３１１に表示されている印刷開始ページを１づつ繰り下げられる。
【００３９】
３１４は確定ボタンであり、指定フィールド３１１に表示されている印刷開始ページを確定するためのボタンである。そして、この確定ボタン３１４が操作されると、ステップＳ２０５へ戻る。
【００４０】
ステップＳ２０７：表示部１０６に、図３（ｃ）に示す印刷開始ページのプレビュー画面３２０を表示し、そのプレビュー画面３２０に係るプレビュー処理を行う。尚、プレビュー処理の詳細については後述する。
【００４１】
ここで、プレビュー画面３２０について説明する。
【００４２】
プレビュー画面３２０において、３２１は現在設定されている印刷開始ページの表示フィールドである。３２２は印刷開始ページのプレビュー画像を表示する表示フィールドである。３２３はページ指定ボタンであり、現在の印刷開始ページを変更する場合に操作するボタンである。このページ指定ボタン３２３が操作されると、印刷開始ページ指定画面３１０が表示され、ユーザは操作部１０７を介して印刷開始ページを変更することができる。
【００４３】
３２４は印刷実行ボタンであり、現在設定されている印刷開始ページから最終ページまでの印刷の実行を指示するためのボタンである。３２５は印刷中止ボタンであり、印刷処理の中止を指示するためのボタンである。
【００４４】
このようなプレビュー画面３２０を表示部１０６に表示することで、ユーザは、操作部１０７を介して、印刷対象のテキストデータの印刷開始ページ指定・印刷実行・印刷中止のいずれかを実行することができる。
【００４５】
図２の説明に戻る。
【００４６】
ステップＳ２０８：プレビュー画面３２０に対する操作を監視し、その選択操作に基づいて、以下の処理に分岐する。
【００４７】
「ページ指定」である場合  →  ステップＳ２０５
「印刷実行」である場合    →  ステップＳ２０９
「印刷中止」である場合    →  ステップＳ２１０
ステップＳ２０９：現在設定されている印刷開始ページから最終ページまでの印刷処理を実行する。尚、印刷処理の詳細については後述する。その後、処理を終了する。
【００４８】
ステップＳ２１０：印刷対象のテキストデータの印刷を中止し、処理前の状態に復帰する。
【００４９】
次に、ステップＳ２０２のページ解析処理の詳細について、図４を用いて説明する。
【００５０】
図４は本発明の実施形態１のページ解析処理の詳細を示すフローチャートである。
【００５１】
尚、図４では、処理対象のテキストデータに対し、印刷時の１行あたりの半角文字数をｘ、1ページあたりの行数をｙとする。
【００５２】
このｘとｙは、印刷設定情報（印刷用紙のサイズや印刷用紙で印刷する印刷領域のサイズ）によって予め任意に操作部１０７を介して変更することができる。この印刷設定情報の変更は、例えば、複数種類の印刷用紙の各サイズとｘとｙを対応させた印刷管理テーブルをＲＯＭ１０３に記憶しておき、ユーザによって印刷用紙のサイズが選択された場合に印刷管理テーブルを参照して、対応するｘとｙを取得し、それに基づいてページ解析処理を実行しても良い。あるいは、受信するテキストデータとともにその印刷設定情報を受信している場合には、その印刷設定情報に基づいてページ解析処理を実行しても良い。
【００５３】
また、テキストデータは、ＲＡＭ１０４内において、char*型のバッファtextに格納されているものとする。
【００５４】
図４のフローチャートで使用する各種パラメータの意味はそれぞれ、
cnt：テキストデータ中の注目バイトのtext先頭からのオフセット値
text[cnt]：注目バイト
line：注目バイトがそのページの何ライン目かを示す変数
page：注目バイトが何ページ目にあるかを示す変数
i：注目バイトがそのラインの何バイト目かを示す変数
cr_flag：注目バイトの位置で改行するかどうかを示すフラグ（１＝改行）
を示すものである。
【００５５】
また、p++はpの値を１増やす（インクリメント）処理、p+=nはpの値をn増やす（インクリメント）処理、p-=nはpの値をn減らす（デクリメント）処理を示している。
【００５６】
ステップＳ４０１：cnt=0; line=0; page=1; i=0; cr_flag=0; pagetop[1]=0;
（初期値）に設定する。
【００５７】
ステップＳ４０２：text[cnt]=データ末尾であるか否かを判定する。データ末尾である場合（ステップＳ４０２でＹＥＳ）、処理を終了する。一方、データ末尾でない場合（ステップＳ４０２でＮＯ）、ステップＳ４０３に進む。
【００５８】
ステップＳ４０３：text[cnt]の内容を判定する。判定の結果、
半角文字である場合            ：  ステップＳ４０４
全角文字第１バイトである場合  ：  ステップＳ４０８
全角文字第２バイトである場合  ：  ステップＳ４１０
へ進む。
【００５９】
ステップＳ４０４：text[cnt]=0x0d（CR）であるか否かを判定する。text[cnt]=0x0d（CR）である場合（ステップＳ４０４でＹＥＳ）、ステップＳ４０５へ進む。一方、text[cnt]=0x0d（CR）でない場合（ステップＳ４０４でＮＯ）、ステップＳ４０７へ進む。
【００６０】
ステップＳ４０５：text[cnt+1]=0x0a（LF）であるか否かを判定する。text[cnt+1]=0x0aである場合（ステップＳ４０５でＹＥＳ）、ステップＳ４０６へ進む。一方、text[cnt+1]=0x0aでない場合（ステップＳ４０５でＮＯ）、ステップＳ４０７へ進む。
【００６１】
ステップＳ４０６：cr_flag=1（改行フラグｏｎ）; cnt+=2（注目バイトを２バイト先へ移す）に設定する。その後、ステップＳ４１０へ進む。
【００６２】
ステップＳ４０７：cr_flag=1（改行フラグｏｎ）; cnt++（注目バイトを１バイト先へ移す）に設定する。その後、ステップＳ４１０へ進む。
【００６３】
ステップＳ４０８：i=x-1であるか否かを判定する。i=x-1である場合（ステップＳ４０８でＹＥＳ）、ステップＳ４０９へ進む。一方、i=x-1でない場合（ステップＳ４０８でＮＯ）、ステップＳ４１０へ進む。
【００６４】
ステップＳ４０９：cnt-=1（注目バイトを１バイト戻す）に設定する。その後、ステップＳ４１０へ進む。
【００６５】
ステップＳ４１０：cr_flag=1（改行フラグｏｎ）であるか否かを判定する。cr_flag=1である場合（ステップＳ４１０でＹＥＳ）、ステップＳ４１１へ進む。一方、cr_flag=1でない場合（ステップＳ４１０でＮＯ）、ステップＳ４１２へ進む。
【００６６】
ステップＳ４１１：cr_flag=0（改行フラグｏｆｆ）に設定する。その後、ステップＳ４１４へ進む。
【００６７】
ステップＳ４１２：i++; cnt++（注目バイトを１バイト先へ移す）に設定する。その後、ステップＳ４１３へ進む。
【００６８】
ステップＳ４１３：i=x（＝行末）であるか否かを判定する。i=xである場合（ステップＳ４１３でＹＥＳ）、ステップＳ４１７へ進み、i=0に設定する。一方、i=xでない場合（ステップＳ４１３でＮＯ）、ステップＳ４１４へ進む。
【００６９】
ステップＳ４１４：line++（行数を１インクリメント）に設定する。
【００７０】
ステップＳ４１５：line=y（ページ末尾）であるか否かを判定する。line=yである場合（ステップＳ４１５でＹＥＳ）、ステップＳ４１６へ進む。一方、line=yでない場合（ステップＳ４１５でＮＯ）、ステップＳ４０２へ進む。
【００７１】
ステップＳ４１６：pagetop[page+1]=cnt; page++（ページカウント１インクリメント）; line=0に設定する。その後、ステップＳ４０２へ戻る。
【００７２】
以上の処理を繰り返し、処理が終了すると、変数pageに総ページ数、pagetop[j]に第jページの先頭バイト位置（textバッファ先頭からの相対位置）がセットされる。
【００７３】
次に、ステップＳ４０３の処理の詳細について、図５を用いて説明する。
【００７４】
図５は本発明の実施形態１のステップＳ４０３の処理の詳細を示すフローチャートである。
【００７５】
尚、図５のフローチャートで使用する各種パラメータの意味はそれぞれ、
prev：図４の処理の開始時に、０にセットされるフラグ
c：テキストデータ中の注目バイトを指すchar型変数
を示すものである。
【００７６】
ステップＳ５０１：c=text[cnt]に設定する。
【００７７】
ステップＳ５０２：prev=1（＝前のバイトが全角１バイト目）であるか否かを判定する。prev=1である場合（ステップＳ５０２でＹＥＳ）、ステップＳ５０３へ進む。一方、prev=1でない場合（ステップＳ５０２でＮＯ）、ステップＳ５０４へ進む。
【００７８】
ステップＳ５０３：cは全角２バイト目であると判定し、prev=0に設定して処理を終了する。
【００７９】
ステップＳ５０４：cが0x81〜0x9fの間または0xe0〜0xefの間または0xf7〜0xf9の間であるか否を判定する。判定条件を満足する場合（ステップＳ５０４でＹＥＳ）、ステップＳ５０５へ進む。判定条件を満足しない場合（ステップＳ５０４でＮＯ）、ステップＳ５０６へ進む。
【００８０】
ステップＳ５０５：cは全角1バイト目であると判定し、prev=1に設定して処理を終了する。
【００８１】
ステップＳ５０６：cは半角であると判定し、prev=0に設定して処理を終了する。
【００８２】
以上の処理により、処理対象のテキストデータ中を印刷する場合の総ページ数と、各ページの開始バイトのアドレスを認識することができる。
【００８３】
次に、ステップＳ２０７のプレビュー処理の詳細について説明する。
【００８４】
ユーザが第ｎページのプレビューを行うことを指示した場合、第ｎページのデータは図４の処理でＲＡＭ１０４内のpagetop[n]に格納されているアドレスから始まることが判っているので、ＣＰＵ１０２はテキストデータのそのアドレスからアドレスpagetop[n+1]-1あるいはtextバッファ末尾まで1文字ずつＲＡＭ１０４にフォントを展開し、それを表示部１０６に表示する。
【００８５】
次に、ステップＳ２０９の印刷処理の詳細について説明する。
【００８６】
ユーザが第ｎページからの印刷を指示した場合、まず、ＣＰＵ１０２はプリンタ１０５を用いて用紙の冒頭にページ番号を印刷し、そのあとはプレビューと同様に、pagetop[n]に格納されているアドレスからtextバッファ末尾まで１文字ずつＲＡＭ１０４内の印刷用バッファにフォントを展開し、そのデータをプリンタ１０５に送って印刷すればよい。
【００８７】
プレビュー及び印刷処理時に、第ｎページの処理を、受信テキストデータ中のpagetop[n]に格納された位置から行うことで、テキストデータの最初から１ページずつプレビューまたは印刷の処理を行うよりも高速に処理を行うことができる。
【００８８】
以上説明したように、実施形態１によれば、印刷対象のテキストデータの受信時、ＣＰＵ１０２は、そのテキストデータのフォント展開を行う前に、図２の解析処理を行うことにより、テキストデータを印刷する場合の各ページの開始位置と総ページ数をあらかじめ取得する。これにより、テキストデータの印刷時の総ページ数やプレビュー画像の提示、印刷開始ページの指定等の各種操作をユーザに提供することができる。加えて、印刷開始ページを指定可能とすることで、所望のページ位置からの印刷を行うことができる。
【００８９】
また、第ｎページをプレビュー画像を表示している状態で印刷実行が指示されると、その第ｎページから最終ページまでの印刷を実行する。これにより、記録剤（インク、トナー、インクリボン等）切れ等で印刷が一旦中断され、再度、同じデータを再印刷する場合でも、未印刷ページをプレビュー画像を表示して内容を確認し、その確認に基づいて、未印刷ページの印刷を迅速に実行することができ、印刷用紙や記録剤の無駄をなくしつつ、迅速な印刷を実行することができる。
【００９０】
更に、印刷時に各ページにページ番号を印刷することで、何ページ目で記録剤切れが発生したかを容易にユーザに通知することができる。
【００９１】
＜実施形態２＞
実施形態１においては、受信データはテキストデータを例に挙げて説明したが、これに限定されるものではなく、本発明のファクシミリ装置が受信するデータには、テキストデータ以外にも画像データが当然考えられるし、場合によっては、複数の画像データとテキストデータが混在して、１つのファイルにまとめられているようなデータ（以下、混成データ）も想定される。
【００９２】
そこで、実施形態２では、受信データが混成データある場合の処理について説明する。
【００９３】
まず、混成データのデータ構造について、図６を用いて説明する。
【００９４】
図６は本発明の実施形態２のデータ構造例を示す図である。
【００９５】
混成データは、例えば、図６（ａ）に示すように、一対のヘッダ部とデータ部からなるデータブロックが１つまたは複数から構成される。
【００９６】
図６（ａ）では、画像データ・テキストデータ・画像データの３つのデータブロック（ブロック１〜３）から構成されている例を示している。
【００９７】
各データブロック中のデータ部は、印刷対象となるjpegやgif等のファイル形式からなる画像データかまたはテキストデータからなる。ヘッダ部は、図６（ｂ）に示すように、ブロックサイズ６０１、ヘッダサイズ６０２、データ形式ＩＤ６０３、副次情報６０４から構成される。
【００９８】
ブロックサイズ６０１は、そのデータブロックについてのヘッダ部のサイズ（バイト数）と、データ部のサイズの合計を示す固定長のデータである。
【００９９】
ヘッダサイズ６０２は、ヘッダ部のサイズを示す固定長のデータである。データ形式ＩＤ６０３は、データ部がどのような情報であるか、即ち、gifやjpeg等のファイル形式の画像データか、テキストデータかを区別するための固定長のデータである。実施形態２では、データ形式ＩＤは、データ部が画像データのとき「０」、テキストデータのとき「１」であるものとする。
【０１００】
副次情報６０４は、例えば、データ部が画像データである場合の印刷解像度等の印刷に必要な各種印刷設定情報を含む可変長のデータである。
【０１０１】
ファクシミリ装置が、図６（ａ）のような混成データを受信した場合に、ＣＰＵ１０２は、基本的には、図２のフローチャートに従って動作し、この混成データのプレビュー処理や印刷処理を行う。
【０１０２】
尚、実施形態２と実施形態１の処理の主な違いは、ページ解析処理であるので、ここでは、実施形態２のページ解析処理の詳細について、図７を用いて説明する。また、実施形態２では、混成データに含まれる画像データは、１枚につき出力用紙１枚に印刷されるものとする。
【０１０３】
以下、実施形態２のページ解析処理の詳細について、図７を用いて説明する。
【０１０４】
図７は本発明の実施形態２のページ解析処理の詳細を示すフローチャートである。
【０１０５】
以下のアルゴリズムで使用する各種パラメータは、
page：現在処理中のページ
offset：現在処理中のデータブロックの開始アドレス
i：現在処理中のデータブロックが第何番目のものであるかを示す変数
x：現在処理中のデータが第何ページ目に相当するかを示す変数
を示すものである。
【０１０６】
また、x++はxの値を１増やす処理、x+=nはxの値をn増やす処理、x-=nはxの値をn減らす処理を示している。
【０１０７】
ステップＳ７０１：page=1、i=1、x=1、offset=0（初期値）に設定する。
【０１０８】
ステップＳ７０２：第iブロックのヘッダ（混成データのoffset番地以降）が存在するか否かを判定する。ヘッダが存在しない場合（ステップＳ７０２でＮＯ）、page-=1に設定して処理を終了する。一方、ヘッダが存在する場合（ステップＳ７０２でＹＥＳ）、ステップＳ７０３に進む。
【０１０９】
ステップＳ７０３：第iブロックのヘッダを解析して、第iブロックのブロックサイズblocksize[i]、第iブロックのヘッダサイズheadersize[i]、データ形式ＩＤid[i]を得る。
【０１１０】
ステップＳ７０４：id[i]=0（画像データ）であるか否かを判定する。id[i]=0である場合（ステップＳ７０４でＹＥＳ）、ステップＳ７０５へ進む。一方、id[i]=1（テキストデータ）である場合（ステップＳ７０４でＮＯ）、ステップＳ７０６へ進む。
【０１１１】
ステップＳ７０５：pagetop[page]=offset+headersize[i]、pageid[page]=0、page+=1に設定する。その後、ステップＳ７０８へ進む。
【０１１２】
ステップＳ７０６：混成データのpagetop[i]番地以降にあるそのブロックのテキストデータに対して、図４のフローチャートを同じ処理を実行して、このテキストデータの印刷時のページ数ｎと、各ページの開始バイト位置pagetop'[j]（j=1〜n）を得る。
【０１１３】
ステップＳ７０７：pagetop[k]=offset+headersize[i]+pagetop'[k-page+1]、pageid[k]=id[i]（k=page〜page+n-1）、page+=nに設定する。その後、ステップＳ７０８へ進む。
【０１１４】
ステップＳ７０８：offset+=blocksize[i]、i+=1に設定する。その後、ステップＳ７０２へ戻る。
【０１１５】
以上の処理によって、混成データを印刷する場合にも、その総ページ数pageと、各ページが画像であるかテキストであるかを示すデータ形式ＩＤ:pageid[j]、各ページを印刷した際の開始バイトのアドレスpagetop[j]を取得することができる。
【０１１６】
尚、混成データのプレビュー時および印刷時には、jページを指定した際に、該当ページを含むブロックのデータ形式ＩＤ:pageid[j]＝１（テキストデータ）であれば、実施形態１と同様の処理を行う。一方、データ形式ＩＤ:pageid[j]＝０（画像データ）である場合は、既知の方法に従って、その画像データをプレビューまたは印刷する。
【０１１７】
以上説明したように、実施形態２によれば、画像データとテキストデータが混在する混成データに対しても、実施形態１で説明した効果と同等の効果を実現することができる。
【０１１８】
以上説明したように、実施形態１や２によれば、ファクシミリ装置は、印刷対象のテキストデータまたは混成データを受信した際に、まず、ＣＰＵ１０２が処理対象のデータのページ解析処理を実行し、そのデータを印刷する場合の各ページの最初に相当するバイトが、ファイルのどの位置にあるかを取得し、かつ総ページ数を取得する。これにより、以下の効果を得ることができる。
【０１１９】
（１）ユーザは、データの印刷時の総ページ数を予め知ることができるので、印刷途中での用紙切れの可能性を減らすことができる。
【０１２０】
（２）ユーザが任意のページを指定してそのページの印刷プレビュー及び印刷処理を行う場合でも、処理対象データ中の「指定ページの最初に相当するバイト」から印刷プレビュー及び印刷処理を行うことができるので、わざわざ処理対象のデータの先頭から印刷プレビューや印刷を行うための処理を行わずとも任意のページから迅速に印刷処理を行うことができる。
【０１２１】
また、印刷時に、ファクシミリ装置が、各ページにページ番号を印刷することで、印刷途中でインク切れや用紙切れが生じて失敗した場合にも、正常に印刷できた分の出力をユーザが確認すれば、次にどのページから印刷すればよいかが容易に確認することができる。
【０１２２】
また、任意のページをユーザが指定してプレビューを行っている際に、ユーザが印刷指示を行うと、そのページ以降の印刷を実行するので、ユーザは自分の欲しいページを画面でわかりやすく確認してから迅速に印刷することができる。
【０１２３】
従って、上記実施形態１、２に係る実施態様を列挙すると、次の通りである。すなわち、ファクシミリ装置として機能する情報通信装置及びその制御方法は次のようになる。
【０１２４】
＜実施態様１＞  通信回線を介してデータを取得する情報通信装置であって、
前記通信回線を介してデータを受信する受信手段と、
前記受信手段で受信した受信データを記憶する記憶手段と、
前記受信手段で受信した受信データを印刷する印刷手段と、
前記印刷手段で前記受信データを印刷する場合、印刷設定情報に基づいて、該受信データの総ページ数を解析する解析手段と、
前記解析手段によって解析された総ページ数を含む操作画面を表示部に出力する制御手段と
を備えることを特徴とする情報通信装置。
【０１２５】
＜実施態様２＞  前記解析手段によって解析された総ページ数の内、任意のページを指定するページ指定手段と、
前記記憶手段に記憶された受信データの印刷を指示する印刷指示手段とを更に備え、
前記制御手段は、前記印刷指示手段によって印刷が指示された場合、前記ページ指定手段によって指定されたページ以降のデータを前記印刷手段によって印刷するように制御する
ことを特徴とする実施態様１に記載の情報通信装置。
【０１２６】
＜実施態様３＞  前記解析手段によって解析された総ページ数の内、任意のページを指定するページ指定手段と、
前記記憶手段に記憶された受信データの印刷を指示する印刷指示手段と、
前記記憶手段に記憶された受信データのプレビューを指示するプレビュー指示手段を更に備え、
前記制御手段は、前記プレビュー指示手段によってプレビューが指示された場合、前記ページ指定手段によって指定されたページを前記表示部に表示するように制御する
ことを特徴とする実施態様１に記載の情報通信装置。
【０１２７】
＜実施態様４＞  前記制御手段は、更に、前記印刷指示手段によって印刷が指示された場合、前記ページ指定手段によって指定されたページ以降のデータを前記印刷手段によって印刷するように制御する
ことを特徴とする実施態様３に記載の情報通信装置。
【０１２８】
＜実施態様５＞  前記記憶手段に記憶された受信データがテキストデータである場合、前記テキストデータを画像データに変換する画像変換手段を更に備え、
前記制御手段は、前記印刷指示手段によって印刷が指示された場合、前記画像変換手段によって変換された画像データを前記印刷手段によって印刷するように制御する
ことを特徴とする実施態様２または４に記載の情報通信装置。
【０１２９】
＜実施態様６＞  前記解析手段は、更に、受信データ中に含まれるヘッダ情報に基づいて、該受信データの総ページ数を計算する
ことを特徴とする実施態様１に記載の情報通信装置。
【０１３０】
＜実施態様７＞  通信回線を介してデータを取得する情報通信装置の制御方法であって、
前記通信回線を介してデータを受信する受信工程と、
前記受信工程で受信した受信データを記憶媒体に記憶する記憶工程と、
前記記憶媒体に記憶されている受信データを印刷する場合、印刷設定情報に基づいて、該受信データの総ページ数を解析する解析工程と、
前記解析工程によって解析された総ページ数を含む操作画面を表示部に出力する制御工程と
を備えることを特徴とする情報通信装置の制御方法。
【０１３１】
【発明の効果】
以上説明したように、本発明によれば、印刷機能を有する情報通信装置で受信するデータを、効率的に印刷することができる技術を提供できる。
【図面の簡単な説明】
【図１】本発明の実施形態１におけるファクシミリ装置の構成を示すブロック図である。
【図２】本発明の実施形態１のファクシミリ装置が実行する処理を示すフローチャートである。
【図３】本発明の実施形態１のファクシミリ装置の操作画面の一例を示す図である。
【図４】本発明の実施形態１のページ解析処理の詳細を示すフローチャートである。
【図５】本発明の実施形態１のステップＳ４０３の処理の詳細を示すフローチャートである。
【図６】本発明の実施形態２の受信データの構造例の一例を示す図である。
【図７】本発明の実施形態２のページ解析処理の詳細を示すフローチャートである。
【符号の説明】
１０１  画像読取装置
１０２  ＣＰＵ
１０３  ＲＯＭ
１０４  ＲＡＭ
１０５  プリンタ
１０６  表示部
１０７  操作部
１０８  データモデム
１０９  ＦＡＸモデム
１１０  クロスポイントスイッチ
１１１  画像処理部
【図１】
2004194078.tif 000003
【図２】
2004194078.tif 000004
【図３】
2004194078.tif 000005
【図４】
2004194078.tif 000006
【図５】
2004194078.tif 000007
【図６】
2004194078.tif 000008
【図７】
2004194078.tif 000009