電子メールの印刷方法および印刷装置
【課題】複雑な操作を要することなく必要な部分のみを選択的に印刷することができる電子メールの印刷方法を提供する。
【解決手段】電子メールのデータを印刷のために取得する工程と、前記データのうち1回以上のメール返信および/または1回以上のメール転送によりメール本文のあとに累積的に付加される1以上の履歴文とメール本文との間および履歴文の相互の間を区切る区切りを、判別する区切り工程と、判別結果に基づいて所定の世代まで遡る履歴文は印刷対象とし、所定の世代より過去の世代の履歴文は印刷の対象から除外する除外工程と、メール本文および印刷対象とされた履歴文を印刷装置で印刷する工程とを備え、コンピュータが各工程を処理することを特徴とする電子メールの印刷方法。
【解決手段】電子メールのデータを印刷のために取得する工程と、前記データのうち1回以上のメール返信および/または1回以上のメール転送によりメール本文のあとに累積的に付加される1以上の履歴文とメール本文との間および履歴文の相互の間を区切る区切りを、判別する区切り工程と、判別結果に基づいて所定の世代まで遡る履歴文は印刷対象とし、所定の世代より過去の世代の履歴文は印刷の対象から除外する除外工程と、メール本文および印刷対象とされた履歴文を印刷装置で印刷する工程とを備え、コンピュータが各工程を処理することを特徴とする電子メールの印刷方法。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、電子メールの印刷方法および印刷装置に関する。より詳細には、予め登録されたキーワードおよび返信および/または転送の回数に基づき、メール印刷の際に無駄な部分の印刷を削除し、用紙及び消費電力の削減をすることができる印刷方法および印刷装置に関する。
【背景技術】
【0002】
電子メールは、業務を遂行する上で、また、コミュニケーションを取る上で欠かせないツールとなっている。電子メールの普及に伴って、電子メールを印刷することも多くなっている。
【0003】
そこで、電子メールの印刷ページ数を減らす手法として、メールのヘッダー/フッターを削除する技術が提案されている(例えば、特許文献1参照)
しかし、多くの電子メールは、返信や転送が何度も繰り返されることが多く、本当に印刷したい部分はメールの内容の一部分となっていることが多い。
【0004】
即ち、電子メールの返信や転送を何度か行った場合、メール本文、即ち、その電子メールの最新の送信が行われる際に送信者が記した通信文に続いて、最新の送信よりも前に返信および/または転送が行われた際にメール本文であった文(履歴文)が累積的に付加されて送受信されることが多い。図9は、従来の電子メールの印刷結果の一例を示す説明図である。図9は、6回メールの送受信が行われた後の印刷例である。ここで、最新の送信が行われた際のメール本文は、「フォワードされたメールへの返信です」という内容である。メール本文は、差出人、送受信日時、宛先および件名の定型の項目からなる区切り(ヘッダー)の後に印刷されている。メール本文に続いて、前述の履歴文が印刷されている。それらの内容は、最近の送受信に近い順、換言すれば若い順にならんでいる。各メールの内容は、各送受信につき「Original Message」、「From」、「Sent」、「To」、「Subject」の項目からなるヘッダーの後に印刷されている。
【特許文献1】特開2005−534105号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
返信および/または転送後のメールに履歴文を付加するか否かは、メーラ(電子メール送受信用のアプリケーション・ソフトウェア)で設定可能なものが多い。即ち、そのメーラの使用者が返信および/または転送後のメールに履歴文を付加するか否かを一括して設定できるものが多い。しかし、一般に、そのメーラから送信されたメールを受信する者は、受信側された電子メールに付加されている履歴文を自動的に削除することはできない。受信者が受信された電子メールを印刷すると、図9に示すごとく、メール本文とともに付加された履歴文も印刷される。ユーザーによっては履歴文が不要な場合があるが、受信者側の意思で履歴文の付加/削除を選択することはできない。また、複数回分の履歴文が付加されている電子メールの場合、最新の履歴文だけが必要な場合もある。それにもかかわらず、各回の履歴文が印刷され、無駄に用紙、トナー、電力が消費されてしまう。
前述の非特許文献1では、送受信先のメールアドレスの削除などの提案がなされている。しかし、履歴文について特段の記載はなく履歴文を含めた印刷がなされてしまう。
【0006】
この発明は、以上のような事情を考慮してなされたものであって、返信や転送が行われて履歴文が付加された電子メールであっても、複雑な操作を要することなくユーザーが必要とする部分を選択的に印刷することができ、用紙、トナー、あるいは電力の無駄な消費を抑制することのできる印刷方法および印刷装置を提供するものである。
【課題を解決するための手段】
【0007】
この発明は、電子メールのデータを印刷のために取得する工程と、前記データのうち1回以上のメール返信および/または1回以上のメール転送によりメール本文のあとに累積的に付加される1以上の履歴文とメール本文との間および履歴文の相互の間を区切る区切りを、判別する区切り工程と、判別結果に基づいて所定の世代まで遡る履歴文は印刷対象とし、所定の世代より過去の世代の履歴文は印刷の対象から除外する除外工程と、メール本文および印刷対象とされた履歴文を印刷装置で印刷する工程とを備え、コンピュータが各工程を処理することを特徴とする電子メールの印刷方法を提供する。
【0008】
また、異なる観点から、この発明は、印刷用に電子メールのデータを取得するデータ取得部と、前記データのうち1回以上のメール返信および/または1回以上のメール転送によりメール本文のあとに累積的に付加される1以上の履歴文とメール本文との間および履歴文の相互の間を区切る区切りを判別する区切り判別部と、判別結果に基づいて所定の世代まで遡る履歴文は印刷対象とし、所定の世代より過去の世代の履歴文は印刷の対象から除外する履歴文除外部と、メール本文および印刷対象とされた履歴文を印刷する印刷部とを備えることを特徴とする印刷装置を提供する。
【発明の効果】
【0009】
この発明の印刷方法は、前記データのうち1回以上のメール返信および/または1回以上のメール転送によりメール本文のあとに累積的に付加される1以上の履歴文とメール本文との間および履歴文の相互の間を区切る区切りを、判別する区切り工程と、判別結果に基づいて所定の世代まで遡る履歴文は印刷対象とし、所定の世代より過去の世代の履歴文は印刷の対象から除外する除外工程とを備えるので、履歴文とメール本文との間および履歴文の相互の間の区切りを判別し、判別結果に基づいて所定の世代よりも古い履歴文を除外して印刷を行うことによって、複雑な操作を要することなくユーザーが必要とする部分を印刷することができる。従って、用紙、トナー、あるいは電力の無駄な消費を抑制することができる。
【0010】
この発明において、電子メールのデータは、メール本文を含み、そのメールが過去に返信および/または転送がされたときは履歴文が付加されている。電子メールのデータには、画像データなどのファイルが添付されていてもよいが、この発明における区切りの判別は添付ファイルではなくメールの本体に付加される履歴文を判別の対象としている。履歴文はメール本文と共にユーザーが読み取り可能な文字データであり、各履歴文の冒頭には、定型の記載内容が付与される。具体的には、以下の行が履歴文であることを示す「Original Message」、履歴文の送信者を示す「From …」、履歴文の送信日時を示す「Sent …」、履歴文の宛先を示す「To …」、履歴文の件名を示す「Subject …」などが一例として挙げられる。この明細書では、メール本文および履歴文のうち、それら定型の記載部分を特に「区切り」と呼んでいる。
【0011】
この明細書で「メール本文」は、その内容がはじめて送受信される文であり、履歴文は、返信および/または転送前、既に送受信された文である。複数回の返信および/または転送を繰り返すと、履歴文は累積的に付加されていく。各履歴文の間には、それぞれ「区切り」が存在する。
【0012】
この発明において、キーワードとは、「区切り」として使用される語である。例えば、前述の「From」、「Sent」、「To」あるいは「Subject」などの語やそれらの組み合わせであってもよい。あるいは、「Original Message」のような定型句であってもよい。
【0013】
この発明において、印刷装置は、例えば、電子写真方式のデジタル複合機であってもよいが、これに限定されず、電子メールを印刷可能なものであればよい。例えば、インクジェット方式や熱転写方式、昇華式の印刷装置であってもよい。また、複合機に限定されず、単機能のプリンタであってもよい。
【0014】
以下、この発明の好ましい態様について説明する。
前記区切り判別工程は、予め登録されたキーワードと電子メールのデータに含まれる語とを比較することにより区切りを判別してもよい。このようにすれば、登録されたキーワードが電子メールのデータに含まれる語と一致するか否かを判断することにより、区切りを判別することができる。
【0015】
また、前記メール本文および履歴文は、件名を表す項目を含み、前記除外工程は、履歴文の件名に転送メ―ルを示すキーワードが含まれるか否かを判断し、前記キーワードが件名に含まれている場合はその件名に係る履歴文を起点として所定の世代まで遡る履歴文は印刷対象とし、所定の世代より過去の世代の履歴文は印刷の対象から除外してもよい。このようにすれば、転送メールから所定の世代まで遡る履歴文を印刷対象とすることができる。転送メールは、第三者の間でやりとりされていた内容がはじめて受信者に送信される場合がある。そのような転送メールを受信した場合、受信者は転送前の履歴文の内容を手がかりに電子メールの内容を理解する。この構成によれば、転送メールから所定の世代まで遡る履歴文は印刷対象とされるので、受信者は印刷内容から電子メールの内容を理解することができる。ここで、転送メ―ルを示すキーワードは、たとえば、英文字の「FW」であってもよい。
【0016】
さらにまた、ユーザー別のキーワードをメモリに登録する工程をさらに備え、前記区切り工程は、予め登録されたキーワードに加え、または、予め登録されたキーワードに代えて、ユーザー別にメモリに登録されたキーワードとの比較により区切りを判別してもよい。ユーザーごとに使用するメーラが異なると、区切りとして使用される語が異なることがあり得る。このようにすれば、ユーザー別に登録されたキーワードにより区切りを判別することができるので、異なるメーラを使用する複数のユーザーに対応することが可能である。
【0017】
前記メール本文および履歴文は、その通信日付を表す項目を含み、前記通信日付に基づいて、履歴文がメール本文として通信された通信日付を判別する工程をさらに備え、前記除外工程は、各履歴文の通信日付が予め登録された期間に含まれるか否かを比較し、比較結果に応じて各履歴文を印刷対象とするか印刷対象から除外するかを決定してもよい。このようにすれば、送受信の日時が所定の期間内ではない履歴文は、返信および/または転送の回数(世代)にかかわらず印刷の対象から除外することができる。例えば、ユーザーが、「古すぎる会話は、無駄」と考える場合は、所定の世代内であったとしても、その履歴文を印刷の対象から除外することができる。あるいは、送受信の日時が所定の期間外の履歴文は、返信および/または転送の回数にかかわらず印刷の対象とすることができる。例えば、ユーザーが、「古すぎる会話は、記憶が薄れる」と考える場合、送受信の回数にかかわらず、すべてを印刷するように設定できる。ここで、前記期間の基準は、たとえば、印刷の要求があったときであってもよい。
【0018】
また、前記印刷工程は、印刷対象とされた履歴文をメール本文よりも低い印刷濃度で印刷するか、あるいは、メール本文よりも印字スペースを節約して印刷するようにしてもよい。このようにすれば、履歴文をメール本文と同じ印刷条件で印刷する場合に比べて履歴文の印字に要するトナーやシートを節約することができる。ここで、印字スペースを節約するとは、例えば、履歴文の文字の大きさをメール本文よりも小さくしたり、履歴文の行や文字の間隔をメール本文よりも小さくしたりすることを指す。
【0019】
さらにまた、取得された電子メールの印刷に先立ち、履歴文を印刷対象から除外すべきか否かの指示入力をユーザーに求める確認工程をさらに備え、前記確認工程は、履歴文を印刷対象から除外すべき旨の指示があった場合は、前記区切り工程および除外工程が実行され、履歴文を印刷対象から除外しない旨の指示があった場合は前記区切り工程および除外工程が省略されるように処理してもよい。このようにすれば、ユーザーが意識せずに不要な履歴文の印刷を許容することが防止でき、無駄な履歴文の印刷による印刷シートやトナーの無駄な消費を抑制することができる。
ここで示した種々の好ましい態様は、それら複数を組み合わせることもできる。
【発明を実施するための最良の形態】
【0020】
以下、図面を用いてこの発明をさらに詳述する。なお、以下の説明は、すべての点で例示であって、この発明を限定するものと解されるべきではない。
【0021】
(電子メール印刷システムの基本構成)
図1は、本発明に係る電子メールの印刷を行うシステムの構成例を示す説明図である。図1に示すように、電子メールの印刷システムは、ユーザーが電子メールを送受信したりアプリケーションを操作したりするパーソナルコンピュータ(PC)1−2と、そのコンピュータ1−2より印刷要求を実行することの出来る画像形成装置1−3からなる。この実施形態で、画像形成装置1−3は、デジタル複合機(MFP)である。
【0022】
本発明のメール印刷に係る各種設定は、設定画面1−1を用いてユーザーが行う。この画面は、MFP1−3が備える操作パネルに表示されてもよい。あるいは、PC1−2のディスプレイ上に表示されてもよい。具体的には、PC1−2にインストールされたWebブラウザを用いて設定画面が表示されてもよい。あるいは、PC1−2にインストールされたプリンタドライバの設定画面1−4として表示されてもよい。ユーザーがPC1−2のディスプレイ上に表示された設定画面1−1に対して設定の操作を行うと、その設定内容は、ネットワークを介してMFP1−3に送信される。そして、MFP1−3の印刷に係る設定が行われる。あるいは、ユーザーがMFP1−3の操作パネルに表示された設定画面に対して設定の走査を行うと、その設定内容がMFP1−3の印刷に反映される。
【0023】
MFP1−3には、電子メール本文および履歴文の冒頭に付与される定型の記載(区切り)、即ち、ヘッダーを見分けるためのキーワードが事前に登録されている。また、メールの履歴文の印刷を行なう際に、何回まで遡った履歴文を印刷の対象とするかの回数が予め登録されている。これらのキーワードや回数設定は、PC1−2のディスプレイ上にWebブラウザにより表示される設定画面、プリンタドライバの設定画面やMFP1−3の操作パネルに表示される設定画面を用いて登録することができる。MFP1−3は、これらのキーワードや回数を保持するために不揮発性の記憶装置(図示せず)を備えている。その具体例は、ハードディスク装置やフラッシュメモリである。また、印刷処理を実行するためのCPUを備えている。
【0024】
電子メールのデータ(メールデータ)は、返信および/または転送を繰り返すことにより、返信および/または転送前のデータが履歴文として累積的に付加される。通常、履歴文は、メール本文の末尾に付加される。複数回の返信および/または転送を繰り返すと、複数の履歴文が付加される。その例は、図9に示すとおりである。この発明の一態様によれば、電子メールを印刷する際には、MFP1−3に登録された回数Nを超える履歴文は、印刷の対象から除外され、メール本文と直近のN回の履歴文のみが印刷される。この機能によって、印刷シートが節約できる。
図2は、この発明に係るMFP1−3に登録される各種のキーワード、回数設定などの内容を例示する説明図である。
【0025】
(メール本文を伴わない転送メールへの対応)
送受信される電子メールの中には、メール本文を伴わないもの、即ち、狭義の転送メール(フォワードメール、FWメール)がある。このような電子メールを印刷する際、全ての子メールを印刷の対象から除外すると、メールの内容がなにも印刷されないといった不具合が生じる。
【0026】
本発明の一態様によれば、メールの「件名」に着目し、フォワードメールか否かを判別する。即ち、前述のキーワードの一種として、フォワードメールを示す語「FW」が記載される項目名(FWキーワード、例えば、項目名「件名」)を事前に登録しておく。また、通常のフォワードメール専用の回数設定をそして、電子メールの「件名」が「FW」を含むか否かを判別する。件名に「FW」が含まれていた場合は、そのメールがフォワードメールであると判断する。
フォワードメールであると判断した場合、ユーザーがPC(1−2)でWeb設定や画像形成装置(1−3)のフロントパネルを用いて事前に設定登録(1−1)した、「全文印刷」や「世代(N)まで遡り印刷」などの設定を記憶することが出来る。
【0027】
(キーワードのユーザー登録)
また、メールソフトによっては、送受信のヘッダーの記載が異なることが考えられる。
そのため、ユーザーは、Webブラウザを用いて表示される設定画面やMFP1−3の操作パネルを通じて、キーワードの追加登録が行うことができる。登録されたキーワードは、ユーザー登録キーワードとして、前述の記憶装置内に格納される。図2は、この発明に係る前記記憶装置に格納されるデータの一例を示す説明図である。前記記憶装置に格納されたデータは、MFP1−3の設置時に予め登録されているキーワード2−1、FWキーワード2−3、ユーザーが追加登録できるユーザー登録キーワード2−4、同じくユーザーが追加登録できるユーザー登録FWキーワード2−6、日時チェックキーワード2−7および日付許容範囲2−8を含む。
【0028】
図2では、キーワード2−1として「From」、「Sent」、「To」、「差出人」、「送信日時」、「宛先」および「Original」が登録されている。
ユーザー登録キーワード2−4は、ユーザー毎に管理され、該当ユーザーからの印刷要求に対応して判別に使用されてもよい。
FWキーワード2−3は、FWメールを判断する際に使用するキーワードであり、MFP1−3の設置時に予め登録されているものである。
ユーザー登録FWキーワード2−6は、FWキーワードと同様の目的で使用され、ユーザー登録が登録可能なデータである。
日時チェックキーワード2−7および日付許容範囲2−8については、後述する。
【0029】
なお、前記記憶部は、上記のデータのほか、履歴文を含む電子メールを印刷する場合に、過去何回の履歴文まで遡って印刷対象とするかの設定値(世代の閾値)を格納する。その設定値は、ユーザー登録キーワードと同様に、ユーザーが設定画面や操作パネルを用いて登録および変更することができる。
【0030】
(日付チェック機能)
MFP1−3は、日付チェック機能を有する。日付チェック機能は、印刷しようとするメール本文の送信日付を抽出して印刷処理を行う日付と比較し、比較結果が前記記憶装置に予め記憶された範囲を超えるか否かに応じて、印刷対象のメールの処理を異ならせる機能である。例えば、前記範囲を超えるメールは印刷を行わないようにする機能である。日付チェック機能を実現するため、前記記憶装置は、日時チェックキーワード2−7および日付許容範囲2−8を格納する。日時チェックキーワード2−7は、印刷対象のメール本文の送信日付を抽出するために用いられる。また、日付許容範囲2−8は、抽出された送信日時が印刷処理を行う日付を基準とする範囲内にあるか否かの判断に用いられる。
【0031】
(処理手順)
以下、本発明の処理について、フローチャートに基づいて説明する。図3〜図7は、この発明に係る印刷の処理手順を示すフローチャートである。各処理は、MFP1−3が備える前記CPUによって実行される。
【0032】
(基本処理)
MFP1−3が備える前記記憶装置には、予めキーワード2−1が格納されている。キーワード2−1は、メールの送受信の区切りを判断するための文字列である。ユーザーの印刷指示により、印刷データがMFP1−3に送られてくると、MFP1−3は、それらの印刷データを受信バッファに格納する。
【0033】
受信バッファは、受信された印刷処理前の電子メールデータを一時的に格納しておくメモリ領域である。受信バッファは前記記憶装置内に設けられてもよいが、異なるハードウェアで実現されてもよい。不揮発性メモリである必要はなく、揮発性メモリでよい。前記CPUは、受信バッファに格納された印刷データを先頭から1行毎に読出して1行バッファと印刷待ちバッファへ移動させる。そして、1行バッファの内容を解析する。
【0034】
1行バッファは、電子メールデータの印刷に係る解析を行うため、1行ごとのデータを一時的に格納するメモリである。1行バッファは前記記憶装置内に設けられてもよいが、異なるハードウェアで実現されてもよい。印刷待ちバッファは、1行バッファに格納された印刷データが印刷対象か否かの判定を待つ間、それと同じ印刷データを格納しておくバッファである。前記CPUは、1行バッファに格納されたデータが印刷対象か否かを判断するが、印刷待ちバッファにアクセスすることもでき、その中に格納された印刷データを解析することもできる。印刷待ちバッファには複数行の電子メールデータが格納され得る。後述するように、前記CPUは、複数行に渡る印刷データの解析結果に基づいて、その印刷データが印刷の対象か否かを決定するからである。印刷待ちバッファに格納されたデータが印刷対象でないと判断した場合、前記CPUは、印刷待ちバッファの内容を印刷用に展開することなくクリアする。一方、前記データが印刷対象であると判断した場合、前記CPUは印刷待ちバッファの内容を前記レンダリング処理用のユニットに転送した後、印刷待ちバッファをクリアする。
【0035】
図8は、この発明の印刷処理に係る受信バッファ、1行バッファおよび印刷待ちバッファの構成例を示す説明図である。受信バッファおよび印刷待ちバッファはFIFO構造のバッファである。
前記CPUは、1行バッファ中の印刷データが、登録されたキーワード2−1を含むか否かを判断する。その判断結果に基づいて、印刷データ中の区切りを判別する。
【0036】
図3の処理を順序に従って電子メールの印刷データを受信した場合に前記CPUが実行する印刷処理の手順を説明する。なお、以下のフローチャートでは、処理の変数として、履歴文の世代をカウントする世代カウンタ(C)と、過去何回までの送受信を印刷対象に含めるかを定める履歴文の世代の閾値(N)が用いられる。前記閾値は、前記記憶装置に登録されている。この実施形態においては、前記閾値は1に設定(N=1)されているものとする。なお、世代カウンタは、処理開始時に初期値ゼロ(C=0)に設定される。N=1の場合、電子メールの印刷は、メール本文(以下、親メールデータともいう)と、履歴文(以下、子メールデータともいう)のうち直近の1回の送受信のみを印刷の対象とする。因みに、N=0の場合、履歴文は全く印刷されない。N=2であれば、メール本文と直近2回分の履歴文が印刷される。
【0037】
電子メールの印刷データを受信した場合、前記CPUは、前述の世代カウンタCを初期値(ゼロ)にリセットする。さらに、親メールが転送メールであることを示すフラグをリセットする(ステップS11)。そして、親メールデータのヘッダーの部分、即ち、「差出人」、「送信日時」、「宛先」、「件名」の項目がその順に最初に表れる部分およびそれに先立つ部分を受信バッファから読み出して、いったん印刷待ちのバッファに格納する。そして、前記CPUは印刷待ちバッファに格納された印刷データを印刷可能な形式に展開(レンダリング)するためのユニット(図示せず)に転送する。そして、印刷待ちバッファをクリアする。なお、レンダリング処理用のユニットへ転送された印刷用データは、レンダリング処理用の図示しないメモリ領域に格納された後、前記ユニットによりレンダリングされ印刷される。
【0038】
続いて、前記CPUは、親メールデータ(メール本文)のヘッダー、具体的には「件名」にフォワードメールを示す語「FW」が含まれるか否かを判定する(ステップS90)。「FW」が含まれない場合(ステップS90のNo)、即ち、その親メールが転送メールでない場合、ルーチンはステップS110Aへ進む。一方、親メールデータの「件名」に「FW」の語が含まれている場合(ステップS90のYes)、即ち、その親メールが転送メールである場合、ルーチンは図5に示す処理を実行する。図5の処理については後述する。
【0039】
親メールデータの「件名」に「FW」の語が含まれていない場合(ステップS90のNo)の処理を続けて説明する。その場合、前記CPUは、親メールが転送メールではないと判断し、続けてメール本文及び履歴文の印刷を行う。前記CPUは、受信バッファの内容を1行ずつ読み出して、それが履歴文のヘッダー部分に該当するか否かを調べつつ、印刷を行う。より詳細には、前記CPUは、まず、1行読み出し処理のサブルーチンを実行する(ステップS110A)。
【0040】
図7は、1行読出し処理のサブルーチンの処理を示すフローチャートである。図7で、前記CPUは、受信バッファに次の1行分の印刷データが格納されているか否かを判定する(ステップS111)。受信バッファが空であれば、印刷が完了したと判断して(ステップS111のYes)、ルーチンはステップS117へ進む。前記CPUは、印刷待ちバッファに格納されているデータを展開処理するユニットへ転送(ステップS117)した後、印刷待ちバッファをクリアし(ステップS119)、印刷の処理を終了する。一方、受信バッファが空でなく、次に印刷すべき印刷データが格納されている場合(ステップS111のNo)は、格納されている印刷データのうち先頭の1行を1行読出して1行読出しバッファに格納する(ステップS113)。さらに、1行読出しバッファの内容を印刷待ちバッファに追加する(ステップS115)。以上が、1行読出し処理の内容である。
【0041】
図3に戻り、ステップS110Aの後の説明を続ける。前記CPUは、1行バッファの内容が事前登録されているキーワード2−1と一致する文言を含むか否かをチェックする。まず、1行バッファの内容がキーワード「original」を含むか否かを判断する(ステップS121)。「original」を含まない場合(No)、前記CPUは、1行バッファの内容がヘッダー部分に該当しないと判断し、ルーチンはステップS130へ進む。そして、前記CPUは、印刷待ちバッファに格納されているデータを前述のレンダリング処理を行うユニットへ転送(ステップS130)した後、印刷待ちバッファをクリアする(ステップS131)。そして、次の1行を解析すべく、ステップS110Aからの処理を繰り返す。
【0042】
一方、前記ステップS121の判定で、1行バッファの内容が「original」を含む場合(No)、前記CPUは、1行バッファの内容がヘッダー部分に該当する可能性があると判断し、ルーチンは図4に示す処理の先頭(ステップS110B)へ進んでさらにヘッダー部分の判定をおこなう。
【0043】
図4のフローチャートについて説明する。図4で、前記CPUは、さらに1行読み出し処理のサブルーチンを実行する(ステップS110B)。そして、読み出した1行バッファの内容がキーワード「From」または「差出人」を含むか否かを判断する(ステップS123)。「From」または「差出人」を含まない場合(ステップS123のNo)、ルーチンは図3のステップS130へ進み、前記CPUは、印刷待ちバッファに格納されているデータを展開処理するユニットへ転送(ステップS130)した後、印刷待ちバッファをクリアする(ステップS131)。
【0044】
一方、1行バッファの内容が「From」または「差出人」を含む場合(ステップS123のYes)、前記CPUは次の1行を1行バッファと印刷待ちバッファに読み出すべく、1行読出し処理のサブルーチンを実行する(ステップS110C)。そして、更新された1行バッファの内容がキーワード「Sent」または「送信日時」を含むか否かを判断する(ステップS124)。「Sent」または「送信日時」を含まない場合(ステップS124のNo)、ルーチンは図3のステップS130へ進み、前記CPUは印刷待ちバッファに格納されているデータを印刷用に展開処理した後、印刷待ちバッファをクリアする(ステップS131)。
【0045】
一方、1行バッファの内容が「Sent」または「送信日時」を含む場合(ステップS124のYes)、前記CPUはさらに次の1行を1行バッファと印刷待ちバッファに読み出すべく、1行読出し処理のサブルーチンを実行する(ステップS110D)。そして、更新された1行バッファの内容がキーワード「To」または「宛先」を含むか否かを判断する(ステップS125)。「To」または「宛先」を含まない場合(ステップS125のNo)、ルーチンは図3のステップS130へ進み、前記CPUは、印刷待ちバッファに格納されているデータを印刷用に展開処理した後、印刷待ちバッファをクリアする(ステップS131)。「To」または「宛先」を含む場合(ステップS125のYes)、ルーチンは、図5のフローチャートの先頭(ステップS110E)へ進む。
【0046】
以上の判定により、前記CPUはキーワード「original」、「From」または「差出人」、「Sent」または「送信日時」、「To」または「宛先」が、行ごとに前記の順番で続けて表れる場合、それらの行が履歴文の「区切り」に該当すると判断する。そして、さらに図5の履歴文の世代カウントの処理へ進む。一方、前記の条件に該当しないと判断した場合、各行は図3のステップS130、S131の処理を経ることにより印刷用に展開される。即ち、印刷の対象として処理される。
【0047】
(履歴文解析処理)
図5の処理につき、さらに説明を続ける。キーワード「From」または「差出人」、「Sent」または「送信日時」、「To」または「宛先」が行ごとに前記の順番で続けて表れる場合、前記CPUはそれらを履歴文のヘッダーと判断し、図5のステップS110E以降の処理を行う。
【0048】
前記CPUは、次の1行を1行バッファと印刷待ちバッファに読み出すべく、1行読出し処理のサブルーチンを実行する(ステップS110E)。1行読出しバッファの内容がFWキーワード「Subject」または「件名」を含む場合、ルーチンはステップS160へ進み、1行読出しバッファの内容が、フォワードメールを示す語「FW」を含むか否かを判断する(ステップS160)。これは、親メールが転送メールでない場合において、履歴文に転送メールが含まれる場合、その転送メールからN世代(NはMFP1−3に登録された回数設定)遡った履歴文までを印刷しそれより古い履歴文は印刷しないようにするためである。前述の判断の結果、1行読出しバッファの内容が「FW」を含まない場合(ステップS160のNo)、前記CPUはそのヘッダーが転送メールのものでないと判断し、ルーチンはステップS180へ進む。ステップS180では、日付チェック機能に係る判定を行う。
【0049】
一方、1行読出しバッファの内容が「FW」を含む場合(ステップS160のYes)、前記CPUは、そのヘッダーが転送メールのものであると判断し、まず、履歴文を含む電子メールを全文印刷するよう設定されているか否かを判断する(ステップS240)。全文印刷をするように設定されている場合(ステップS240のYes)は、これ以降、区切りの判定をやめ、残りの各行をすべて印刷する処理を実行する(ステップS230)。そして、処理を終了する。
【0050】
一方、全文印刷するように設定されていない場合(ステップS240のNo)、前記CPUは、親メールがFWメールか否かを判断する(ステップS250)。これは、前述した図3のステップS90の判定結果に基づく。親メールが転送メールと判断された場合(ステップS250のYes)、子メール中に転送メールがあるか否かに係らず、親メールからN世代の履歴文までを印刷し、それ以降の履歴文を印刷しないようにするための判断である。一方、親メールが転送メールでない場合(ステップS250のNo)、子メールの転送メールを起点としてN世代の履歴文までを印刷するため、の判断である。親メールが転送メールでない場合、前記CPUは、履歴文の世代カウントタCをリセットする(ステップS170)。従って、例えば、親メールが転送メールでなく、かつ、子メールの履歴文に転送メールが連続して存在する場合、最も古い転送メールを起点としてN世代の履歴文までが印刷される。その後、ルーチンはステップS180の日付チェック機能の処理へ進む。
【0051】
一方、前記ステップS250で、親メールが転送メールの場合(ステップS250のYes)、世代カウントタCをリセットすることなく、ルーチンはステップS180の日付チェック機能の処理へ進む。
【0052】
ステップS180、S190は日付チェック機能の処理である。日付チェック機能の処理について説明する。ステップS180で、前記CPUは、印刷待ちバッファに格納された印刷データのうち、日時チェックキーワード2−7を含む項目を特定し、その項目の内容、即ち送信日時を抽出する。そして、抽出された送受信日時と印刷処理の要求があった日とを比較する(ステップS190)。即ち、件名の内容に含まれる日付が、印刷処理の要求があった日時を基準として日付許容範囲2−8の範囲内にあるか否かを判断する。その結果、範囲内であれば(ステップS190のYes)、ルーチンはステップS200へ進み、履歴文の世代を判定する。
【0053】
一方、前記ステップS190で、件名の内容に含まれる日付が、日付許容範囲2−8の範囲を超えている場合(ステップS190のNo)、ルーチンはステップS201へ進み、印刷待ちバッファをクリアし、その電子メールを印刷することなく、処理を終了する。その結果、ヘッダー部分の「Sent」または「送信日付」に日付許容範囲を超える日付が含まれている場合はその履歴文およびそれ以降に記載されている履歴文、即ち、それより古い履歴文は印刷されない。
【0054】
ステップS200、S203およびS135は、子メールの転送メールからN世代まで遡って履歴文は印刷し、それよりも古い履歴文は印刷しないための世代の判定処理である。ステップS200で、前記CPUは、履歴文の世代カウントタCが、登録されたNの値と等しいか否かを判断する(ステップS203)。ここで、世代カウンタCは、図3のステップS11の初期化処理でゼロにリセットされる。また、親メールが転送メールでなく、かつ、子メールが転送メールである場合ゼロにリセットされる。そして、この判定結果がNoの場合、その直後にカウンタ値が+1される(ステップS135)。
【0055】
例えば、ステップS90で親メールが転送メールであると判断された場合、親メールの内容と、1世代目の履歴文のヘッダーが印刷バッファに格納され、かつC=0の状態でステップS203の第1回目の判定がなされる。その場合の判定結果はC≠N、即ちNoである。ただし、この実施形態ではN=1である。その結果、ルーチンはステップS135へ進み、世代カウンタCの値を+1した(C=1)後、ステップS130、S131の処理へ進み、第1世代目の履歴文の印刷が行われる。さらに、印刷処理が進み、2世代目の履歴文のヘッダーが見つかった場合、ステップS203の第2回目の処理が行われる。この場合、2世代目の履歴文のヘッダーが印刷バッファに格納され、かつC=1の状態でステップS203の判断がされる。その判定結果はC=N(ただし、N=1)、即ちYesである。その結果、ルーチンは、ステップS201へ進み、印刷待ちバッファをクリアして印刷処理を終了する。従って、第2世代目およびそれより過去の世代の履歴文、即ち、第2世代以前の履歴文は印刷されない。
【0056】
また、例えば、親メールが転送メールでない場合、第1世代の履歴文のヘッダーが印刷バッファに格納され、かつC=0の状態でステップS203の第1回目の判定がなされる。その場合の判定結果はC≠N、即ちNoであり、1世代目の履歴文の印刷が行われる。続いて、2世代目の履歴文のヘッダーが見つかった場合、ステップS203の第2回目の判定が行われる。この場合、転送メールから2世代目の履歴文のヘッダーが印刷バッファに格納され、かつC=1の状態でステップS203の判断がされる。判定結果はC=N、即ちYesである。従って、第2世代およびそれより過去の世代の履歴文は印刷されない。
【0057】
ただし、2世代目の履歴文が転送メールの場合、ステップS170で世代カウンタCはクリアされた後にステップS203の第2回目の判定が行われる。その場合の判定結果はC≠N、即ちNoであり、2世代目の履歴文の印刷が行われる。さらに、3世代目の履歴文のヘッダーが見つかった場合、ステップS203の第3回目の判定が行われる。この場合、転送メールから3世代目の履歴文のヘッダーが印刷バッファに格納され、かつC=1の状態でステップS203の判断がされる。判定結果はC=N、即ちYesである。従って、第3世代およびそれより過去の世代の履歴文は印刷されない。
【0058】
ただし、この場合も3世代目の履歴文が転送メールの場合、ステップS170で世代カウンタCはクリアされた後にステップS203の第3回目の判定が行われる。その場合の判定結果はC≠N、即ちNoであり、3世代目の履歴文の印刷が行われる。以上のように、子メールの履歴文が転送メールであれば、それを起点としてN世代まで過去に遡り履歴文が印刷される。
【0059】
続いて、図3のステップS90で、親メールの「件名」に転送メールを表すキーワード「FW」が含まれている場合、即ち、親メールが転送メールであると判断した場合の処理について説明する。図6は、その場合の処理の手順を示すフローチャートである。前記判断の結果、ルーチンは図6のステップS300へ進む。ステップS300で、前記CPUは、全文印刷するように設定されているか否かを判断する。全文印刷をするように設定されている場合(ステップS300のYes)は、これ以降、区切りの判定をやめ、残りの各行をすべて印刷する処理を実行する(ステップS330)。そして、処理を終了する。
【0060】
一方、全文印刷するように設定されていない場合(ステップS300のNo)、前記CPUは、親メールが転送メールであることを示すフラグをセットする(ステップS310)。このフラグは、前述した図5のステップS250の判定に用いられる。親メールが転送メールの場合は、子メールに転送メールが含まれていてもステップS170の処理へ進まない。即ち、世代カウンタはリセットされない。従って、親メールからN世代目までの履歴文が印刷され、それより過去の世代の履歴文は印刷されない。
ステップS310でフラグをセットした後、ルーチンは図3のステップS130の処理へ進み、親メールのヘッダーに続く部分の解析および印刷の処理を行う。
【0061】
図10は、図9に対応する電子メールのデータを、この発明による印刷方法により印刷した結果の一例を示す説明図である。図9の電子メールは、親メールは転送メールでないが、メール本文のあとに転送メールが続く。図10に示すように、この発明の一実施形態によれば、N=1の場合、親メールの内容と第1世代の履歴文のみが印刷され、それ以前の履歴文は印刷されない。
【0062】
前述の処理手順から容易に理解できるように、例えば、N=2の場合は、メール本文と直近から2回目までの履歴文が印刷され、それ以前の履歴文は印刷されない。なお、Nが、印刷すべき電子メールのデータ中の履歴文の世代数より大きい場合、受信バッファから印刷データを読出し、履歴文の世代をカウントしながら各行を印刷している途中で印刷データの末尾に至る。その場合、前記CPUは、1行読出し処理(図6)のステップS111の判定で受信バッファが空であると判断し、S117,S119の処理によって最終行まで印刷を行うように処理したのち印刷処理を終了する。
【0063】
(印刷結果の例)
図10〜図13は、本発明による印刷方法を用いた場合に得られる印刷の一例を示す説明図である。
図10は、この発明において、前記CPUが、図3〜7のフローチャートの処理に従って履歴文の世代を判別し、子メールの転送メールから1世代目までの内容が印刷された例を示している。
図11は、この発明において、全文印刷が登録されている場合の印刷結果の一例を示している。全文印刷が指定されている場合は、従来の印刷結果と相違がない。
【0064】
図12および図13は、日付チェック機能に関する印刷結果の例を示す説明図である。図12は、日付チェック機能を用いない場合の印刷結果の一例である。5世代にわたる子メールの送信日時はそれぞれAugust 20, 2008, 7:30PM、August 20, 2008, 7:30PM、August 19, 2008, 7:29PM、August 18, 2008 7:29PM、August 17, 2008 7:28PMである。親メールの日付は、August 21, 2008 7:31PMとする。
それに対して、図13は、日付機能が設定されており、日付許容範囲が2日の場合の印刷結果の例である。親メールの日付から2日以内、即ち8月19日以降に送信された1〜3世代目の履歴文までは印刷されるが、それより過去、即ち、8月19日より前の履歴文は印刷されない。
【0065】
(変形例その1)
変形例として、履歴文の印刷条件を、履歴文以外のメール本文データと異ならせて印刷する態様について説明する。この態様によれば、履歴文をメール本文と同じ印刷条件で印刷する場合に比べて履歴文の印字に要するトナーやシートを節約することができる。
【0066】
この場合、印刷待ちバッファのデータとして、文字データのほかに、フォント大きさや印刷濃度を規定する印刷条件が1行ごとに付与される。印刷条件を付与する具体的なタイミングは、図5の一行読み出し処理(ステップS110E)の直後である。ステップS110Eで、印刷待ちバッファに1行読出しバッファのデータが追加されるごとに、追加された1行のデータに対して予め決められたフォントサイズおよび/または印刷濃度を示す印刷条件が制御データとして付与される。
【0067】
ここで、ステップS110Eの一行読出し処理で印刷待ちバッファに追加される各印刷データは履歴文である。従って、メール本文として印刷待ちバッファに追加される印刷データに比べて、履歴文として印刷待ちバッファに付与される印刷条件は、小さなフォントサイズおよび/または低い印刷濃度で印刷される。その他、前記印刷条件として密な行間隔や文字間隔が履歴文に付与されてもよい。
【0068】
(変形例その2)
異なる変形例として、印刷前に、履歴文の印刷の要否をユーザーに確認する態様について説明する。この態様によれば、メールを印刷する前に、ユーザーに履歴文の要否を確認する表示を行い、ユーザーにより履歴文の印刷が指示された場合にのみ履歴文の印刷を実施する。このようにすれば、ユーザーが意識しないうちに不要な履歴文が印刷されることが防止できる。従って、不要な履歴文の印刷によるトナーや印刷シートの消費を抑制することができる。
【0069】
具体的には、電子メールの印刷を開始する前に、履歴文の要否をユーザーに確認するダイアログを表示する。その表示に応答してユーザーが履歴文の印刷を指示した場合は、図9の印刷例のように履歴文を含む通常の印刷処理を行い、履歴文の抽出と削除に係る処理を行わない。一方、前記表示に応答してユーザーが履歴文の削除を指示した場合は、履歴文の抽出と削除に係る処理を行ない、図10、図12または図13の印刷例のように、履歴文の少なくとも一部が削除された印刷を行なう。
【0070】
前述した実施の形態の他にも、この発明について種々の変形例があり得る。それらの変形例は、この発明の範囲に属さないと解されるべきものではない。この発明には、請求の範囲と均等の意味および前記範囲内でのすべての変形とが含まれるべきである。
【図面の簡単な説明】
【0071】
【図1】本発明に係る電子メールの印刷を行うシステムの構成例を示す説明図である。
【図2】この発明に係るMFPに登録される各種のキーワード、回数設定などの内容を例示する説明図である。
【図3】この発明に係る印刷の処理手順を示す第1のフローチャートである。
【図4】この発明に係る印刷の処理手順を示す第2のフローチャートである。
【図5】この発明に係る印刷の処理手順を示す第3のフローチャートである。
【図6】この発明に係る印刷の処理手順を示す第4のフローチャートである。
【図7】この発明に係る印刷の処理手順を示す第5のフローチャートである。
【図8】この発明の印刷処理に係る受信バッファ、1行バッファおよび印刷待ちバッファの構成例を示す説明図である。
【図9】従来の電子メールの印刷結果の一例を示す説明図である。
【図10】本発明による印刷方法を用いた場合に得られる印刷の一例を示す説明図である。
【図11】本発明による印刷方法を用いた場合に得られる印刷の一例を示す説明図である。
【図12】本発明による印刷方法を用いた場合に得られる印刷の一例を示す説明図である。
【図13】本発明による印刷方法を用いた場合に得られる印刷の一例を示す説明図である。
【符号の説明】
【0072】
1−1:設定画面
1−2:パーソナルコンピュータ(PC)
1−3:画像形成装置、デジタル複合機、MFP
1−4:プリンタドライバの設定画面
2−1:キーワード
2−3:FWキーワード
2−4:ユーザー登録キーワード
2−6:ユーザー登録FWキーワード
2−7:日時チェックキーワード
2−8:日付許容範囲
【技術分野】
【0001】
この発明は、電子メールの印刷方法および印刷装置に関する。より詳細には、予め登録されたキーワードおよび返信および/または転送の回数に基づき、メール印刷の際に無駄な部分の印刷を削除し、用紙及び消費電力の削減をすることができる印刷方法および印刷装置に関する。
【背景技術】
【0002】
電子メールは、業務を遂行する上で、また、コミュニケーションを取る上で欠かせないツールとなっている。電子メールの普及に伴って、電子メールを印刷することも多くなっている。
【0003】
そこで、電子メールの印刷ページ数を減らす手法として、メールのヘッダー/フッターを削除する技術が提案されている(例えば、特許文献1参照)
しかし、多くの電子メールは、返信や転送が何度も繰り返されることが多く、本当に印刷したい部分はメールの内容の一部分となっていることが多い。
【0004】
即ち、電子メールの返信や転送を何度か行った場合、メール本文、即ち、その電子メールの最新の送信が行われる際に送信者が記した通信文に続いて、最新の送信よりも前に返信および/または転送が行われた際にメール本文であった文(履歴文)が累積的に付加されて送受信されることが多い。図9は、従来の電子メールの印刷結果の一例を示す説明図である。図9は、6回メールの送受信が行われた後の印刷例である。ここで、最新の送信が行われた際のメール本文は、「フォワードされたメールへの返信です」という内容である。メール本文は、差出人、送受信日時、宛先および件名の定型の項目からなる区切り(ヘッダー)の後に印刷されている。メール本文に続いて、前述の履歴文が印刷されている。それらの内容は、最近の送受信に近い順、換言すれば若い順にならんでいる。各メールの内容は、各送受信につき「Original Message」、「From」、「Sent」、「To」、「Subject」の項目からなるヘッダーの後に印刷されている。
【特許文献1】特開2005−534105号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
返信および/または転送後のメールに履歴文を付加するか否かは、メーラ(電子メール送受信用のアプリケーション・ソフトウェア)で設定可能なものが多い。即ち、そのメーラの使用者が返信および/または転送後のメールに履歴文を付加するか否かを一括して設定できるものが多い。しかし、一般に、そのメーラから送信されたメールを受信する者は、受信側された電子メールに付加されている履歴文を自動的に削除することはできない。受信者が受信された電子メールを印刷すると、図9に示すごとく、メール本文とともに付加された履歴文も印刷される。ユーザーによっては履歴文が不要な場合があるが、受信者側の意思で履歴文の付加/削除を選択することはできない。また、複数回分の履歴文が付加されている電子メールの場合、最新の履歴文だけが必要な場合もある。それにもかかわらず、各回の履歴文が印刷され、無駄に用紙、トナー、電力が消費されてしまう。
前述の非特許文献1では、送受信先のメールアドレスの削除などの提案がなされている。しかし、履歴文について特段の記載はなく履歴文を含めた印刷がなされてしまう。
【0006】
この発明は、以上のような事情を考慮してなされたものであって、返信や転送が行われて履歴文が付加された電子メールであっても、複雑な操作を要することなくユーザーが必要とする部分を選択的に印刷することができ、用紙、トナー、あるいは電力の無駄な消費を抑制することのできる印刷方法および印刷装置を提供するものである。
【課題を解決するための手段】
【0007】
この発明は、電子メールのデータを印刷のために取得する工程と、前記データのうち1回以上のメール返信および/または1回以上のメール転送によりメール本文のあとに累積的に付加される1以上の履歴文とメール本文との間および履歴文の相互の間を区切る区切りを、判別する区切り工程と、判別結果に基づいて所定の世代まで遡る履歴文は印刷対象とし、所定の世代より過去の世代の履歴文は印刷の対象から除外する除外工程と、メール本文および印刷対象とされた履歴文を印刷装置で印刷する工程とを備え、コンピュータが各工程を処理することを特徴とする電子メールの印刷方法を提供する。
【0008】
また、異なる観点から、この発明は、印刷用に電子メールのデータを取得するデータ取得部と、前記データのうち1回以上のメール返信および/または1回以上のメール転送によりメール本文のあとに累積的に付加される1以上の履歴文とメール本文との間および履歴文の相互の間を区切る区切りを判別する区切り判別部と、判別結果に基づいて所定の世代まで遡る履歴文は印刷対象とし、所定の世代より過去の世代の履歴文は印刷の対象から除外する履歴文除外部と、メール本文および印刷対象とされた履歴文を印刷する印刷部とを備えることを特徴とする印刷装置を提供する。
【発明の効果】
【0009】
この発明の印刷方法は、前記データのうち1回以上のメール返信および/または1回以上のメール転送によりメール本文のあとに累積的に付加される1以上の履歴文とメール本文との間および履歴文の相互の間を区切る区切りを、判別する区切り工程と、判別結果に基づいて所定の世代まで遡る履歴文は印刷対象とし、所定の世代より過去の世代の履歴文は印刷の対象から除外する除外工程とを備えるので、履歴文とメール本文との間および履歴文の相互の間の区切りを判別し、判別結果に基づいて所定の世代よりも古い履歴文を除外して印刷を行うことによって、複雑な操作を要することなくユーザーが必要とする部分を印刷することができる。従って、用紙、トナー、あるいは電力の無駄な消費を抑制することができる。
【0010】
この発明において、電子メールのデータは、メール本文を含み、そのメールが過去に返信および/または転送がされたときは履歴文が付加されている。電子メールのデータには、画像データなどのファイルが添付されていてもよいが、この発明における区切りの判別は添付ファイルではなくメールの本体に付加される履歴文を判別の対象としている。履歴文はメール本文と共にユーザーが読み取り可能な文字データであり、各履歴文の冒頭には、定型の記載内容が付与される。具体的には、以下の行が履歴文であることを示す「Original Message」、履歴文の送信者を示す「From …」、履歴文の送信日時を示す「Sent …」、履歴文の宛先を示す「To …」、履歴文の件名を示す「Subject …」などが一例として挙げられる。この明細書では、メール本文および履歴文のうち、それら定型の記載部分を特に「区切り」と呼んでいる。
【0011】
この明細書で「メール本文」は、その内容がはじめて送受信される文であり、履歴文は、返信および/または転送前、既に送受信された文である。複数回の返信および/または転送を繰り返すと、履歴文は累積的に付加されていく。各履歴文の間には、それぞれ「区切り」が存在する。
【0012】
この発明において、キーワードとは、「区切り」として使用される語である。例えば、前述の「From」、「Sent」、「To」あるいは「Subject」などの語やそれらの組み合わせであってもよい。あるいは、「Original Message」のような定型句であってもよい。
【0013】
この発明において、印刷装置は、例えば、電子写真方式のデジタル複合機であってもよいが、これに限定されず、電子メールを印刷可能なものであればよい。例えば、インクジェット方式や熱転写方式、昇華式の印刷装置であってもよい。また、複合機に限定されず、単機能のプリンタであってもよい。
【0014】
以下、この発明の好ましい態様について説明する。
前記区切り判別工程は、予め登録されたキーワードと電子メールのデータに含まれる語とを比較することにより区切りを判別してもよい。このようにすれば、登録されたキーワードが電子メールのデータに含まれる語と一致するか否かを判断することにより、区切りを判別することができる。
【0015】
また、前記メール本文および履歴文は、件名を表す項目を含み、前記除外工程は、履歴文の件名に転送メ―ルを示すキーワードが含まれるか否かを判断し、前記キーワードが件名に含まれている場合はその件名に係る履歴文を起点として所定の世代まで遡る履歴文は印刷対象とし、所定の世代より過去の世代の履歴文は印刷の対象から除外してもよい。このようにすれば、転送メールから所定の世代まで遡る履歴文を印刷対象とすることができる。転送メールは、第三者の間でやりとりされていた内容がはじめて受信者に送信される場合がある。そのような転送メールを受信した場合、受信者は転送前の履歴文の内容を手がかりに電子メールの内容を理解する。この構成によれば、転送メールから所定の世代まで遡る履歴文は印刷対象とされるので、受信者は印刷内容から電子メールの内容を理解することができる。ここで、転送メ―ルを示すキーワードは、たとえば、英文字の「FW」であってもよい。
【0016】
さらにまた、ユーザー別のキーワードをメモリに登録する工程をさらに備え、前記区切り工程は、予め登録されたキーワードに加え、または、予め登録されたキーワードに代えて、ユーザー別にメモリに登録されたキーワードとの比較により区切りを判別してもよい。ユーザーごとに使用するメーラが異なると、区切りとして使用される語が異なることがあり得る。このようにすれば、ユーザー別に登録されたキーワードにより区切りを判別することができるので、異なるメーラを使用する複数のユーザーに対応することが可能である。
【0017】
前記メール本文および履歴文は、その通信日付を表す項目を含み、前記通信日付に基づいて、履歴文がメール本文として通信された通信日付を判別する工程をさらに備え、前記除外工程は、各履歴文の通信日付が予め登録された期間に含まれるか否かを比較し、比較結果に応じて各履歴文を印刷対象とするか印刷対象から除外するかを決定してもよい。このようにすれば、送受信の日時が所定の期間内ではない履歴文は、返信および/または転送の回数(世代)にかかわらず印刷の対象から除外することができる。例えば、ユーザーが、「古すぎる会話は、無駄」と考える場合は、所定の世代内であったとしても、その履歴文を印刷の対象から除外することができる。あるいは、送受信の日時が所定の期間外の履歴文は、返信および/または転送の回数にかかわらず印刷の対象とすることができる。例えば、ユーザーが、「古すぎる会話は、記憶が薄れる」と考える場合、送受信の回数にかかわらず、すべてを印刷するように設定できる。ここで、前記期間の基準は、たとえば、印刷の要求があったときであってもよい。
【0018】
また、前記印刷工程は、印刷対象とされた履歴文をメール本文よりも低い印刷濃度で印刷するか、あるいは、メール本文よりも印字スペースを節約して印刷するようにしてもよい。このようにすれば、履歴文をメール本文と同じ印刷条件で印刷する場合に比べて履歴文の印字に要するトナーやシートを節約することができる。ここで、印字スペースを節約するとは、例えば、履歴文の文字の大きさをメール本文よりも小さくしたり、履歴文の行や文字の間隔をメール本文よりも小さくしたりすることを指す。
【0019】
さらにまた、取得された電子メールの印刷に先立ち、履歴文を印刷対象から除外すべきか否かの指示入力をユーザーに求める確認工程をさらに備え、前記確認工程は、履歴文を印刷対象から除外すべき旨の指示があった場合は、前記区切り工程および除外工程が実行され、履歴文を印刷対象から除外しない旨の指示があった場合は前記区切り工程および除外工程が省略されるように処理してもよい。このようにすれば、ユーザーが意識せずに不要な履歴文の印刷を許容することが防止でき、無駄な履歴文の印刷による印刷シートやトナーの無駄な消費を抑制することができる。
ここで示した種々の好ましい態様は、それら複数を組み合わせることもできる。
【発明を実施するための最良の形態】
【0020】
以下、図面を用いてこの発明をさらに詳述する。なお、以下の説明は、すべての点で例示であって、この発明を限定するものと解されるべきではない。
【0021】
(電子メール印刷システムの基本構成)
図1は、本発明に係る電子メールの印刷を行うシステムの構成例を示す説明図である。図1に示すように、電子メールの印刷システムは、ユーザーが電子メールを送受信したりアプリケーションを操作したりするパーソナルコンピュータ(PC)1−2と、そのコンピュータ1−2より印刷要求を実行することの出来る画像形成装置1−3からなる。この実施形態で、画像形成装置1−3は、デジタル複合機(MFP)である。
【0022】
本発明のメール印刷に係る各種設定は、設定画面1−1を用いてユーザーが行う。この画面は、MFP1−3が備える操作パネルに表示されてもよい。あるいは、PC1−2のディスプレイ上に表示されてもよい。具体的には、PC1−2にインストールされたWebブラウザを用いて設定画面が表示されてもよい。あるいは、PC1−2にインストールされたプリンタドライバの設定画面1−4として表示されてもよい。ユーザーがPC1−2のディスプレイ上に表示された設定画面1−1に対して設定の操作を行うと、その設定内容は、ネットワークを介してMFP1−3に送信される。そして、MFP1−3の印刷に係る設定が行われる。あるいは、ユーザーがMFP1−3の操作パネルに表示された設定画面に対して設定の走査を行うと、その設定内容がMFP1−3の印刷に反映される。
【0023】
MFP1−3には、電子メール本文および履歴文の冒頭に付与される定型の記載(区切り)、即ち、ヘッダーを見分けるためのキーワードが事前に登録されている。また、メールの履歴文の印刷を行なう際に、何回まで遡った履歴文を印刷の対象とするかの回数が予め登録されている。これらのキーワードや回数設定は、PC1−2のディスプレイ上にWebブラウザにより表示される設定画面、プリンタドライバの設定画面やMFP1−3の操作パネルに表示される設定画面を用いて登録することができる。MFP1−3は、これらのキーワードや回数を保持するために不揮発性の記憶装置(図示せず)を備えている。その具体例は、ハードディスク装置やフラッシュメモリである。また、印刷処理を実行するためのCPUを備えている。
【0024】
電子メールのデータ(メールデータ)は、返信および/または転送を繰り返すことにより、返信および/または転送前のデータが履歴文として累積的に付加される。通常、履歴文は、メール本文の末尾に付加される。複数回の返信および/または転送を繰り返すと、複数の履歴文が付加される。その例は、図9に示すとおりである。この発明の一態様によれば、電子メールを印刷する際には、MFP1−3に登録された回数Nを超える履歴文は、印刷の対象から除外され、メール本文と直近のN回の履歴文のみが印刷される。この機能によって、印刷シートが節約できる。
図2は、この発明に係るMFP1−3に登録される各種のキーワード、回数設定などの内容を例示する説明図である。
【0025】
(メール本文を伴わない転送メールへの対応)
送受信される電子メールの中には、メール本文を伴わないもの、即ち、狭義の転送メール(フォワードメール、FWメール)がある。このような電子メールを印刷する際、全ての子メールを印刷の対象から除外すると、メールの内容がなにも印刷されないといった不具合が生じる。
【0026】
本発明の一態様によれば、メールの「件名」に着目し、フォワードメールか否かを判別する。即ち、前述のキーワードの一種として、フォワードメールを示す語「FW」が記載される項目名(FWキーワード、例えば、項目名「件名」)を事前に登録しておく。また、通常のフォワードメール専用の回数設定をそして、電子メールの「件名」が「FW」を含むか否かを判別する。件名に「FW」が含まれていた場合は、そのメールがフォワードメールであると判断する。
フォワードメールであると判断した場合、ユーザーがPC(1−2)でWeb設定や画像形成装置(1−3)のフロントパネルを用いて事前に設定登録(1−1)した、「全文印刷」や「世代(N)まで遡り印刷」などの設定を記憶することが出来る。
【0027】
(キーワードのユーザー登録)
また、メールソフトによっては、送受信のヘッダーの記載が異なることが考えられる。
そのため、ユーザーは、Webブラウザを用いて表示される設定画面やMFP1−3の操作パネルを通じて、キーワードの追加登録が行うことができる。登録されたキーワードは、ユーザー登録キーワードとして、前述の記憶装置内に格納される。図2は、この発明に係る前記記憶装置に格納されるデータの一例を示す説明図である。前記記憶装置に格納されたデータは、MFP1−3の設置時に予め登録されているキーワード2−1、FWキーワード2−3、ユーザーが追加登録できるユーザー登録キーワード2−4、同じくユーザーが追加登録できるユーザー登録FWキーワード2−6、日時チェックキーワード2−7および日付許容範囲2−8を含む。
【0028】
図2では、キーワード2−1として「From」、「Sent」、「To」、「差出人」、「送信日時」、「宛先」および「Original」が登録されている。
ユーザー登録キーワード2−4は、ユーザー毎に管理され、該当ユーザーからの印刷要求に対応して判別に使用されてもよい。
FWキーワード2−3は、FWメールを判断する際に使用するキーワードであり、MFP1−3の設置時に予め登録されているものである。
ユーザー登録FWキーワード2−6は、FWキーワードと同様の目的で使用され、ユーザー登録が登録可能なデータである。
日時チェックキーワード2−7および日付許容範囲2−8については、後述する。
【0029】
なお、前記記憶部は、上記のデータのほか、履歴文を含む電子メールを印刷する場合に、過去何回の履歴文まで遡って印刷対象とするかの設定値(世代の閾値)を格納する。その設定値は、ユーザー登録キーワードと同様に、ユーザーが設定画面や操作パネルを用いて登録および変更することができる。
【0030】
(日付チェック機能)
MFP1−3は、日付チェック機能を有する。日付チェック機能は、印刷しようとするメール本文の送信日付を抽出して印刷処理を行う日付と比較し、比較結果が前記記憶装置に予め記憶された範囲を超えるか否かに応じて、印刷対象のメールの処理を異ならせる機能である。例えば、前記範囲を超えるメールは印刷を行わないようにする機能である。日付チェック機能を実現するため、前記記憶装置は、日時チェックキーワード2−7および日付許容範囲2−8を格納する。日時チェックキーワード2−7は、印刷対象のメール本文の送信日付を抽出するために用いられる。また、日付許容範囲2−8は、抽出された送信日時が印刷処理を行う日付を基準とする範囲内にあるか否かの判断に用いられる。
【0031】
(処理手順)
以下、本発明の処理について、フローチャートに基づいて説明する。図3〜図7は、この発明に係る印刷の処理手順を示すフローチャートである。各処理は、MFP1−3が備える前記CPUによって実行される。
【0032】
(基本処理)
MFP1−3が備える前記記憶装置には、予めキーワード2−1が格納されている。キーワード2−1は、メールの送受信の区切りを判断するための文字列である。ユーザーの印刷指示により、印刷データがMFP1−3に送られてくると、MFP1−3は、それらの印刷データを受信バッファに格納する。
【0033】
受信バッファは、受信された印刷処理前の電子メールデータを一時的に格納しておくメモリ領域である。受信バッファは前記記憶装置内に設けられてもよいが、異なるハードウェアで実現されてもよい。不揮発性メモリである必要はなく、揮発性メモリでよい。前記CPUは、受信バッファに格納された印刷データを先頭から1行毎に読出して1行バッファと印刷待ちバッファへ移動させる。そして、1行バッファの内容を解析する。
【0034】
1行バッファは、電子メールデータの印刷に係る解析を行うため、1行ごとのデータを一時的に格納するメモリである。1行バッファは前記記憶装置内に設けられてもよいが、異なるハードウェアで実現されてもよい。印刷待ちバッファは、1行バッファに格納された印刷データが印刷対象か否かの判定を待つ間、それと同じ印刷データを格納しておくバッファである。前記CPUは、1行バッファに格納されたデータが印刷対象か否かを判断するが、印刷待ちバッファにアクセスすることもでき、その中に格納された印刷データを解析することもできる。印刷待ちバッファには複数行の電子メールデータが格納され得る。後述するように、前記CPUは、複数行に渡る印刷データの解析結果に基づいて、その印刷データが印刷の対象か否かを決定するからである。印刷待ちバッファに格納されたデータが印刷対象でないと判断した場合、前記CPUは、印刷待ちバッファの内容を印刷用に展開することなくクリアする。一方、前記データが印刷対象であると判断した場合、前記CPUは印刷待ちバッファの内容を前記レンダリング処理用のユニットに転送した後、印刷待ちバッファをクリアする。
【0035】
図8は、この発明の印刷処理に係る受信バッファ、1行バッファおよび印刷待ちバッファの構成例を示す説明図である。受信バッファおよび印刷待ちバッファはFIFO構造のバッファである。
前記CPUは、1行バッファ中の印刷データが、登録されたキーワード2−1を含むか否かを判断する。その判断結果に基づいて、印刷データ中の区切りを判別する。
【0036】
図3の処理を順序に従って電子メールの印刷データを受信した場合に前記CPUが実行する印刷処理の手順を説明する。なお、以下のフローチャートでは、処理の変数として、履歴文の世代をカウントする世代カウンタ(C)と、過去何回までの送受信を印刷対象に含めるかを定める履歴文の世代の閾値(N)が用いられる。前記閾値は、前記記憶装置に登録されている。この実施形態においては、前記閾値は1に設定(N=1)されているものとする。なお、世代カウンタは、処理開始時に初期値ゼロ(C=0)に設定される。N=1の場合、電子メールの印刷は、メール本文(以下、親メールデータともいう)と、履歴文(以下、子メールデータともいう)のうち直近の1回の送受信のみを印刷の対象とする。因みに、N=0の場合、履歴文は全く印刷されない。N=2であれば、メール本文と直近2回分の履歴文が印刷される。
【0037】
電子メールの印刷データを受信した場合、前記CPUは、前述の世代カウンタCを初期値(ゼロ)にリセットする。さらに、親メールが転送メールであることを示すフラグをリセットする(ステップS11)。そして、親メールデータのヘッダーの部分、即ち、「差出人」、「送信日時」、「宛先」、「件名」の項目がその順に最初に表れる部分およびそれに先立つ部分を受信バッファから読み出して、いったん印刷待ちのバッファに格納する。そして、前記CPUは印刷待ちバッファに格納された印刷データを印刷可能な形式に展開(レンダリング)するためのユニット(図示せず)に転送する。そして、印刷待ちバッファをクリアする。なお、レンダリング処理用のユニットへ転送された印刷用データは、レンダリング処理用の図示しないメモリ領域に格納された後、前記ユニットによりレンダリングされ印刷される。
【0038】
続いて、前記CPUは、親メールデータ(メール本文)のヘッダー、具体的には「件名」にフォワードメールを示す語「FW」が含まれるか否かを判定する(ステップS90)。「FW」が含まれない場合(ステップS90のNo)、即ち、その親メールが転送メールでない場合、ルーチンはステップS110Aへ進む。一方、親メールデータの「件名」に「FW」の語が含まれている場合(ステップS90のYes)、即ち、その親メールが転送メールである場合、ルーチンは図5に示す処理を実行する。図5の処理については後述する。
【0039】
親メールデータの「件名」に「FW」の語が含まれていない場合(ステップS90のNo)の処理を続けて説明する。その場合、前記CPUは、親メールが転送メールではないと判断し、続けてメール本文及び履歴文の印刷を行う。前記CPUは、受信バッファの内容を1行ずつ読み出して、それが履歴文のヘッダー部分に該当するか否かを調べつつ、印刷を行う。より詳細には、前記CPUは、まず、1行読み出し処理のサブルーチンを実行する(ステップS110A)。
【0040】
図7は、1行読出し処理のサブルーチンの処理を示すフローチャートである。図7で、前記CPUは、受信バッファに次の1行分の印刷データが格納されているか否かを判定する(ステップS111)。受信バッファが空であれば、印刷が完了したと判断して(ステップS111のYes)、ルーチンはステップS117へ進む。前記CPUは、印刷待ちバッファに格納されているデータを展開処理するユニットへ転送(ステップS117)した後、印刷待ちバッファをクリアし(ステップS119)、印刷の処理を終了する。一方、受信バッファが空でなく、次に印刷すべき印刷データが格納されている場合(ステップS111のNo)は、格納されている印刷データのうち先頭の1行を1行読出して1行読出しバッファに格納する(ステップS113)。さらに、1行読出しバッファの内容を印刷待ちバッファに追加する(ステップS115)。以上が、1行読出し処理の内容である。
【0041】
図3に戻り、ステップS110Aの後の説明を続ける。前記CPUは、1行バッファの内容が事前登録されているキーワード2−1と一致する文言を含むか否かをチェックする。まず、1行バッファの内容がキーワード「original」を含むか否かを判断する(ステップS121)。「original」を含まない場合(No)、前記CPUは、1行バッファの内容がヘッダー部分に該当しないと判断し、ルーチンはステップS130へ進む。そして、前記CPUは、印刷待ちバッファに格納されているデータを前述のレンダリング処理を行うユニットへ転送(ステップS130)した後、印刷待ちバッファをクリアする(ステップS131)。そして、次の1行を解析すべく、ステップS110Aからの処理を繰り返す。
【0042】
一方、前記ステップS121の判定で、1行バッファの内容が「original」を含む場合(No)、前記CPUは、1行バッファの内容がヘッダー部分に該当する可能性があると判断し、ルーチンは図4に示す処理の先頭(ステップS110B)へ進んでさらにヘッダー部分の判定をおこなう。
【0043】
図4のフローチャートについて説明する。図4で、前記CPUは、さらに1行読み出し処理のサブルーチンを実行する(ステップS110B)。そして、読み出した1行バッファの内容がキーワード「From」または「差出人」を含むか否かを判断する(ステップS123)。「From」または「差出人」を含まない場合(ステップS123のNo)、ルーチンは図3のステップS130へ進み、前記CPUは、印刷待ちバッファに格納されているデータを展開処理するユニットへ転送(ステップS130)した後、印刷待ちバッファをクリアする(ステップS131)。
【0044】
一方、1行バッファの内容が「From」または「差出人」を含む場合(ステップS123のYes)、前記CPUは次の1行を1行バッファと印刷待ちバッファに読み出すべく、1行読出し処理のサブルーチンを実行する(ステップS110C)。そして、更新された1行バッファの内容がキーワード「Sent」または「送信日時」を含むか否かを判断する(ステップS124)。「Sent」または「送信日時」を含まない場合(ステップS124のNo)、ルーチンは図3のステップS130へ進み、前記CPUは印刷待ちバッファに格納されているデータを印刷用に展開処理した後、印刷待ちバッファをクリアする(ステップS131)。
【0045】
一方、1行バッファの内容が「Sent」または「送信日時」を含む場合(ステップS124のYes)、前記CPUはさらに次の1行を1行バッファと印刷待ちバッファに読み出すべく、1行読出し処理のサブルーチンを実行する(ステップS110D)。そして、更新された1行バッファの内容がキーワード「To」または「宛先」を含むか否かを判断する(ステップS125)。「To」または「宛先」を含まない場合(ステップS125のNo)、ルーチンは図3のステップS130へ進み、前記CPUは、印刷待ちバッファに格納されているデータを印刷用に展開処理した後、印刷待ちバッファをクリアする(ステップS131)。「To」または「宛先」を含む場合(ステップS125のYes)、ルーチンは、図5のフローチャートの先頭(ステップS110E)へ進む。
【0046】
以上の判定により、前記CPUはキーワード「original」、「From」または「差出人」、「Sent」または「送信日時」、「To」または「宛先」が、行ごとに前記の順番で続けて表れる場合、それらの行が履歴文の「区切り」に該当すると判断する。そして、さらに図5の履歴文の世代カウントの処理へ進む。一方、前記の条件に該当しないと判断した場合、各行は図3のステップS130、S131の処理を経ることにより印刷用に展開される。即ち、印刷の対象として処理される。
【0047】
(履歴文解析処理)
図5の処理につき、さらに説明を続ける。キーワード「From」または「差出人」、「Sent」または「送信日時」、「To」または「宛先」が行ごとに前記の順番で続けて表れる場合、前記CPUはそれらを履歴文のヘッダーと判断し、図5のステップS110E以降の処理を行う。
【0048】
前記CPUは、次の1行を1行バッファと印刷待ちバッファに読み出すべく、1行読出し処理のサブルーチンを実行する(ステップS110E)。1行読出しバッファの内容がFWキーワード「Subject」または「件名」を含む場合、ルーチンはステップS160へ進み、1行読出しバッファの内容が、フォワードメールを示す語「FW」を含むか否かを判断する(ステップS160)。これは、親メールが転送メールでない場合において、履歴文に転送メールが含まれる場合、その転送メールからN世代(NはMFP1−3に登録された回数設定)遡った履歴文までを印刷しそれより古い履歴文は印刷しないようにするためである。前述の判断の結果、1行読出しバッファの内容が「FW」を含まない場合(ステップS160のNo)、前記CPUはそのヘッダーが転送メールのものでないと判断し、ルーチンはステップS180へ進む。ステップS180では、日付チェック機能に係る判定を行う。
【0049】
一方、1行読出しバッファの内容が「FW」を含む場合(ステップS160のYes)、前記CPUは、そのヘッダーが転送メールのものであると判断し、まず、履歴文を含む電子メールを全文印刷するよう設定されているか否かを判断する(ステップS240)。全文印刷をするように設定されている場合(ステップS240のYes)は、これ以降、区切りの判定をやめ、残りの各行をすべて印刷する処理を実行する(ステップS230)。そして、処理を終了する。
【0050】
一方、全文印刷するように設定されていない場合(ステップS240のNo)、前記CPUは、親メールがFWメールか否かを判断する(ステップS250)。これは、前述した図3のステップS90の判定結果に基づく。親メールが転送メールと判断された場合(ステップS250のYes)、子メール中に転送メールがあるか否かに係らず、親メールからN世代の履歴文までを印刷し、それ以降の履歴文を印刷しないようにするための判断である。一方、親メールが転送メールでない場合(ステップS250のNo)、子メールの転送メールを起点としてN世代の履歴文までを印刷するため、の判断である。親メールが転送メールでない場合、前記CPUは、履歴文の世代カウントタCをリセットする(ステップS170)。従って、例えば、親メールが転送メールでなく、かつ、子メールの履歴文に転送メールが連続して存在する場合、最も古い転送メールを起点としてN世代の履歴文までが印刷される。その後、ルーチンはステップS180の日付チェック機能の処理へ進む。
【0051】
一方、前記ステップS250で、親メールが転送メールの場合(ステップS250のYes)、世代カウントタCをリセットすることなく、ルーチンはステップS180の日付チェック機能の処理へ進む。
【0052】
ステップS180、S190は日付チェック機能の処理である。日付チェック機能の処理について説明する。ステップS180で、前記CPUは、印刷待ちバッファに格納された印刷データのうち、日時チェックキーワード2−7を含む項目を特定し、その項目の内容、即ち送信日時を抽出する。そして、抽出された送受信日時と印刷処理の要求があった日とを比較する(ステップS190)。即ち、件名の内容に含まれる日付が、印刷処理の要求があった日時を基準として日付許容範囲2−8の範囲内にあるか否かを判断する。その結果、範囲内であれば(ステップS190のYes)、ルーチンはステップS200へ進み、履歴文の世代を判定する。
【0053】
一方、前記ステップS190で、件名の内容に含まれる日付が、日付許容範囲2−8の範囲を超えている場合(ステップS190のNo)、ルーチンはステップS201へ進み、印刷待ちバッファをクリアし、その電子メールを印刷することなく、処理を終了する。その結果、ヘッダー部分の「Sent」または「送信日付」に日付許容範囲を超える日付が含まれている場合はその履歴文およびそれ以降に記載されている履歴文、即ち、それより古い履歴文は印刷されない。
【0054】
ステップS200、S203およびS135は、子メールの転送メールからN世代まで遡って履歴文は印刷し、それよりも古い履歴文は印刷しないための世代の判定処理である。ステップS200で、前記CPUは、履歴文の世代カウントタCが、登録されたNの値と等しいか否かを判断する(ステップS203)。ここで、世代カウンタCは、図3のステップS11の初期化処理でゼロにリセットされる。また、親メールが転送メールでなく、かつ、子メールが転送メールである場合ゼロにリセットされる。そして、この判定結果がNoの場合、その直後にカウンタ値が+1される(ステップS135)。
【0055】
例えば、ステップS90で親メールが転送メールであると判断された場合、親メールの内容と、1世代目の履歴文のヘッダーが印刷バッファに格納され、かつC=0の状態でステップS203の第1回目の判定がなされる。その場合の判定結果はC≠N、即ちNoである。ただし、この実施形態ではN=1である。その結果、ルーチンはステップS135へ進み、世代カウンタCの値を+1した(C=1)後、ステップS130、S131の処理へ進み、第1世代目の履歴文の印刷が行われる。さらに、印刷処理が進み、2世代目の履歴文のヘッダーが見つかった場合、ステップS203の第2回目の処理が行われる。この場合、2世代目の履歴文のヘッダーが印刷バッファに格納され、かつC=1の状態でステップS203の判断がされる。その判定結果はC=N(ただし、N=1)、即ちYesである。その結果、ルーチンは、ステップS201へ進み、印刷待ちバッファをクリアして印刷処理を終了する。従って、第2世代目およびそれより過去の世代の履歴文、即ち、第2世代以前の履歴文は印刷されない。
【0056】
また、例えば、親メールが転送メールでない場合、第1世代の履歴文のヘッダーが印刷バッファに格納され、かつC=0の状態でステップS203の第1回目の判定がなされる。その場合の判定結果はC≠N、即ちNoであり、1世代目の履歴文の印刷が行われる。続いて、2世代目の履歴文のヘッダーが見つかった場合、ステップS203の第2回目の判定が行われる。この場合、転送メールから2世代目の履歴文のヘッダーが印刷バッファに格納され、かつC=1の状態でステップS203の判断がされる。判定結果はC=N、即ちYesである。従って、第2世代およびそれより過去の世代の履歴文は印刷されない。
【0057】
ただし、2世代目の履歴文が転送メールの場合、ステップS170で世代カウンタCはクリアされた後にステップS203の第2回目の判定が行われる。その場合の判定結果はC≠N、即ちNoであり、2世代目の履歴文の印刷が行われる。さらに、3世代目の履歴文のヘッダーが見つかった場合、ステップS203の第3回目の判定が行われる。この場合、転送メールから3世代目の履歴文のヘッダーが印刷バッファに格納され、かつC=1の状態でステップS203の判断がされる。判定結果はC=N、即ちYesである。従って、第3世代およびそれより過去の世代の履歴文は印刷されない。
【0058】
ただし、この場合も3世代目の履歴文が転送メールの場合、ステップS170で世代カウンタCはクリアされた後にステップS203の第3回目の判定が行われる。その場合の判定結果はC≠N、即ちNoであり、3世代目の履歴文の印刷が行われる。以上のように、子メールの履歴文が転送メールであれば、それを起点としてN世代まで過去に遡り履歴文が印刷される。
【0059】
続いて、図3のステップS90で、親メールの「件名」に転送メールを表すキーワード「FW」が含まれている場合、即ち、親メールが転送メールであると判断した場合の処理について説明する。図6は、その場合の処理の手順を示すフローチャートである。前記判断の結果、ルーチンは図6のステップS300へ進む。ステップS300で、前記CPUは、全文印刷するように設定されているか否かを判断する。全文印刷をするように設定されている場合(ステップS300のYes)は、これ以降、区切りの判定をやめ、残りの各行をすべて印刷する処理を実行する(ステップS330)。そして、処理を終了する。
【0060】
一方、全文印刷するように設定されていない場合(ステップS300のNo)、前記CPUは、親メールが転送メールであることを示すフラグをセットする(ステップS310)。このフラグは、前述した図5のステップS250の判定に用いられる。親メールが転送メールの場合は、子メールに転送メールが含まれていてもステップS170の処理へ進まない。即ち、世代カウンタはリセットされない。従って、親メールからN世代目までの履歴文が印刷され、それより過去の世代の履歴文は印刷されない。
ステップS310でフラグをセットした後、ルーチンは図3のステップS130の処理へ進み、親メールのヘッダーに続く部分の解析および印刷の処理を行う。
【0061】
図10は、図9に対応する電子メールのデータを、この発明による印刷方法により印刷した結果の一例を示す説明図である。図9の電子メールは、親メールは転送メールでないが、メール本文のあとに転送メールが続く。図10に示すように、この発明の一実施形態によれば、N=1の場合、親メールの内容と第1世代の履歴文のみが印刷され、それ以前の履歴文は印刷されない。
【0062】
前述の処理手順から容易に理解できるように、例えば、N=2の場合は、メール本文と直近から2回目までの履歴文が印刷され、それ以前の履歴文は印刷されない。なお、Nが、印刷すべき電子メールのデータ中の履歴文の世代数より大きい場合、受信バッファから印刷データを読出し、履歴文の世代をカウントしながら各行を印刷している途中で印刷データの末尾に至る。その場合、前記CPUは、1行読出し処理(図6)のステップS111の判定で受信バッファが空であると判断し、S117,S119の処理によって最終行まで印刷を行うように処理したのち印刷処理を終了する。
【0063】
(印刷結果の例)
図10〜図13は、本発明による印刷方法を用いた場合に得られる印刷の一例を示す説明図である。
図10は、この発明において、前記CPUが、図3〜7のフローチャートの処理に従って履歴文の世代を判別し、子メールの転送メールから1世代目までの内容が印刷された例を示している。
図11は、この発明において、全文印刷が登録されている場合の印刷結果の一例を示している。全文印刷が指定されている場合は、従来の印刷結果と相違がない。
【0064】
図12および図13は、日付チェック機能に関する印刷結果の例を示す説明図である。図12は、日付チェック機能を用いない場合の印刷結果の一例である。5世代にわたる子メールの送信日時はそれぞれAugust 20, 2008, 7:30PM、August 20, 2008, 7:30PM、August 19, 2008, 7:29PM、August 18, 2008 7:29PM、August 17, 2008 7:28PMである。親メールの日付は、August 21, 2008 7:31PMとする。
それに対して、図13は、日付機能が設定されており、日付許容範囲が2日の場合の印刷結果の例である。親メールの日付から2日以内、即ち8月19日以降に送信された1〜3世代目の履歴文までは印刷されるが、それより過去、即ち、8月19日より前の履歴文は印刷されない。
【0065】
(変形例その1)
変形例として、履歴文の印刷条件を、履歴文以外のメール本文データと異ならせて印刷する態様について説明する。この態様によれば、履歴文をメール本文と同じ印刷条件で印刷する場合に比べて履歴文の印字に要するトナーやシートを節約することができる。
【0066】
この場合、印刷待ちバッファのデータとして、文字データのほかに、フォント大きさや印刷濃度を規定する印刷条件が1行ごとに付与される。印刷条件を付与する具体的なタイミングは、図5の一行読み出し処理(ステップS110E)の直後である。ステップS110Eで、印刷待ちバッファに1行読出しバッファのデータが追加されるごとに、追加された1行のデータに対して予め決められたフォントサイズおよび/または印刷濃度を示す印刷条件が制御データとして付与される。
【0067】
ここで、ステップS110Eの一行読出し処理で印刷待ちバッファに追加される各印刷データは履歴文である。従って、メール本文として印刷待ちバッファに追加される印刷データに比べて、履歴文として印刷待ちバッファに付与される印刷条件は、小さなフォントサイズおよび/または低い印刷濃度で印刷される。その他、前記印刷条件として密な行間隔や文字間隔が履歴文に付与されてもよい。
【0068】
(変形例その2)
異なる変形例として、印刷前に、履歴文の印刷の要否をユーザーに確認する態様について説明する。この態様によれば、メールを印刷する前に、ユーザーに履歴文の要否を確認する表示を行い、ユーザーにより履歴文の印刷が指示された場合にのみ履歴文の印刷を実施する。このようにすれば、ユーザーが意識しないうちに不要な履歴文が印刷されることが防止できる。従って、不要な履歴文の印刷によるトナーや印刷シートの消費を抑制することができる。
【0069】
具体的には、電子メールの印刷を開始する前に、履歴文の要否をユーザーに確認するダイアログを表示する。その表示に応答してユーザーが履歴文の印刷を指示した場合は、図9の印刷例のように履歴文を含む通常の印刷処理を行い、履歴文の抽出と削除に係る処理を行わない。一方、前記表示に応答してユーザーが履歴文の削除を指示した場合は、履歴文の抽出と削除に係る処理を行ない、図10、図12または図13の印刷例のように、履歴文の少なくとも一部が削除された印刷を行なう。
【0070】
前述した実施の形態の他にも、この発明について種々の変形例があり得る。それらの変形例は、この発明の範囲に属さないと解されるべきものではない。この発明には、請求の範囲と均等の意味および前記範囲内でのすべての変形とが含まれるべきである。
【図面の簡単な説明】
【0071】
【図1】本発明に係る電子メールの印刷を行うシステムの構成例を示す説明図である。
【図2】この発明に係るMFPに登録される各種のキーワード、回数設定などの内容を例示する説明図である。
【図3】この発明に係る印刷の処理手順を示す第1のフローチャートである。
【図4】この発明に係る印刷の処理手順を示す第2のフローチャートである。
【図5】この発明に係る印刷の処理手順を示す第3のフローチャートである。
【図6】この発明に係る印刷の処理手順を示す第4のフローチャートである。
【図7】この発明に係る印刷の処理手順を示す第5のフローチャートである。
【図8】この発明の印刷処理に係る受信バッファ、1行バッファおよび印刷待ちバッファの構成例を示す説明図である。
【図9】従来の電子メールの印刷結果の一例を示す説明図である。
【図10】本発明による印刷方法を用いた場合に得られる印刷の一例を示す説明図である。
【図11】本発明による印刷方法を用いた場合に得られる印刷の一例を示す説明図である。
【図12】本発明による印刷方法を用いた場合に得られる印刷の一例を示す説明図である。
【図13】本発明による印刷方法を用いた場合に得られる印刷の一例を示す説明図である。
【符号の説明】
【0072】
1−1:設定画面
1−2:パーソナルコンピュータ(PC)
1−3:画像形成装置、デジタル複合機、MFP
1−4:プリンタドライバの設定画面
2−1:キーワード
2−3:FWキーワード
2−4:ユーザー登録キーワード
2−6:ユーザー登録FWキーワード
2−7:日時チェックキーワード
2−8:日付許容範囲
【特許請求の範囲】
【請求項1】
電子メールのデータを印刷のために取得する工程と、
前記データのうち1回以上のメール返信および/または1回以上のメール転送によりメール本文のあとに累積的に付加される1以上の履歴文とメール本文との間および履歴文の相互の間を区切る区切りを、判別する区切り工程と、
判別結果に基づいて所定の世代まで遡る履歴文は印刷対象とし、所定の世代より過去の世代の履歴文は印刷の対象から除外する除外工程と、
メール本文および印刷対象とされた履歴文を印刷装置で印刷する印刷工程とを備え、
コンピュータが各工程を処理することを特徴とする電子メールの印刷方法。
【請求項2】
前記区切り判別工程は、予め登録されたキーワードと電子メールのデータに含まれる語とを比較することにより区切りを判別する請求項1に記載の印刷方法。
【請求項3】
前記メール本文および履歴文は、件名を表す項目を含み、
前記除外工程は、履歴文の件名に転送メ―ルを示すキーワードが含まれるか否かを判断し、前記キーワードが件名に含まれている場合はその件名に係る履歴文を起点として所定の世代まで遡る履歴文は印刷対象とし、所定の世代より過去の世代の履歴文は印刷の対象から除外する請求項1または2に記載の印刷方法。
【請求項4】
ユーザー別のキーワードをメモリに登録する工程をさらに備え、
前記区切り工程は、予め登録されたキーワードに加え、または、予め登録されたキーワードに代えて、ユーザー別にメモリに登録されたキーワードとの比較により区切りを判別する請求項1〜3の何れか一つに記載の印刷方法。
【請求項5】
前記メール本文および履歴文は、その通信日付を表す項目を含み、
前記通信日付に基づいて、履歴文がメール本文として通信された通信日付を判別する工程をさらに備え、
前記除外工程は、各履歴文の通信日付が予め登録された期間に含まれるか否かを比較し、比較結果に応じて各履歴文を印刷対象とするか印刷対象から除外するかを決定する請求項1〜4の何れか一つに記載の印刷方法。
【請求項6】
前記印刷工程は、印刷対象とされた履歴文をメール本文よりも低い印刷濃度で印刷するか、あるいは、メール本文よりも印字スペースを節約して印刷する請求項1〜5の何れか一つに記載の印刷方法。
【請求項7】
取得された電子メールの印刷に先立ち、履歴文を印刷対象から除外すべきか否かの指示入力をユーザーに求める確認工程をさらに備え、
前記確認工程は、履歴文を印刷対象から除外すべき旨の指示があった場合は、前記区切り工程および除外工程が実行され、履歴文を印刷対象から除外しない旨の指示があった場合は前記区切り工程および除外工程が省略されるように処理する請求項1〜6の何れか一つの記載の印刷方法。
【請求項8】
印刷用に電子メールのデータを取得するデータ取得部と、
前記データのうち1回以上のメール返信および/または1回以上のメール転送によりメール本文のあとに累積的に付加される1以上の履歴文とメール本文との間および履歴文の相互の間を区切る区切りを判別する区切り判別部と、
判別結果に基づいて所定の世代まで遡る履歴文は印刷対象とし、所定の世代より過去の世代の履歴文は印刷の対象から除外する履歴文除外部と、
メール本文および印刷対象とされた履歴文を印刷する印刷部とを備えることを特徴とする印刷装置。
【請求項1】
電子メールのデータを印刷のために取得する工程と、
前記データのうち1回以上のメール返信および/または1回以上のメール転送によりメール本文のあとに累積的に付加される1以上の履歴文とメール本文との間および履歴文の相互の間を区切る区切りを、判別する区切り工程と、
判別結果に基づいて所定の世代まで遡る履歴文は印刷対象とし、所定の世代より過去の世代の履歴文は印刷の対象から除外する除外工程と、
メール本文および印刷対象とされた履歴文を印刷装置で印刷する印刷工程とを備え、
コンピュータが各工程を処理することを特徴とする電子メールの印刷方法。
【請求項2】
前記区切り判別工程は、予め登録されたキーワードと電子メールのデータに含まれる語とを比較することにより区切りを判別する請求項1に記載の印刷方法。
【請求項3】
前記メール本文および履歴文は、件名を表す項目を含み、
前記除外工程は、履歴文の件名に転送メ―ルを示すキーワードが含まれるか否かを判断し、前記キーワードが件名に含まれている場合はその件名に係る履歴文を起点として所定の世代まで遡る履歴文は印刷対象とし、所定の世代より過去の世代の履歴文は印刷の対象から除外する請求項1または2に記載の印刷方法。
【請求項4】
ユーザー別のキーワードをメモリに登録する工程をさらに備え、
前記区切り工程は、予め登録されたキーワードに加え、または、予め登録されたキーワードに代えて、ユーザー別にメモリに登録されたキーワードとの比較により区切りを判別する請求項1〜3の何れか一つに記載の印刷方法。
【請求項5】
前記メール本文および履歴文は、その通信日付を表す項目を含み、
前記通信日付に基づいて、履歴文がメール本文として通信された通信日付を判別する工程をさらに備え、
前記除外工程は、各履歴文の通信日付が予め登録された期間に含まれるか否かを比較し、比較結果に応じて各履歴文を印刷対象とするか印刷対象から除外するかを決定する請求項1〜4の何れか一つに記載の印刷方法。
【請求項6】
前記印刷工程は、印刷対象とされた履歴文をメール本文よりも低い印刷濃度で印刷するか、あるいは、メール本文よりも印字スペースを節約して印刷する請求項1〜5の何れか一つに記載の印刷方法。
【請求項7】
取得された電子メールの印刷に先立ち、履歴文を印刷対象から除外すべきか否かの指示入力をユーザーに求める確認工程をさらに備え、
前記確認工程は、履歴文を印刷対象から除外すべき旨の指示があった場合は、前記区切り工程および除外工程が実行され、履歴文を印刷対象から除外しない旨の指示があった場合は前記区切り工程および除外工程が省略されるように処理する請求項1〜6の何れか一つの記載の印刷方法。
【請求項8】
印刷用に電子メールのデータを取得するデータ取得部と、
前記データのうち1回以上のメール返信および/または1回以上のメール転送によりメール本文のあとに累積的に付加される1以上の履歴文とメール本文との間および履歴文の相互の間を区切る区切りを判別する区切り判別部と、
判別結果に基づいて所定の世代まで遡る履歴文は印刷対象とし、所定の世代より過去の世代の履歴文は印刷の対象から除外する履歴文除外部と、
メール本文および印刷対象とされた履歴文を印刷する印刷部とを備えることを特徴とする印刷装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2010−122967(P2010−122967A)
【公開日】平成22年6月3日(2010.6.3)
【国際特許分類】
【出願番号】特願2008−296883(P2008−296883)
【出願日】平成20年11月20日(2008.11.20)
【出願人】(000005049)シャープ株式会社 (33,933)
【Fターム(参考)】
【公開日】平成22年6月3日(2010.6.3)
【国際特許分類】
【出願日】平成20年11月20日(2008.11.20)
【出願人】(000005049)シャープ株式会社 (33,933)
【Fターム(参考)】
[ Back to top ]