JP2004194078A - 情報通信装置 - Google Patents
情報通信装置 Download PDFInfo
- Publication number
- JP2004194078A JP2004194078A JP2002360892A JP2002360892A JP2004194078A JP 2004194078 A JP2004194078 A JP 2004194078A JP 2002360892 A JP2002360892 A JP 2002360892A JP 2002360892 A JP2002360892 A JP 2002360892A JP 2004194078 A JP2004194078 A JP 2004194078A
- Authority
- JP
- Japan
- Prior art keywords
- data
- page
- printing
- received
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Facsimiles In General (AREA)
Abstract
【課題】印刷機能を有する情報通信装置で受信するデータを、効率的に印刷することができる技術を提供する。
【解決手段】通信回線を介してデータをデータモデム108を介して受信する。受信した受信データをRAM104に記憶する。プリンタ105で受信データを印刷する場合、CPU102は、印刷設定情報に基づいて、該受信データの総ページ数を解析する。そして、解析された総ページ数を含む操作画面を表示部106に表示する。
【選択図】 図1
【解決手段】通信回線を介してデータをデータモデム108を介して受信する。受信した受信データをRAM104に記憶する。プリンタ105で受信データを印刷する場合、CPU102は、印刷設定情報に基づいて、該受信データの総ページ数を解析する。そして、解析された総ページ数を含む操作画面を表示部106に表示する。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、通信回線を介してデータを取得する情報通信技術に関するものである。
【0002】
【従来の技術】
データモデムとプリンタ装置とを具備した通信端末装置で、ネットワーク経由で電子メール等のテキストデータを受信して、そのテキストデータを対応するフォントデータ画像に変換して印刷可能な装置が存在している。
【0003】
【発明が解決しようとする課題】
従来の通信端末装置で受信するテキストデータは、電子メール等の大きくても数キロバイト程度の容量のテキストデータであり、そのテキストデータを印刷するとしても、印刷用紙1〜2枚に収まる量であるのが一般的である。
【0004】
しかしながら、数十キロバイトに及ぶテキストデータを受信してそれを印刷する場合は、同様に印刷するにしても印刷用紙が数十枚に及び、印刷中の印刷用紙切れ、インク等の記録剤切れ等の印刷中断が発生する可能性が高くなる。そして、印刷中断が一旦発生して、再度、再印刷を実行する場合には、再度、印刷対象のテキストデータを最初から印刷せねばならず、印刷用紙や記録剤が無駄になってしまう。
【0005】
本発明は上記の課題を解決するためになせたものであり、印刷機能を有する情報通信装置で受信するデータを、効率的に印刷することができる技術を提供することを目的とする。
【0006】
【課題を解決するための手段】
上記の目的を達成するための本発明による情報通信装置は以下の構成を備える。即ち、
通信回線を介してデータを取得する情報通信装置であって、
前記通信回線を介してデータを受信する受信手段と、
前記受信手段で受信した受信データを記憶する記憶手段と、
前記受信手段で受信した受信データを印刷する印刷手段と、
前記印刷手段で前記受信データを印刷する場合、印刷設定情報に基づいて、該受信データの総ページ数を解析する解析手段と、
前記解析手段によって解析された総ページ数を含む操作画面を表示部に表示する制御手段と
を備える。
【0007】
【発明の実施の形態】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
【0008】
本発明は、インターネット接続機能を有する情報通信装置として、例えば、コンテンツデータのダウンロードを効率的に実行することができるファクシミリ装置として実施可能である。
【0009】
尚、以下の説明において、「サーバ」とは、WWWシステムにおいてHTML文書や画像などの情報を蓄積しておき、Webブラウザなどのクライアントソフトウェアからの要求を受けてインターネット等のネットワークを通じて情報送信を行うWebサーバや、ネットワークを通じてユーザからの要求を受けて、データベースシステム等の処理に橋渡しを行う機能を備えたアプリケーションサーバ(または、Webアプリケーションサーバ)を意味するものである。
【0010】
また、「クライアント」とは、ネットワークにおいてサーバの提供する機能やデータを利用するコンピュータ、およびソフトウェアを意味するものである。このクライアントとしては、実施形態では、特に、図1のファクシミリ装置に該当するが、これ以外にも、例えば、ネットワークに接続されたコンピュータ、家庭用のパーソナルコンピュータ、およびコンピュータ上で動作するWebブラウザ、ビューワ等が該当する。
【0011】
また、以下に説明する本発明の実施形態では、インターネットを介してWeb環境下で提供者とユーザとの間で、特に、コンテンツデータのプリントに係る各種処理を実現する例を挙げて説明するが、本発明はこのような構成に限定されるものではない。つまり、サーバが提供するサービスに係る処理を実行するための各種操作画面がクライアントのブラウザ(ビューワ)上で表示可能な形態を提供できるようなコンピュータネットワーク環境であれば、本発明を適用することができる。
【0012】
<実施形態1>
図1は本発明の実施形態1におけるファクシミリ装置の構成を示すブロック図である。
【0013】
尚、本実施形態では、インターネット接続機能を有するファクシミリ装置を例に挙げて説明するが、例えば、同機能を有する携帯電話やPDA等の携帯端末についても本発明を適用することができる。
【0014】
101は、原稿を光学的に読み取って画像データに変換する画像読取部である。102は、ファクシミリ装置全体の制御を行うCPUである。103は、後述するフローチャートの処理を実現するプログラムを含むCPU102の動作プログラムやフォントデータ等の各種データを格納するROMである。104は、CPU102のワークメモリとして機能したり、受信データを一時的に格納するRAMである。尚、RAM104以外に、RAM104と同等の機能を実現できるメモリ、例えば、EEPROM等を用いても良い。
【0015】
105は、画像読取部101で読み取ったり、通信回線経由で受信した画像データを記録するプリンタである。このプリンタの記録方式には、感熱方式、レーザビーム方式、インクジェット方式等が挙げられる。106は、ビットマップデータ等の画像データや、操作画面等を表示する表示部である。この表示部106は、例えば、LCDで構成される。更に、この表示部106では、通信回線を介してアクセス可能なWebサーバで管理されているWebページを閲覧するための閲覧機能(ブラウザ)を有している。
【0016】
107は、ユーザがRAM104内の受信データ種別を選択するためのキーや、RAM内の受信データを消去するためのキー等のファクシミリ装置の各種操作を行うためのキー群やボタン群が配置された操作部である。また、実施形態1では、この操作部107より、通信回線を介してアクセス可能なWebサーバで管理されているWebページにアクセスするためのページ情報(URLやIPアドレス、コンテンツデータ等)を入力することが可能である。
【0017】
尚、このページ情報は、HTMLやXML等のマークアップ記述言語で記述されたデータ群である。
【0018】
また、表示部106上では、ファクシミリ装置の各種操作を行うための表示画面が表示され、その表示画面に構成される各種データ入力領域やメニュー、ボタンに対する入力操作や選択操作は、表示画面内に表示されるカーソルやポインタを操作部107を介して操作することで実現することができる。
【0019】
加えて、表示部106の表面にタッチパネルを配置して、操作部107と同等の機能を実現可能な各種操作画面を表示部106に表示させることで、ファクシミリ装置に係る各種操作をタッチ操作で実現するようにしても良い。
【0020】
また、RAM104内の一部には表示用画像データの格納場所としてVRAMが設定され、CPU102内のディスプレイコントローラが、このVRAMから画像データを表示部106に転送することで、表示部106に画像が表示される。
【0021】
108は、通信回線(例えば、公衆電話回線(PSTNやISDN))経由でデータ(例えば、テキストデータ、バイナリデータ等)の送受信を行うためのデータモデムである。109は、通信回線経由でファクシミリ送受信を行うためのG3規格やG4規格のFAXモデムである。110は、公衆電話回線108から受信するデータをデータモデム108またはFAXモデム109に振り分けるためのクロスポイントスイッチである。
【0022】
111は画像処理部であり、FAX画像データの符号化/復号化処理、音声データの符号化/復号化処理、コンテンツデータの圧縮/復元処理等のファクシミリ装置の処理対象となるデータの各種画像処理を実行する。
【0023】
次に、実施形態1のファクシミリ装置が、テキストデータを受信し、それを印刷するまでの処理について、図2を用いて説明する。
【0024】
図2は本発明の実施形態1のファクシミリ装置が実行する処理を示すフローチャートである。
【0025】
尚、実施形態1では、テキストデータは、SHIFT−JIS漢字コードで記述された漢字かな混じり文であるものとする。また、ファクシミリ装置は、テキストデータを等幅フォントで印刷するものとする。
【0026】
ステップS201:データモデム108を用いて、公衆回線からテキストデータを受信し、RAM104に格納する。
【0027】
ステップS202:受信テキストデータを解析するページ解析処理として、このテキストデータを印刷用紙に印刷する場合に、その印刷用紙の各ページの最初のバイトの位置と、総ページ数を記録する。尚、このページ解析処理のアルゴリズムの詳細については後述する。
【0028】
ステップS203:表示部106に、図3(a)に示す印刷メニュー画面300を表示する。
【0029】
ここで、印刷メニュー画面300について説明する。
【0030】
印刷メニュー画面300において、301は、ステップS202で解析されたテキストデータ中の総ページ数と、現在の印刷開始ページを表示する表示フィールドである。
【0031】
302〜305は印刷に係る各種操作ボタンである。302はページ指定ボタンであり、印刷開始ページを指定するためのボタンである。303はプレビューボタンであり、印刷開始ページのプレビューを表示するためのボタンである。304は印刷実行ボタンであり、印刷の実行を指示するためのボタンである。305は印刷中止ボタンであり、印刷処理の中止を指示するためのボタンである。
【0032】
このような印刷メニュー画面300を表示部106に表示することで、ユーザは、操作部107を介して、印刷対象のテキストデータの印刷開始ページ指定・プレビュー・印刷実行・印刷中止のいずれかを実行することができる。
【0033】
図2の説明に戻る。
【0034】
ステップS204:「印刷開始ページ」=1(初期値)に設定する。
【0035】
ステップS205:印刷メニュー画面300に対する操作を監視し、その選択操作に基づいて、以下の処理に分岐する。
【0036】
「ページ指定」である場合 → ステップS206
「プレビュー」である場合 → ステップS207
「印刷実行」である場合 → ステップS209
「印刷中止」である場合 → ステップS210
ステップS206:表示部106に、図3(b)に示す印刷開始ページ指定画面310を表示する。
【0037】
ここで、印刷開始ページ指定画面310について説明する。
【0038】
印刷開始ページ指定画面310において、311は印刷開始ページを指定するための指定フィールドである。この指定フィールド311で指定する印刷開始ページは、+ボタン312と−ボタン313の操作に応じて変更することができる。+ボタン312を操作すると、その操作毎に指定フィールド311に表示されている印刷開始ページを1づつ繰り上げられる。一方、−ボタン313を操作すると、その操作毎に指定フィールド311に表示されている印刷開始ページを1づつ繰り下げられる。
【0039】
314は確定ボタンであり、指定フィールド311に表示されている印刷開始ページを確定するためのボタンである。そして、この確定ボタン314が操作されると、ステップS205へ戻る。
【0040】
ステップS207:表示部106に、図3(c)に示す印刷開始ページのプレビュー画面320を表示し、そのプレビュー画面320に係るプレビュー処理を行う。尚、プレビュー処理の詳細については後述する。
【0041】
ここで、プレビュー画面320について説明する。
【0042】
プレビュー画面320において、321は現在設定されている印刷開始ページの表示フィールドである。322は印刷開始ページのプレビュー画像を表示する表示フィールドである。323はページ指定ボタンであり、現在の印刷開始ページを変更する場合に操作するボタンである。このページ指定ボタン323が操作されると、印刷開始ページ指定画面310が表示され、ユーザは操作部107を介して印刷開始ページを変更することができる。
【0043】
324は印刷実行ボタンであり、現在設定されている印刷開始ページから最終ページまでの印刷の実行を指示するためのボタンである。325は印刷中止ボタンであり、印刷処理の中止を指示するためのボタンである。
【0044】
このようなプレビュー画面320を表示部106に表示することで、ユーザは、操作部107を介して、印刷対象のテキストデータの印刷開始ページ指定・印刷実行・印刷中止のいずれかを実行することができる。
【0045】
図2の説明に戻る。
【0046】
ステップS208:プレビュー画面320に対する操作を監視し、その選択操作に基づいて、以下の処理に分岐する。
【0047】
「ページ指定」である場合 → ステップS205
「印刷実行」である場合 → ステップS209
「印刷中止」である場合 → ステップS210
ステップS209:現在設定されている印刷開始ページから最終ページまでの印刷処理を実行する。尚、印刷処理の詳細については後述する。その後、処理を終了する。
【0048】
ステップS210:印刷対象のテキストデータの印刷を中止し、処理前の状態に復帰する。
【0049】
次に、ステップS202のページ解析処理の詳細について、図4を用いて説明する。
【0050】
図4は本発明の実施形態1のページ解析処理の詳細を示すフローチャートである。
【0051】
尚、図4では、処理対象のテキストデータに対し、印刷時の1行あたりの半角文字数をx、1ページあたりの行数をyとする。
【0052】
このxとyは、印刷設定情報(印刷用紙のサイズや印刷用紙で印刷する印刷領域のサイズ)によって予め任意に操作部107を介して変更することができる。この印刷設定情報の変更は、例えば、複数種類の印刷用紙の各サイズとxとyを対応させた印刷管理テーブルをROM103に記憶しておき、ユーザによって印刷用紙のサイズが選択された場合に印刷管理テーブルを参照して、対応するxとyを取得し、それに基づいてページ解析処理を実行しても良い。あるいは、受信するテキストデータとともにその印刷設定情報を受信している場合には、その印刷設定情報に基づいてページ解析処理を実行しても良い。
【0053】
また、テキストデータは、RAM104内において、char*型のバッファtextに格納されているものとする。
【0054】
図4のフローチャートで使用する各種パラメータの意味はそれぞれ、
cnt:テキストデータ中の注目バイトのtext先頭からのオフセット値
text[cnt]:注目バイト
line:注目バイトがそのページの何ライン目かを示す変数
page:注目バイトが何ページ目にあるかを示す変数
i:注目バイトがそのラインの何バイト目かを示す変数
cr_flag:注目バイトの位置で改行するかどうかを示すフラグ(1=改行)
を示すものである。
【0055】
また、p++はpの値を1増やす(インクリメント)処理、p+=nはpの値をn増やす(インクリメント)処理、p-=nはpの値をn減らす(デクリメント)処理を示している。
【0056】
ステップS401:cnt=0; line=0; page=1; i=0; cr_flag=0; pagetop[1]=0;
(初期値)に設定する。
【0057】
ステップS402:text[cnt]=データ末尾であるか否かを判定する。データ末尾である場合(ステップS402でYES)、処理を終了する。一方、データ末尾でない場合(ステップS402でNO)、ステップS403に進む。
【0058】
ステップS403:text[cnt]の内容を判定する。判定の結果、
半角文字である場合 : ステップS404
全角文字第1バイトである場合 : ステップS408
全角文字第2バイトである場合 : ステップS410
へ進む。
【0059】
ステップS404:text[cnt]=0x0d(CR)であるか否かを判定する。text[cnt]=0x0d(CR)である場合(ステップS404でYES)、ステップS405へ進む。一方、text[cnt]=0x0d(CR)でない場合(ステップS404でNO)、ステップS407へ進む。
【0060】
ステップS405:text[cnt+1]=0x0a(LF)であるか否かを判定する。text[cnt+1]=0x0aである場合(ステップS405でYES)、ステップS406へ進む。一方、text[cnt+1]=0x0aでない場合(ステップS405でNO)、ステップS407へ進む。
【0061】
ステップS406:cr_flag=1(改行フラグon); cnt+=2(注目バイトを2バイト先へ移す)に設定する。その後、ステップS410へ進む。
【0062】
ステップS407:cr_flag=1(改行フラグon); cnt++(注目バイトを1バイト先へ移す)に設定する。その後、ステップS410へ進む。
【0063】
ステップS408:i=x-1であるか否かを判定する。i=x-1である場合(ステップS408でYES)、ステップS409へ進む。一方、i=x-1でない場合(ステップS408でNO)、ステップS410へ進む。
【0064】
ステップS409:cnt-=1(注目バイトを1バイト戻す)に設定する。その後、ステップS410へ進む。
【0065】
ステップS410:cr_flag=1(改行フラグon)であるか否かを判定する。cr_flag=1である場合(ステップS410でYES)、ステップS411へ進む。一方、cr_flag=1でない場合(ステップS410でNO)、ステップS412へ進む。
【0066】
ステップS411:cr_flag=0(改行フラグoff)に設定する。その後、ステップS414へ進む。
【0067】
ステップS412:i++; cnt++(注目バイトを1バイト先へ移す)に設定する。その後、ステップS413へ進む。
【0068】
ステップS413:i=x(=行末)であるか否かを判定する。i=xである場合(ステップS413でYES)、ステップS417へ進み、i=0に設定する。一方、i=xでない場合(ステップS413でNO)、ステップS414へ進む。
【0069】
ステップS414:line++(行数を1インクリメント)に設定する。
【0070】
ステップS415:line=y(ページ末尾)であるか否かを判定する。line=yである場合(ステップS415でYES)、ステップS416へ進む。一方、line=yでない場合(ステップS415でNO)、ステップS402へ進む。
【0071】
ステップS416:pagetop[page+1]=cnt; page++(ページカウント1インクリメント); line=0に設定する。その後、ステップS402へ戻る。
【0072】
以上の処理を繰り返し、処理が終了すると、変数pageに総ページ数、pagetop[j]に第jページの先頭バイト位置(textバッファ先頭からの相対位置)がセットされる。
【0073】
次に、ステップS403の処理の詳細について、図5を用いて説明する。
【0074】
図5は本発明の実施形態1のステップS403の処理の詳細を示すフローチャートである。
【0075】
尚、図5のフローチャートで使用する各種パラメータの意味はそれぞれ、
prev:図4の処理の開始時に、0にセットされるフラグ
c:テキストデータ中の注目バイトを指すchar型変数
を示すものである。
【0076】
ステップS501:c=text[cnt]に設定する。
【0077】
ステップS502:prev=1(=前のバイトが全角1バイト目)であるか否かを判定する。prev=1である場合(ステップS502でYES)、ステップS503へ進む。一方、prev=1でない場合(ステップS502でNO)、ステップS504へ進む。
【0078】
ステップS503:cは全角2バイト目であると判定し、prev=0に設定して処理を終了する。
【0079】
ステップS504:cが0x81〜0x9fの間または0xe0〜0xefの間または0xf7〜0xf9の間であるか否を判定する。判定条件を満足する場合(ステップS504でYES)、ステップS505へ進む。判定条件を満足しない場合(ステップS504でNO)、ステップS506へ進む。
【0080】
ステップS505:cは全角1バイト目であると判定し、prev=1に設定して処理を終了する。
【0081】
ステップS506:cは半角であると判定し、prev=0に設定して処理を終了する。
【0082】
以上の処理により、処理対象のテキストデータ中を印刷する場合の総ページ数と、各ページの開始バイトのアドレスを認識することができる。
【0083】
次に、ステップS207のプレビュー処理の詳細について説明する。
【0084】
ユーザが第nページのプレビューを行うことを指示した場合、第nページのデータは図4の処理でRAM104内のpagetop[n]に格納されているアドレスから始まることが判っているので、CPU102はテキストデータのそのアドレスからアドレスpagetop[n+1]-1あるいはtextバッファ末尾まで1文字ずつRAM104にフォントを展開し、それを表示部106に表示する。
【0085】
次に、ステップS209の印刷処理の詳細について説明する。
【0086】
ユーザが第nページからの印刷を指示した場合、まず、CPU102はプリンタ105を用いて用紙の冒頭にページ番号を印刷し、そのあとはプレビューと同様に、pagetop[n]に格納されているアドレスからtextバッファ末尾まで1文字ずつRAM104内の印刷用バッファにフォントを展開し、そのデータをプリンタ105に送って印刷すればよい。
【0087】
プレビュー及び印刷処理時に、第nページの処理を、受信テキストデータ中のpagetop[n]に格納された位置から行うことで、テキストデータの最初から1ページずつプレビューまたは印刷の処理を行うよりも高速に処理を行うことができる。
【0088】
以上説明したように、実施形態1によれば、印刷対象のテキストデータの受信時、CPU102は、そのテキストデータのフォント展開を行う前に、図2の解析処理を行うことにより、テキストデータを印刷する場合の各ページの開始位置と総ページ数をあらかじめ取得する。これにより、テキストデータの印刷時の総ページ数やプレビュー画像の提示、印刷開始ページの指定等の各種操作をユーザに提供することができる。加えて、印刷開始ページを指定可能とすることで、所望のページ位置からの印刷を行うことができる。
【0089】
また、第nページをプレビュー画像を表示している状態で印刷実行が指示されると、その第nページから最終ページまでの印刷を実行する。これにより、記録剤(インク、トナー、インクリボン等)切れ等で印刷が一旦中断され、再度、同じデータを再印刷する場合でも、未印刷ページをプレビュー画像を表示して内容を確認し、その確認に基づいて、未印刷ページの印刷を迅速に実行することができ、印刷用紙や記録剤の無駄をなくしつつ、迅速な印刷を実行することができる。
【0090】
更に、印刷時に各ページにページ番号を印刷することで、何ページ目で記録剤切れが発生したかを容易にユーザに通知することができる。
【0091】
<実施形態2>
実施形態1においては、受信データはテキストデータを例に挙げて説明したが、これに限定されるものではなく、本発明のファクシミリ装置が受信するデータには、テキストデータ以外にも画像データが当然考えられるし、場合によっては、複数の画像データとテキストデータが混在して、1つのファイルにまとめられているようなデータ(以下、混成データ)も想定される。
【0092】
そこで、実施形態2では、受信データが混成データある場合の処理について説明する。
【0093】
まず、混成データのデータ構造について、図6を用いて説明する。
【0094】
図6は本発明の実施形態2のデータ構造例を示す図である。
【0095】
混成データは、例えば、図6(a)に示すように、一対のヘッダ部とデータ部からなるデータブロックが1つまたは複数から構成される。
【0096】
図6(a)では、画像データ・テキストデータ・画像データの3つのデータブロック(ブロック1〜3)から構成されている例を示している。
【0097】
各データブロック中のデータ部は、印刷対象となるjpegやgif等のファイル形式からなる画像データかまたはテキストデータからなる。ヘッダ部は、図6(b)に示すように、ブロックサイズ601、ヘッダサイズ602、データ形式ID603、副次情報604から構成される。
【0098】
ブロックサイズ601は、そのデータブロックについてのヘッダ部のサイズ(バイト数)と、データ部のサイズの合計を示す固定長のデータである。
【0099】
ヘッダサイズ602は、ヘッダ部のサイズを示す固定長のデータである。データ形式ID603は、データ部がどのような情報であるか、即ち、gifやjpeg等のファイル形式の画像データか、テキストデータかを区別するための固定長のデータである。実施形態2では、データ形式IDは、データ部が画像データのとき「0」、テキストデータのとき「1」であるものとする。
【0100】
副次情報604は、例えば、データ部が画像データである場合の印刷解像度等の印刷に必要な各種印刷設定情報を含む可変長のデータである。
【0101】
ファクシミリ装置が、図6(a)のような混成データを受信した場合に、CPU102は、基本的には、図2のフローチャートに従って動作し、この混成データのプレビュー処理や印刷処理を行う。
【0102】
尚、実施形態2と実施形態1の処理の主な違いは、ページ解析処理であるので、ここでは、実施形態2のページ解析処理の詳細について、図7を用いて説明する。また、実施形態2では、混成データに含まれる画像データは、1枚につき出力用紙1枚に印刷されるものとする。
【0103】
以下、実施形態2のページ解析処理の詳細について、図7を用いて説明する。
【0104】
図7は本発明の実施形態2のページ解析処理の詳細を示すフローチャートである。
【0105】
以下のアルゴリズムで使用する各種パラメータは、
page:現在処理中のページ
offset:現在処理中のデータブロックの開始アドレス
i:現在処理中のデータブロックが第何番目のものであるかを示す変数
x:現在処理中のデータが第何ページ目に相当するかを示す変数
を示すものである。
【0106】
また、x++はxの値を1増やす処理、x+=nはxの値をn増やす処理、x-=nはxの値をn減らす処理を示している。
【0107】
ステップS701:page=1、i=1、x=1、offset=0(初期値)に設定する。
【0108】
ステップS702:第iブロックのヘッダ(混成データのoffset番地以降)が存在するか否かを判定する。ヘッダが存在しない場合(ステップS702でNO)、page-=1に設定して処理を終了する。一方、ヘッダが存在する場合(ステップS702でYES)、ステップS703に進む。
【0109】
ステップS703:第iブロックのヘッダを解析して、第iブロックのブロックサイズblocksize[i]、第iブロックのヘッダサイズheadersize[i]、データ形式IDid[i]を得る。
【0110】
ステップS704:id[i]=0(画像データ)であるか否かを判定する。id[i]=0である場合(ステップS704でYES)、ステップS705へ進む。一方、id[i]=1(テキストデータ)である場合(ステップS704でNO)、ステップS706へ進む。
【0111】
ステップS705:pagetop[page]=offset+headersize[i]、pageid[page]=0、page+=1に設定する。その後、ステップS708へ進む。
【0112】
ステップS706:混成データのpagetop[i]番地以降にあるそのブロックのテキストデータに対して、図4のフローチャートを同じ処理を実行して、このテキストデータの印刷時のページ数nと、各ページの開始バイト位置pagetop'[j](j=1〜n)を得る。
【0113】
ステップS707:pagetop[k]=offset+headersize[i]+pagetop'[k-page+1]、pageid[k]=id[i](k=page〜page+n-1)、page+=nに設定する。その後、ステップS708へ進む。
【0114】
ステップS708:offset+=blocksize[i]、i+=1に設定する。その後、ステップS702へ戻る。
【0115】
以上の処理によって、混成データを印刷する場合にも、その総ページ数pageと、各ページが画像であるかテキストであるかを示すデータ形式ID:pageid[j]、各ページを印刷した際の開始バイトのアドレスpagetop[j]を取得することができる。
【0116】
尚、混成データのプレビュー時および印刷時には、jページを指定した際に、該当ページを含むブロックのデータ形式ID:pageid[j]=1(テキストデータ)であれば、実施形態1と同様の処理を行う。一方、データ形式ID:pageid[j]=0(画像データ)である場合は、既知の方法に従って、その画像データをプレビューまたは印刷する。
【0117】
以上説明したように、実施形態2によれば、画像データとテキストデータが混在する混成データに対しても、実施形態1で説明した効果と同等の効果を実現することができる。
【0118】
以上説明したように、実施形態1や2によれば、ファクシミリ装置は、印刷対象のテキストデータまたは混成データを受信した際に、まず、CPU102が処理対象のデータのページ解析処理を実行し、そのデータを印刷する場合の各ページの最初に相当するバイトが、ファイルのどの位置にあるかを取得し、かつ総ページ数を取得する。これにより、以下の効果を得ることができる。
【0119】
(1)ユーザは、データの印刷時の総ページ数を予め知ることができるので、印刷途中での用紙切れの可能性を減らすことができる。
【0120】
(2)ユーザが任意のページを指定してそのページの印刷プレビュー及び印刷処理を行う場合でも、処理対象データ中の「指定ページの最初に相当するバイト」から印刷プレビュー及び印刷処理を行うことができるので、わざわざ処理対象のデータの先頭から印刷プレビューや印刷を行うための処理を行わずとも任意のページから迅速に印刷処理を行うことができる。
【0121】
また、印刷時に、ファクシミリ装置が、各ページにページ番号を印刷することで、印刷途中でインク切れや用紙切れが生じて失敗した場合にも、正常に印刷できた分の出力をユーザが確認すれば、次にどのページから印刷すればよいかが容易に確認することができる。
【0122】
また、任意のページをユーザが指定してプレビューを行っている際に、ユーザが印刷指示を行うと、そのページ以降の印刷を実行するので、ユーザは自分の欲しいページを画面でわかりやすく確認してから迅速に印刷することができる。
【0123】
従って、上記実施形態1、2に係る実施態様を列挙すると、次の通りである。すなわち、ファクシミリ装置として機能する情報通信装置及びその制御方法は次のようになる。
【0124】
<実施態様1> 通信回線を介してデータを取得する情報通信装置であって、
前記通信回線を介してデータを受信する受信手段と、
前記受信手段で受信した受信データを記憶する記憶手段と、
前記受信手段で受信した受信データを印刷する印刷手段と、
前記印刷手段で前記受信データを印刷する場合、印刷設定情報に基づいて、該受信データの総ページ数を解析する解析手段と、
前記解析手段によって解析された総ページ数を含む操作画面を表示部に出力する制御手段と
を備えることを特徴とする情報通信装置。
【0125】
<実施態様2> 前記解析手段によって解析された総ページ数の内、任意のページを指定するページ指定手段と、
前記記憶手段に記憶された受信データの印刷を指示する印刷指示手段とを更に備え、
前記制御手段は、前記印刷指示手段によって印刷が指示された場合、前記ページ指定手段によって指定されたページ以降のデータを前記印刷手段によって印刷するように制御する
ことを特徴とする実施態様1に記載の情報通信装置。
【0126】
<実施態様3> 前記解析手段によって解析された総ページ数の内、任意のページを指定するページ指定手段と、
前記記憶手段に記憶された受信データの印刷を指示する印刷指示手段と、
前記記憶手段に記憶された受信データのプレビューを指示するプレビュー指示手段を更に備え、
前記制御手段は、前記プレビュー指示手段によってプレビューが指示された場合、前記ページ指定手段によって指定されたページを前記表示部に表示するように制御する
ことを特徴とする実施態様1に記載の情報通信装置。
【0127】
<実施態様4> 前記制御手段は、更に、前記印刷指示手段によって印刷が指示された場合、前記ページ指定手段によって指定されたページ以降のデータを前記印刷手段によって印刷するように制御する
ことを特徴とする実施態様3に記載の情報通信装置。
【0128】
<実施態様5> 前記記憶手段に記憶された受信データがテキストデータである場合、前記テキストデータを画像データに変換する画像変換手段を更に備え、
前記制御手段は、前記印刷指示手段によって印刷が指示された場合、前記画像変換手段によって変換された画像データを前記印刷手段によって印刷するように制御する
ことを特徴とする実施態様2または4に記載の情報通信装置。
【0129】
<実施態様6> 前記解析手段は、更に、受信データ中に含まれるヘッダ情報に基づいて、該受信データの総ページ数を計算する
ことを特徴とする実施態様1に記載の情報通信装置。
【0130】
<実施態様7> 通信回線を介してデータを取得する情報通信装置の制御方法であって、
前記通信回線を介してデータを受信する受信工程と、
前記受信工程で受信した受信データを記憶媒体に記憶する記憶工程と、
前記記憶媒体に記憶されている受信データを印刷する場合、印刷設定情報に基づいて、該受信データの総ページ数を解析する解析工程と、
前記解析工程によって解析された総ページ数を含む操作画面を表示部に出力する制御工程と
を備えることを特徴とする情報通信装置の制御方法。
【0131】
【発明の効果】
以上説明したように、本発明によれば、印刷機能を有する情報通信装置で受信するデータを、効率的に印刷することができる技術を提供できる。
【図面の簡単な説明】
【図1】本発明の実施形態1におけるファクシミリ装置の構成を示すブロック図である。
【図2】本発明の実施形態1のファクシミリ装置が実行する処理を示すフローチャートである。
【図3】本発明の実施形態1のファクシミリ装置の操作画面の一例を示す図である。
【図4】本発明の実施形態1のページ解析処理の詳細を示すフローチャートである。
【図5】本発明の実施形態1のステップS403の処理の詳細を示すフローチャートである。
【図6】本発明の実施形態2の受信データの構造例の一例を示す図である。
【図7】本発明の実施形態2のページ解析処理の詳細を示すフローチャートである。
【符号の説明】
101 画像読取装置
102 CPU
103 ROM
104 RAM
105 プリンタ
106 表示部
107 操作部
108 データモデム
109 FAXモデム
110 クロスポイントスイッチ
111 画像処理部
【発明の属する技術分野】
本発明は、通信回線を介してデータを取得する情報通信技術に関するものである。
【0002】
【従来の技術】
データモデムとプリンタ装置とを具備した通信端末装置で、ネットワーク経由で電子メール等のテキストデータを受信して、そのテキストデータを対応するフォントデータ画像に変換して印刷可能な装置が存在している。
【0003】
【発明が解決しようとする課題】
従来の通信端末装置で受信するテキストデータは、電子メール等の大きくても数キロバイト程度の容量のテキストデータであり、そのテキストデータを印刷するとしても、印刷用紙1〜2枚に収まる量であるのが一般的である。
【0004】
しかしながら、数十キロバイトに及ぶテキストデータを受信してそれを印刷する場合は、同様に印刷するにしても印刷用紙が数十枚に及び、印刷中の印刷用紙切れ、インク等の記録剤切れ等の印刷中断が発生する可能性が高くなる。そして、印刷中断が一旦発生して、再度、再印刷を実行する場合には、再度、印刷対象のテキストデータを最初から印刷せねばならず、印刷用紙や記録剤が無駄になってしまう。
【0005】
本発明は上記の課題を解決するためになせたものであり、印刷機能を有する情報通信装置で受信するデータを、効率的に印刷することができる技術を提供することを目的とする。
【0006】
【課題を解決するための手段】
上記の目的を達成するための本発明による情報通信装置は以下の構成を備える。即ち、
通信回線を介してデータを取得する情報通信装置であって、
前記通信回線を介してデータを受信する受信手段と、
前記受信手段で受信した受信データを記憶する記憶手段と、
前記受信手段で受信した受信データを印刷する印刷手段と、
前記印刷手段で前記受信データを印刷する場合、印刷設定情報に基づいて、該受信データの総ページ数を解析する解析手段と、
前記解析手段によって解析された総ページ数を含む操作画面を表示部に表示する制御手段と
を備える。
【0007】
【発明の実施の形態】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
【0008】
本発明は、インターネット接続機能を有する情報通信装置として、例えば、コンテンツデータのダウンロードを効率的に実行することができるファクシミリ装置として実施可能である。
【0009】
尚、以下の説明において、「サーバ」とは、WWWシステムにおいてHTML文書や画像などの情報を蓄積しておき、Webブラウザなどのクライアントソフトウェアからの要求を受けてインターネット等のネットワークを通じて情報送信を行うWebサーバや、ネットワークを通じてユーザからの要求を受けて、データベースシステム等の処理に橋渡しを行う機能を備えたアプリケーションサーバ(または、Webアプリケーションサーバ)を意味するものである。
【0010】
また、「クライアント」とは、ネットワークにおいてサーバの提供する機能やデータを利用するコンピュータ、およびソフトウェアを意味するものである。このクライアントとしては、実施形態では、特に、図1のファクシミリ装置に該当するが、これ以外にも、例えば、ネットワークに接続されたコンピュータ、家庭用のパーソナルコンピュータ、およびコンピュータ上で動作するWebブラウザ、ビューワ等が該当する。
【0011】
また、以下に説明する本発明の実施形態では、インターネットを介してWeb環境下で提供者とユーザとの間で、特に、コンテンツデータのプリントに係る各種処理を実現する例を挙げて説明するが、本発明はこのような構成に限定されるものではない。つまり、サーバが提供するサービスに係る処理を実行するための各種操作画面がクライアントのブラウザ(ビューワ)上で表示可能な形態を提供できるようなコンピュータネットワーク環境であれば、本発明を適用することができる。
【0012】
<実施形態1>
図1は本発明の実施形態1におけるファクシミリ装置の構成を示すブロック図である。
【0013】
尚、本実施形態では、インターネット接続機能を有するファクシミリ装置を例に挙げて説明するが、例えば、同機能を有する携帯電話やPDA等の携帯端末についても本発明を適用することができる。
【0014】
101は、原稿を光学的に読み取って画像データに変換する画像読取部である。102は、ファクシミリ装置全体の制御を行うCPUである。103は、後述するフローチャートの処理を実現するプログラムを含むCPU102の動作プログラムやフォントデータ等の各種データを格納するROMである。104は、CPU102のワークメモリとして機能したり、受信データを一時的に格納するRAMである。尚、RAM104以外に、RAM104と同等の機能を実現できるメモリ、例えば、EEPROM等を用いても良い。
【0015】
105は、画像読取部101で読み取ったり、通信回線経由で受信した画像データを記録するプリンタである。このプリンタの記録方式には、感熱方式、レーザビーム方式、インクジェット方式等が挙げられる。106は、ビットマップデータ等の画像データや、操作画面等を表示する表示部である。この表示部106は、例えば、LCDで構成される。更に、この表示部106では、通信回線を介してアクセス可能なWebサーバで管理されているWebページを閲覧するための閲覧機能(ブラウザ)を有している。
【0016】
107は、ユーザがRAM104内の受信データ種別を選択するためのキーや、RAM内の受信データを消去するためのキー等のファクシミリ装置の各種操作を行うためのキー群やボタン群が配置された操作部である。また、実施形態1では、この操作部107より、通信回線を介してアクセス可能なWebサーバで管理されているWebページにアクセスするためのページ情報(URLやIPアドレス、コンテンツデータ等)を入力することが可能である。
【0017】
尚、このページ情報は、HTMLやXML等のマークアップ記述言語で記述されたデータ群である。
【0018】
また、表示部106上では、ファクシミリ装置の各種操作を行うための表示画面が表示され、その表示画面に構成される各種データ入力領域やメニュー、ボタンに対する入力操作や選択操作は、表示画面内に表示されるカーソルやポインタを操作部107を介して操作することで実現することができる。
【0019】
加えて、表示部106の表面にタッチパネルを配置して、操作部107と同等の機能を実現可能な各種操作画面を表示部106に表示させることで、ファクシミリ装置に係る各種操作をタッチ操作で実現するようにしても良い。
【0020】
また、RAM104内の一部には表示用画像データの格納場所としてVRAMが設定され、CPU102内のディスプレイコントローラが、このVRAMから画像データを表示部106に転送することで、表示部106に画像が表示される。
【0021】
108は、通信回線(例えば、公衆電話回線(PSTNやISDN))経由でデータ(例えば、テキストデータ、バイナリデータ等)の送受信を行うためのデータモデムである。109は、通信回線経由でファクシミリ送受信を行うためのG3規格やG4規格のFAXモデムである。110は、公衆電話回線108から受信するデータをデータモデム108またはFAXモデム109に振り分けるためのクロスポイントスイッチである。
【0022】
111は画像処理部であり、FAX画像データの符号化/復号化処理、音声データの符号化/復号化処理、コンテンツデータの圧縮/復元処理等のファクシミリ装置の処理対象となるデータの各種画像処理を実行する。
【0023】
次に、実施形態1のファクシミリ装置が、テキストデータを受信し、それを印刷するまでの処理について、図2を用いて説明する。
【0024】
図2は本発明の実施形態1のファクシミリ装置が実行する処理を示すフローチャートである。
【0025】
尚、実施形態1では、テキストデータは、SHIFT−JIS漢字コードで記述された漢字かな混じり文であるものとする。また、ファクシミリ装置は、テキストデータを等幅フォントで印刷するものとする。
【0026】
ステップS201:データモデム108を用いて、公衆回線からテキストデータを受信し、RAM104に格納する。
【0027】
ステップS202:受信テキストデータを解析するページ解析処理として、このテキストデータを印刷用紙に印刷する場合に、その印刷用紙の各ページの最初のバイトの位置と、総ページ数を記録する。尚、このページ解析処理のアルゴリズムの詳細については後述する。
【0028】
ステップS203:表示部106に、図3(a)に示す印刷メニュー画面300を表示する。
【0029】
ここで、印刷メニュー画面300について説明する。
【0030】
印刷メニュー画面300において、301は、ステップS202で解析されたテキストデータ中の総ページ数と、現在の印刷開始ページを表示する表示フィールドである。
【0031】
302〜305は印刷に係る各種操作ボタンである。302はページ指定ボタンであり、印刷開始ページを指定するためのボタンである。303はプレビューボタンであり、印刷開始ページのプレビューを表示するためのボタンである。304は印刷実行ボタンであり、印刷の実行を指示するためのボタンである。305は印刷中止ボタンであり、印刷処理の中止を指示するためのボタンである。
【0032】
このような印刷メニュー画面300を表示部106に表示することで、ユーザは、操作部107を介して、印刷対象のテキストデータの印刷開始ページ指定・プレビュー・印刷実行・印刷中止のいずれかを実行することができる。
【0033】
図2の説明に戻る。
【0034】
ステップS204:「印刷開始ページ」=1(初期値)に設定する。
【0035】
ステップS205:印刷メニュー画面300に対する操作を監視し、その選択操作に基づいて、以下の処理に分岐する。
【0036】
「ページ指定」である場合 → ステップS206
「プレビュー」である場合 → ステップS207
「印刷実行」である場合 → ステップS209
「印刷中止」である場合 → ステップS210
ステップS206:表示部106に、図3(b)に示す印刷開始ページ指定画面310を表示する。
【0037】
ここで、印刷開始ページ指定画面310について説明する。
【0038】
印刷開始ページ指定画面310において、311は印刷開始ページを指定するための指定フィールドである。この指定フィールド311で指定する印刷開始ページは、+ボタン312と−ボタン313の操作に応じて変更することができる。+ボタン312を操作すると、その操作毎に指定フィールド311に表示されている印刷開始ページを1づつ繰り上げられる。一方、−ボタン313を操作すると、その操作毎に指定フィールド311に表示されている印刷開始ページを1づつ繰り下げられる。
【0039】
314は確定ボタンであり、指定フィールド311に表示されている印刷開始ページを確定するためのボタンである。そして、この確定ボタン314が操作されると、ステップS205へ戻る。
【0040】
ステップS207:表示部106に、図3(c)に示す印刷開始ページのプレビュー画面320を表示し、そのプレビュー画面320に係るプレビュー処理を行う。尚、プレビュー処理の詳細については後述する。
【0041】
ここで、プレビュー画面320について説明する。
【0042】
プレビュー画面320において、321は現在設定されている印刷開始ページの表示フィールドである。322は印刷開始ページのプレビュー画像を表示する表示フィールドである。323はページ指定ボタンであり、現在の印刷開始ページを変更する場合に操作するボタンである。このページ指定ボタン323が操作されると、印刷開始ページ指定画面310が表示され、ユーザは操作部107を介して印刷開始ページを変更することができる。
【0043】
324は印刷実行ボタンであり、現在設定されている印刷開始ページから最終ページまでの印刷の実行を指示するためのボタンである。325は印刷中止ボタンであり、印刷処理の中止を指示するためのボタンである。
【0044】
このようなプレビュー画面320を表示部106に表示することで、ユーザは、操作部107を介して、印刷対象のテキストデータの印刷開始ページ指定・印刷実行・印刷中止のいずれかを実行することができる。
【0045】
図2の説明に戻る。
【0046】
ステップS208:プレビュー画面320に対する操作を監視し、その選択操作に基づいて、以下の処理に分岐する。
【0047】
「ページ指定」である場合 → ステップS205
「印刷実行」である場合 → ステップS209
「印刷中止」である場合 → ステップS210
ステップS209:現在設定されている印刷開始ページから最終ページまでの印刷処理を実行する。尚、印刷処理の詳細については後述する。その後、処理を終了する。
【0048】
ステップS210:印刷対象のテキストデータの印刷を中止し、処理前の状態に復帰する。
【0049】
次に、ステップS202のページ解析処理の詳細について、図4を用いて説明する。
【0050】
図4は本発明の実施形態1のページ解析処理の詳細を示すフローチャートである。
【0051】
尚、図4では、処理対象のテキストデータに対し、印刷時の1行あたりの半角文字数をx、1ページあたりの行数をyとする。
【0052】
このxとyは、印刷設定情報(印刷用紙のサイズや印刷用紙で印刷する印刷領域のサイズ)によって予め任意に操作部107を介して変更することができる。この印刷設定情報の変更は、例えば、複数種類の印刷用紙の各サイズとxとyを対応させた印刷管理テーブルをROM103に記憶しておき、ユーザによって印刷用紙のサイズが選択された場合に印刷管理テーブルを参照して、対応するxとyを取得し、それに基づいてページ解析処理を実行しても良い。あるいは、受信するテキストデータとともにその印刷設定情報を受信している場合には、その印刷設定情報に基づいてページ解析処理を実行しても良い。
【0053】
また、テキストデータは、RAM104内において、char*型のバッファtextに格納されているものとする。
【0054】
図4のフローチャートで使用する各種パラメータの意味はそれぞれ、
cnt:テキストデータ中の注目バイトのtext先頭からのオフセット値
text[cnt]:注目バイト
line:注目バイトがそのページの何ライン目かを示す変数
page:注目バイトが何ページ目にあるかを示す変数
i:注目バイトがそのラインの何バイト目かを示す変数
cr_flag:注目バイトの位置で改行するかどうかを示すフラグ(1=改行)
を示すものである。
【0055】
また、p++はpの値を1増やす(インクリメント)処理、p+=nはpの値をn増やす(インクリメント)処理、p-=nはpの値をn減らす(デクリメント)処理を示している。
【0056】
ステップS401:cnt=0; line=0; page=1; i=0; cr_flag=0; pagetop[1]=0;
(初期値)に設定する。
【0057】
ステップS402:text[cnt]=データ末尾であるか否かを判定する。データ末尾である場合(ステップS402でYES)、処理を終了する。一方、データ末尾でない場合(ステップS402でNO)、ステップS403に進む。
【0058】
ステップS403:text[cnt]の内容を判定する。判定の結果、
半角文字である場合 : ステップS404
全角文字第1バイトである場合 : ステップS408
全角文字第2バイトである場合 : ステップS410
へ進む。
【0059】
ステップS404:text[cnt]=0x0d(CR)であるか否かを判定する。text[cnt]=0x0d(CR)である場合(ステップS404でYES)、ステップS405へ進む。一方、text[cnt]=0x0d(CR)でない場合(ステップS404でNO)、ステップS407へ進む。
【0060】
ステップS405:text[cnt+1]=0x0a(LF)であるか否かを判定する。text[cnt+1]=0x0aである場合(ステップS405でYES)、ステップS406へ進む。一方、text[cnt+1]=0x0aでない場合(ステップS405でNO)、ステップS407へ進む。
【0061】
ステップS406:cr_flag=1(改行フラグon); cnt+=2(注目バイトを2バイト先へ移す)に設定する。その後、ステップS410へ進む。
【0062】
ステップS407:cr_flag=1(改行フラグon); cnt++(注目バイトを1バイト先へ移す)に設定する。その後、ステップS410へ進む。
【0063】
ステップS408:i=x-1であるか否かを判定する。i=x-1である場合(ステップS408でYES)、ステップS409へ進む。一方、i=x-1でない場合(ステップS408でNO)、ステップS410へ進む。
【0064】
ステップS409:cnt-=1(注目バイトを1バイト戻す)に設定する。その後、ステップS410へ進む。
【0065】
ステップS410:cr_flag=1(改行フラグon)であるか否かを判定する。cr_flag=1である場合(ステップS410でYES)、ステップS411へ進む。一方、cr_flag=1でない場合(ステップS410でNO)、ステップS412へ進む。
【0066】
ステップS411:cr_flag=0(改行フラグoff)に設定する。その後、ステップS414へ進む。
【0067】
ステップS412:i++; cnt++(注目バイトを1バイト先へ移す)に設定する。その後、ステップS413へ進む。
【0068】
ステップS413:i=x(=行末)であるか否かを判定する。i=xである場合(ステップS413でYES)、ステップS417へ進み、i=0に設定する。一方、i=xでない場合(ステップS413でNO)、ステップS414へ進む。
【0069】
ステップS414:line++(行数を1インクリメント)に設定する。
【0070】
ステップS415:line=y(ページ末尾)であるか否かを判定する。line=yである場合(ステップS415でYES)、ステップS416へ進む。一方、line=yでない場合(ステップS415でNO)、ステップS402へ進む。
【0071】
ステップS416:pagetop[page+1]=cnt; page++(ページカウント1インクリメント); line=0に設定する。その後、ステップS402へ戻る。
【0072】
以上の処理を繰り返し、処理が終了すると、変数pageに総ページ数、pagetop[j]に第jページの先頭バイト位置(textバッファ先頭からの相対位置)がセットされる。
【0073】
次に、ステップS403の処理の詳細について、図5を用いて説明する。
【0074】
図5は本発明の実施形態1のステップS403の処理の詳細を示すフローチャートである。
【0075】
尚、図5のフローチャートで使用する各種パラメータの意味はそれぞれ、
prev:図4の処理の開始時に、0にセットされるフラグ
c:テキストデータ中の注目バイトを指すchar型変数
を示すものである。
【0076】
ステップS501:c=text[cnt]に設定する。
【0077】
ステップS502:prev=1(=前のバイトが全角1バイト目)であるか否かを判定する。prev=1である場合(ステップS502でYES)、ステップS503へ進む。一方、prev=1でない場合(ステップS502でNO)、ステップS504へ進む。
【0078】
ステップS503:cは全角2バイト目であると判定し、prev=0に設定して処理を終了する。
【0079】
ステップS504:cが0x81〜0x9fの間または0xe0〜0xefの間または0xf7〜0xf9の間であるか否を判定する。判定条件を満足する場合(ステップS504でYES)、ステップS505へ進む。判定条件を満足しない場合(ステップS504でNO)、ステップS506へ進む。
【0080】
ステップS505:cは全角1バイト目であると判定し、prev=1に設定して処理を終了する。
【0081】
ステップS506:cは半角であると判定し、prev=0に設定して処理を終了する。
【0082】
以上の処理により、処理対象のテキストデータ中を印刷する場合の総ページ数と、各ページの開始バイトのアドレスを認識することができる。
【0083】
次に、ステップS207のプレビュー処理の詳細について説明する。
【0084】
ユーザが第nページのプレビューを行うことを指示した場合、第nページのデータは図4の処理でRAM104内のpagetop[n]に格納されているアドレスから始まることが判っているので、CPU102はテキストデータのそのアドレスからアドレスpagetop[n+1]-1あるいはtextバッファ末尾まで1文字ずつRAM104にフォントを展開し、それを表示部106に表示する。
【0085】
次に、ステップS209の印刷処理の詳細について説明する。
【0086】
ユーザが第nページからの印刷を指示した場合、まず、CPU102はプリンタ105を用いて用紙の冒頭にページ番号を印刷し、そのあとはプレビューと同様に、pagetop[n]に格納されているアドレスからtextバッファ末尾まで1文字ずつRAM104内の印刷用バッファにフォントを展開し、そのデータをプリンタ105に送って印刷すればよい。
【0087】
プレビュー及び印刷処理時に、第nページの処理を、受信テキストデータ中のpagetop[n]に格納された位置から行うことで、テキストデータの最初から1ページずつプレビューまたは印刷の処理を行うよりも高速に処理を行うことができる。
【0088】
以上説明したように、実施形態1によれば、印刷対象のテキストデータの受信時、CPU102は、そのテキストデータのフォント展開を行う前に、図2の解析処理を行うことにより、テキストデータを印刷する場合の各ページの開始位置と総ページ数をあらかじめ取得する。これにより、テキストデータの印刷時の総ページ数やプレビュー画像の提示、印刷開始ページの指定等の各種操作をユーザに提供することができる。加えて、印刷開始ページを指定可能とすることで、所望のページ位置からの印刷を行うことができる。
【0089】
また、第nページをプレビュー画像を表示している状態で印刷実行が指示されると、その第nページから最終ページまでの印刷を実行する。これにより、記録剤(インク、トナー、インクリボン等)切れ等で印刷が一旦中断され、再度、同じデータを再印刷する場合でも、未印刷ページをプレビュー画像を表示して内容を確認し、その確認に基づいて、未印刷ページの印刷を迅速に実行することができ、印刷用紙や記録剤の無駄をなくしつつ、迅速な印刷を実行することができる。
【0090】
更に、印刷時に各ページにページ番号を印刷することで、何ページ目で記録剤切れが発生したかを容易にユーザに通知することができる。
【0091】
<実施形態2>
実施形態1においては、受信データはテキストデータを例に挙げて説明したが、これに限定されるものではなく、本発明のファクシミリ装置が受信するデータには、テキストデータ以外にも画像データが当然考えられるし、場合によっては、複数の画像データとテキストデータが混在して、1つのファイルにまとめられているようなデータ(以下、混成データ)も想定される。
【0092】
そこで、実施形態2では、受信データが混成データある場合の処理について説明する。
【0093】
まず、混成データのデータ構造について、図6を用いて説明する。
【0094】
図6は本発明の実施形態2のデータ構造例を示す図である。
【0095】
混成データは、例えば、図6(a)に示すように、一対のヘッダ部とデータ部からなるデータブロックが1つまたは複数から構成される。
【0096】
図6(a)では、画像データ・テキストデータ・画像データの3つのデータブロック(ブロック1〜3)から構成されている例を示している。
【0097】
各データブロック中のデータ部は、印刷対象となるjpegやgif等のファイル形式からなる画像データかまたはテキストデータからなる。ヘッダ部は、図6(b)に示すように、ブロックサイズ601、ヘッダサイズ602、データ形式ID603、副次情報604から構成される。
【0098】
ブロックサイズ601は、そのデータブロックについてのヘッダ部のサイズ(バイト数)と、データ部のサイズの合計を示す固定長のデータである。
【0099】
ヘッダサイズ602は、ヘッダ部のサイズを示す固定長のデータである。データ形式ID603は、データ部がどのような情報であるか、即ち、gifやjpeg等のファイル形式の画像データか、テキストデータかを区別するための固定長のデータである。実施形態2では、データ形式IDは、データ部が画像データのとき「0」、テキストデータのとき「1」であるものとする。
【0100】
副次情報604は、例えば、データ部が画像データである場合の印刷解像度等の印刷に必要な各種印刷設定情報を含む可変長のデータである。
【0101】
ファクシミリ装置が、図6(a)のような混成データを受信した場合に、CPU102は、基本的には、図2のフローチャートに従って動作し、この混成データのプレビュー処理や印刷処理を行う。
【0102】
尚、実施形態2と実施形態1の処理の主な違いは、ページ解析処理であるので、ここでは、実施形態2のページ解析処理の詳細について、図7を用いて説明する。また、実施形態2では、混成データに含まれる画像データは、1枚につき出力用紙1枚に印刷されるものとする。
【0103】
以下、実施形態2のページ解析処理の詳細について、図7を用いて説明する。
【0104】
図7は本発明の実施形態2のページ解析処理の詳細を示すフローチャートである。
【0105】
以下のアルゴリズムで使用する各種パラメータは、
page:現在処理中のページ
offset:現在処理中のデータブロックの開始アドレス
i:現在処理中のデータブロックが第何番目のものであるかを示す変数
x:現在処理中のデータが第何ページ目に相当するかを示す変数
を示すものである。
【0106】
また、x++はxの値を1増やす処理、x+=nはxの値をn増やす処理、x-=nはxの値をn減らす処理を示している。
【0107】
ステップS701:page=1、i=1、x=1、offset=0(初期値)に設定する。
【0108】
ステップS702:第iブロックのヘッダ(混成データのoffset番地以降)が存在するか否かを判定する。ヘッダが存在しない場合(ステップS702でNO)、page-=1に設定して処理を終了する。一方、ヘッダが存在する場合(ステップS702でYES)、ステップS703に進む。
【0109】
ステップS703:第iブロックのヘッダを解析して、第iブロックのブロックサイズblocksize[i]、第iブロックのヘッダサイズheadersize[i]、データ形式IDid[i]を得る。
【0110】
ステップS704:id[i]=0(画像データ)であるか否かを判定する。id[i]=0である場合(ステップS704でYES)、ステップS705へ進む。一方、id[i]=1(テキストデータ)である場合(ステップS704でNO)、ステップS706へ進む。
【0111】
ステップS705:pagetop[page]=offset+headersize[i]、pageid[page]=0、page+=1に設定する。その後、ステップS708へ進む。
【0112】
ステップS706:混成データのpagetop[i]番地以降にあるそのブロックのテキストデータに対して、図4のフローチャートを同じ処理を実行して、このテキストデータの印刷時のページ数nと、各ページの開始バイト位置pagetop'[j](j=1〜n)を得る。
【0113】
ステップS707:pagetop[k]=offset+headersize[i]+pagetop'[k-page+1]、pageid[k]=id[i](k=page〜page+n-1)、page+=nに設定する。その後、ステップS708へ進む。
【0114】
ステップS708:offset+=blocksize[i]、i+=1に設定する。その後、ステップS702へ戻る。
【0115】
以上の処理によって、混成データを印刷する場合にも、その総ページ数pageと、各ページが画像であるかテキストであるかを示すデータ形式ID:pageid[j]、各ページを印刷した際の開始バイトのアドレスpagetop[j]を取得することができる。
【0116】
尚、混成データのプレビュー時および印刷時には、jページを指定した際に、該当ページを含むブロックのデータ形式ID:pageid[j]=1(テキストデータ)であれば、実施形態1と同様の処理を行う。一方、データ形式ID:pageid[j]=0(画像データ)である場合は、既知の方法に従って、その画像データをプレビューまたは印刷する。
【0117】
以上説明したように、実施形態2によれば、画像データとテキストデータが混在する混成データに対しても、実施形態1で説明した効果と同等の効果を実現することができる。
【0118】
以上説明したように、実施形態1や2によれば、ファクシミリ装置は、印刷対象のテキストデータまたは混成データを受信した際に、まず、CPU102が処理対象のデータのページ解析処理を実行し、そのデータを印刷する場合の各ページの最初に相当するバイトが、ファイルのどの位置にあるかを取得し、かつ総ページ数を取得する。これにより、以下の効果を得ることができる。
【0119】
(1)ユーザは、データの印刷時の総ページ数を予め知ることができるので、印刷途中での用紙切れの可能性を減らすことができる。
【0120】
(2)ユーザが任意のページを指定してそのページの印刷プレビュー及び印刷処理を行う場合でも、処理対象データ中の「指定ページの最初に相当するバイト」から印刷プレビュー及び印刷処理を行うことができるので、わざわざ処理対象のデータの先頭から印刷プレビューや印刷を行うための処理を行わずとも任意のページから迅速に印刷処理を行うことができる。
【0121】
また、印刷時に、ファクシミリ装置が、各ページにページ番号を印刷することで、印刷途中でインク切れや用紙切れが生じて失敗した場合にも、正常に印刷できた分の出力をユーザが確認すれば、次にどのページから印刷すればよいかが容易に確認することができる。
【0122】
また、任意のページをユーザが指定してプレビューを行っている際に、ユーザが印刷指示を行うと、そのページ以降の印刷を実行するので、ユーザは自分の欲しいページを画面でわかりやすく確認してから迅速に印刷することができる。
【0123】
従って、上記実施形態1、2に係る実施態様を列挙すると、次の通りである。すなわち、ファクシミリ装置として機能する情報通信装置及びその制御方法は次のようになる。
【0124】
<実施態様1> 通信回線を介してデータを取得する情報通信装置であって、
前記通信回線を介してデータを受信する受信手段と、
前記受信手段で受信した受信データを記憶する記憶手段と、
前記受信手段で受信した受信データを印刷する印刷手段と、
前記印刷手段で前記受信データを印刷する場合、印刷設定情報に基づいて、該受信データの総ページ数を解析する解析手段と、
前記解析手段によって解析された総ページ数を含む操作画面を表示部に出力する制御手段と
を備えることを特徴とする情報通信装置。
【0125】
<実施態様2> 前記解析手段によって解析された総ページ数の内、任意のページを指定するページ指定手段と、
前記記憶手段に記憶された受信データの印刷を指示する印刷指示手段とを更に備え、
前記制御手段は、前記印刷指示手段によって印刷が指示された場合、前記ページ指定手段によって指定されたページ以降のデータを前記印刷手段によって印刷するように制御する
ことを特徴とする実施態様1に記載の情報通信装置。
【0126】
<実施態様3> 前記解析手段によって解析された総ページ数の内、任意のページを指定するページ指定手段と、
前記記憶手段に記憶された受信データの印刷を指示する印刷指示手段と、
前記記憶手段に記憶された受信データのプレビューを指示するプレビュー指示手段を更に備え、
前記制御手段は、前記プレビュー指示手段によってプレビューが指示された場合、前記ページ指定手段によって指定されたページを前記表示部に表示するように制御する
ことを特徴とする実施態様1に記載の情報通信装置。
【0127】
<実施態様4> 前記制御手段は、更に、前記印刷指示手段によって印刷が指示された場合、前記ページ指定手段によって指定されたページ以降のデータを前記印刷手段によって印刷するように制御する
ことを特徴とする実施態様3に記載の情報通信装置。
【0128】
<実施態様5> 前記記憶手段に記憶された受信データがテキストデータである場合、前記テキストデータを画像データに変換する画像変換手段を更に備え、
前記制御手段は、前記印刷指示手段によって印刷が指示された場合、前記画像変換手段によって変換された画像データを前記印刷手段によって印刷するように制御する
ことを特徴とする実施態様2または4に記載の情報通信装置。
【0129】
<実施態様6> 前記解析手段は、更に、受信データ中に含まれるヘッダ情報に基づいて、該受信データの総ページ数を計算する
ことを特徴とする実施態様1に記載の情報通信装置。
【0130】
<実施態様7> 通信回線を介してデータを取得する情報通信装置の制御方法であって、
前記通信回線を介してデータを受信する受信工程と、
前記受信工程で受信した受信データを記憶媒体に記憶する記憶工程と、
前記記憶媒体に記憶されている受信データを印刷する場合、印刷設定情報に基づいて、該受信データの総ページ数を解析する解析工程と、
前記解析工程によって解析された総ページ数を含む操作画面を表示部に出力する制御工程と
を備えることを特徴とする情報通信装置の制御方法。
【0131】
【発明の効果】
以上説明したように、本発明によれば、印刷機能を有する情報通信装置で受信するデータを、効率的に印刷することができる技術を提供できる。
【図面の簡単な説明】
【図1】本発明の実施形態1におけるファクシミリ装置の構成を示すブロック図である。
【図2】本発明の実施形態1のファクシミリ装置が実行する処理を示すフローチャートである。
【図3】本発明の実施形態1のファクシミリ装置の操作画面の一例を示す図である。
【図4】本発明の実施形態1のページ解析処理の詳細を示すフローチャートである。
【図5】本発明の実施形態1のステップS403の処理の詳細を示すフローチャートである。
【図6】本発明の実施形態2の受信データの構造例の一例を示す図である。
【図7】本発明の実施形態2のページ解析処理の詳細を示すフローチャートである。
【符号の説明】
101 画像読取装置
102 CPU
103 ROM
104 RAM
105 プリンタ
106 表示部
107 操作部
108 データモデム
109 FAXモデム
110 クロスポイントスイッチ
111 画像処理部
Claims (1)
- 通信回線を介してデータを取得する情報通信装置であって、
前記通信回線を介してデータを受信する受信手段と、
前記受信手段で受信した受信データを記憶する記憶手段と、
前記受信手段で受信した受信データを印刷する印刷手段と、
前記印刷手段で前記受信データを印刷する場合、印刷設定情報に基づいて、該受信データの総ページ数を解析する解析手段と、
前記解析手段によって解析された総ページ数を含む操作画面を表示部に表示する制御手段と
を備えることを特徴とする情報通信装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002360892A JP2004194078A (ja) | 2002-12-12 | 2002-12-12 | 情報通信装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002360892A JP2004194078A (ja) | 2002-12-12 | 2002-12-12 | 情報通信装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004194078A true JP2004194078A (ja) | 2004-07-08 |
Family
ID=32759830
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002360892A Withdrawn JP2004194078A (ja) | 2002-12-12 | 2002-12-12 | 情報通信装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004194078A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007148620A (ja) * | 2005-11-25 | 2007-06-14 | Noritsu Koki Co Ltd | 写真プリント管理装置 |
JP2012074939A (ja) * | 2010-09-29 | 2012-04-12 | Kyocera Mita Corp | 情報処理装置、画像形成装置及びプログラム |
-
2002
- 2002-12-12 JP JP2002360892A patent/JP2004194078A/ja not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007148620A (ja) * | 2005-11-25 | 2007-06-14 | Noritsu Koki Co Ltd | 写真プリント管理装置 |
JP2012074939A (ja) * | 2010-09-29 | 2012-04-12 | Kyocera Mita Corp | 情報処理装置、画像形成装置及びプログラム |
US8922794B2 (en) | 2010-09-29 | 2014-12-30 | Kyocera Document Solutions, Inc. | Information processing device that displays a preview image, image forming apparatus that displays a preview image, and method of displaying a preview image |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4939046B2 (ja) | 画像処理装置およびその制御方法 | |
US8656277B2 (en) | Image processing apparatus, and method for controlling the same | |
US8634100B2 (en) | Image forming apparatus for detecting index data of document data, and control method and program product for the same | |
US7296059B2 (en) | Device, method, and program for transmitting reduced quality images linked to original quality images | |
JP4141182B2 (ja) | 情報処理装置と情報処理方法並びにコンピュータ・ソフトウエア | |
JP4745866B2 (ja) | デバイス管理システムおよびその制御方法 | |
US20120010871A1 (en) | Information processing apparatus, method of controlling the same, and program | |
JP5045173B2 (ja) | 画像データ変換装置、端末装置、画像データ変換方法、およびコンピュータプログラム | |
US20100123938A1 (en) | Web page display controller, method for displaying web page, and computer-readable storage medium for computer program | |
JPH04265058A (ja) | 電子ファイルシステム | |
US20120307303A1 (en) | Printing apparatus, web server, printing system, and computer readable recording medium stored with program for web server | |
JP3941624B2 (ja) | ファイル保存装置 | |
JP2000036881A (ja) | 画像配信システムおよび画像配信方法 | |
JP4434521B2 (ja) | 印刷装置およびその制御方法及びプログラム | |
JP4101052B2 (ja) | 文書管理装置、文書管理装置の制御方法、及び、コンピュータプログラム | |
US20040036903A1 (en) | Printing apparatus | |
US7508539B2 (en) | Image forming device, layouter, and renderer | |
US7286253B2 (en) | Data processing apparatus capable of viewing and printing a plurality of screens | |
JP2004194078A (ja) | 情報通信装置 | |
JP2004280441A (ja) | 情報端末装置 | |
JP2004362538A (ja) | 文書データ変換装置、携帯電話装置、文書データ変換方法、文書データ変換プログラム、および文書データ変換プログラムを記録したコンピュータ読取可能な記録媒体 | |
JP4665370B2 (ja) | 画像処理装置 | |
JP2002305649A (ja) | 画像形成装置 | |
JP5043993B2 (ja) | 情報処理装置、情報処理装置の制御方法、及びプログラム | |
JP2005044138A (ja) | 印刷プレビューシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060307 |