本発明の実施形態について、図面を参照して説明する。まず、図1を参照し、画像生成システム1の概要について説明する。画像生成システム1には、画像生成装置2、端末装置3A,3B,3C等(以下、総称して「端末装置3」という。)、サーバ5、及び、アクセスポイント7が含まれる。画像生成装置2、端末装置3、サーバ5、及び、アクセスポイント7は、LAN、WAN等のネットワーク8に接続する。端末装置3は、アクセスポイント7を介してネットワーク8に無線で接続する。画像生成装置2、端末装置3、サーバ5、及び、アクセスポイント7は、ネットワーク8を介して相互に通信可能である。
画像生成装置2は、スキャナ機能及びプリンタ機能を、1つの筐体内に収納した複合機である。画像生成装置2は、スキャナ機能及びプリンタ機能に加えて、コピー、ファクシミリ等の他の機能を備えるものであってもよい。画像生成装置2は、種々の印刷物又は手書き文字等の記入された所定の用紙等の画像を撮像する読取動作を行い、画像データを生成する。また、画像生成装置2は、生成された画像データに基づいて、紙等の印刷媒体への印刷を実行する。
画像生成装置2の電気的構成について説明する。画像生成装置2は、画像生成装置2を制御するCPU21を備える。CPU21は、ROM22、RAM23、記憶部24、通信I/F25、読取部26、操作部27、及び、駆動回路29と、非図示のインタフェース回路を介して電気的に接続する。ROM22には、ブートプログラム、BIOS等が記憶される。RAM23には、タイマやカウンタ、フラグデータ、一時的なデータ等が記憶される。記憶部24は、コンピュータが読取可能な非一時的な記憶媒体、例えば、ハードディスク等で構成される。記憶部24には、CPU21が実行する処理のプログラム、OS、及び、後述する各種テーブル(図3及び図4参照)が記憶される。
通信I/F25は、画像生成装置2がネットワーク8に接続するためのインタフェース素子(例えば、LANカードなど)である。CPU21は、通信I/F25を介して、ネットワーク8に接続する他の機器とデータの送受信を行う。
なお、記憶部24は、例えば、フラッシュメモリ及び/又はROM等、他の記憶媒体で構成されてもよい。非一時的な記憶媒体は、情報を記憶する期間に関わらず、情報を記憶可能な記憶媒体であればよい。非一時的な記憶媒体は、一時的な記憶媒体(例えば、伝達される信号)を含まなくてもよい。CPU21として、汎用的なプロセッサが用いられてもよい。CPU21によって実行される処理の一部は、他の電子部品(例えば、ASIC)によって実行されてもよい。CPU21によって実行される処理は、複数の電子機器(つまり、複数のCPU)によって分散処理されてもよい。プログラムは、例えば、ネットワーク8に接続された別のサーバからダウンロードされて、すなわち、伝送信号として送信され、記憶部24に記憶されてもよい。この場合、プログラムは、サーバ5等の別のサーバに備えられたハードディスク等の非一時的な記憶媒体に保存されていることとなる。
読取部26は、画像生成装置2の筐体上部に設けられた、シートフィードスキャナ、又は、フラットベッドスキャナである。読取部26は、周知の接触型イメージセンサを備える。読取部26は、読み取ったアナログの画像をデジタルの画像データに変換する。読取部26は、変換された画像データを、CPU21に送信する。操作部27は、電源スイッチ及び操作ボタン(図示せず)を含む。画像生成装置2における各種設定、使用時における各種操作、電源のオンオフ操作等は、操作部37に対して入力される。
駆動回路29は、CPU31から出力される信号に応じて、印刷ヘッド29Aを駆動することで、印刷媒体に対する印刷を実現する。印刷ヘッド29Aは、印刷媒体に対してインクを吐出するインクジェットヘッド、インクリボンに熱を加えて気化させたインクを印刷媒体に付着させるサーマルヘッド、印刷ヘッドに並べたピンをインクリボンに叩きつけて印刷媒体に印刷を行うドットインパクトヘッド等であってもよい。また、印刷ヘッド29Aは、感光体に付着させたトナーを用紙に転写して印刷する、レーザープリンタに代表される電子写真方式の印刷ヘッドであってもよい。
端末装置3の電気的構成について説明する。端末装置3は、汎用のスマートフォン及び汎用のタブレットPCを含む。端末装置3は、端末装置3を制御するCPU31を備える。CPU31は、RAM33、記憶部34、通信I/F35、操作部37、表示部38、及び、カメラ39と、非図示のインタフェース回路を介して電気的に接続する。RAM23には、タイマやカウンタ、フラグデータ、一時的なデータ等が記憶される。記憶部34は、コンピュータが読取可能な非一時的な記憶媒体、例えば、フラッシュメモリ等で構成される。記憶部34には、CPU31が実行する処理のプログラム及びOS等が記憶される。
通信I/F35は、端末装置3がネットワーク8に接続するためのインタフェース素子(例えば、無線LANモジュール等)である。CPU31は、通信I/F35を介して、ネットワーク8に接続する他の機器とデータの送受信を行う。操作部37は、端末装置3に設けられる操作キー、タッチパネル等を含む。表示部38は、各種の画像データに対応する画像を表示可能である。表示部38の大きさ、画面解像度等、表示部38の仕様は、端末装置3の型番等によって様々である。カメラ39は、静止画及び動画を撮像可能である。
サーバ5の電気的構成について説明する。サーバ5は、サーバ5を制御するCPU51を備える。CPU51は、ROM52、RAM53、記憶部54、通信I/F55、ドライブ装置56と、非図示のインタフェース回路を介して電気的に接続する。ROM52には、ブートプログラム、BIOS等が記憶される。RAM53には、タイマやカウンタ、フラグデータ、一時的なデータ等が記憶される。記憶部54は、コンピュータが読取可能な非一時的な記憶媒体、例えば、ハードディスク等で構成される。記憶部54には、CPU21が実行する処理のプログラム、OS等が記憶される。
通信I/F55は、画像生成装置2がネットワーク8に接続するためのインタフェース素子(例えば、LANカードなど)である。CPU51は、通信I/F55を介して、ネットワーク8に接続する他の機器とデータの送受信を行う。ドライブ装置56は、半導体メモリや光ディスク等のコンピュータが読取可能な記憶媒体56Aに記憶された情報を読み出すことができる。CPU21は、記憶媒体56Aに記憶されたプログラムをドライブ装置56によって読み出し、記憶部54に記憶できる。
図2を参照して、第一画像80、第二画像90、余白部分81について説明する。第一画像80は、画像生成装置2の読取部26によって読み取られた画像である。図2の(A)に示すように、第一画像80は、文字、図形等を含むことがある。また、第一画像80は、カラーの画像として読み取られることもあるし、グレー画像、又は、白黒の画像として読み取られることもある。第一画像80の縦横の長さは、読取部26によって読み取られた原稿の縦横の長さに応じて定まる。ここで、第一画像80の縦方向の長さをMとする。第一画像80の横方向の長さをLとする。本実施形態において、L及びMは、第一画像80が、読取部26によってデジタルの画像データに変換された第一画像データの示す画素数で示される。
図2の(B)に示すように、第二画像90は、第一画像80から、第一画像80の余白部分81(灰色で示した部分)の画像が削除された画像である。第一画像80の余白部分81は、第一画像80において文字、図形等が付されていない部分である。余白部分81は、第一画像80の余白に相当する画像の部分である。本実施形態では、第一画像80を示すデジタルの画像データを取得したCPU21は、第一画像80の四隅の余白部分81を切り落とした画像に相当する第二画像90を示す第二画像データを生成する。なお、第一画像80の右下部には、ページ数を示す数字「19」が付されているので、数字「19」が含まれた第二画像90が生成される。
余白データは、第一画像80から削除された、第一画像80の余白部分81の画像が、第一画像80に占める範囲を示すデータである。図2の(B)に示すように、第一画像80の左端部、右端部、上端部、下端部における余白部分81の幅が、それぞれ、A1,A2,B1,B2であるとする。A1,A2,B1,B2が、画素数で表示されているとすると、第一画像80の左上角の位置をx−y座標の原点P(0,0)として、第二画像90の左上、右上、右下、及び、左下のそれぞれの角を示す点Q,R,T,Uを座標表示できる。図2の(B)の例では、点Q(A1,B1)、点R(L−A2,B1)、点T(L−A2,M−B2)、点U(A1,M−B2)と表示される。本実施形態では、CPU21は、原点Pに対して点Q,R,T,Uを座標表示したデータ、及び、第二画像90の外縁部に配置される余白部分81の幅であるA1,A2,B1,B2を示すデータを、余白データとして生成する。
図3及び図4を参照し、画像生成装置2の記憶部24に記憶される各種データベース(以下、「DB」という。)の概要について説明する。画像生成装置2の記憶部24には、端末種別DB60及び画像DB70が記憶される。
図3に示すように、端末種別DB60には、端末種別ID、画面解像度情報、表示アスペクト比情報が関連付けて記憶される。端末種別IDは、端末装置3の型番等によって規定される端末装置3の種別を識別する識別情報である。端末装置3の表示部38に表示可能な縦方向の画素数及び縦方向の画素数を、以下、「画面解像度」という。画面解像度情報は、画面解像度を示す。画面解像度の示す縦方向の画素数と縦方向の画素数との比率を、以下、「表示アスペクト比」という。表示アスペクト比情報は、表示アスペクト比を示す。例えば、「T001」の端末種別IDに関連付けられている画面解像度及び表示アスペクト比は、それぞれ、「1334×750」及び「16:9」を示す情報である。「T006」の端末種別IDに関連付けられている画面解像度及び表示アスペクト比は、それぞれ、「960×640」及び「3:2」を示す情報である。画像生成システム1は、端末種別DB60を記憶部24に記憶することで、端末装置3の種別によって様々である表示部38の画像表示仕様を、端末種別IDに応じて識別できる。
図4に示すように、画像DB70には、画像ID、第二画像データ、余白データ、読取サイズ情報、読取解像度情報、色モード情報が関連付けて記憶される。画像IDは、画像DB70に情報が記憶される場合に、情報毎に、CPU21によって付与されるIDである。第二画像データは、先述の第一画像80を示すデジタルの画像データに基づいて、CPU21によって生成されたデータである。余白データは、先述の、第一画像80の余白部分81の画像が、第一画像80に占める範囲を示すデータである。
読取サイズ情報は、第一画像80が画像生成装置2の読取部26によって読み取られた原稿の用紙サイズを示す。用紙サイズは、JIS規格による「A4」、「B5」等の他、「Letter」、「Leagal」等の様々な用紙サイズを含みうる。なお、「A4」の用紙サイズは、横210mm、縦297mmである。「Letter」の用紙サイズは、横215.9mm、縦270.4mmである。「Leagal」の用紙サイズは、横215.9mm、縦355.6mmである。読取解像度情報は、第一画像80が画像生成装置2の読取部26によって読み取られたときの読取解像度を示す。色モード情報は、第一画像80がカラー画像、グレー画像、及び白黒画像のいずれの画像として読み取られたかを示す。
読取サイズ情報、読取解像度情報、及び、色モード情報は、第一画像80が画像生成装置2の読取部26によって読み取られたときにおける、読取部26の原稿読取設定に基づいて取得され、画像DB70に記憶される。原稿読取設定の内容は、例えば、操作部27を介して画像生成装置2に入力される原稿の画像の読み取りを開始する指示に応じて設定される。以下、読取サイズ情報、読取解像度情報、及び、色モード情報を総称して、読取設定情報ともいう。読取設定情報は、原稿の画像の読取結果に応じて取得されてもよい。例えば、読取部26によって読み取られた画像のサイズに基づいて、読取サイズ情報が取得されてもよい。読取解像度情報、及び、色モード情報についても同様である。
図5を参照して、画像表示処理について説明する。画像表示処理は、第一画像80を示す第一画像データに基づいて、端末装置3の表示部38の画像表示仕様に応じた画像を生成するとともに、生成された画像を示すデータを端末装置3に送信する処理である。CPU21は、操作部27を介して、又は、ネットワーク8を介して端末装置3から原稿の画像の読み取りを開始する指示が取得された場合、記憶部24に記憶されたプログラムを読み出して実行することによって、画像表示処理を開始する。なお、画像生成装置2と端末装置3との通信において、画像生成装置2は、端末装置3に対してwebサーバとして動作する。画像生成装置2と端末装置3との通信には、例えば、HTTP(Hypertext Transfer Protocol)、SOAP(Simple Object Access Protocol)等の所定のプロトコルが用いられる。
画像表示処理が開始されると、CPU21は、画像読取を実行する(S11)。具体的には、CPU21は、読取部26に対して画像読取動作を行う指示を送信する。指示を受信した読取部26は、原稿を読み取り、読み取った画像である第一画像80を生成する。読取部26は、生成されたアナログの第一画像80を、第一画像80を示すデータである第一画像データに変換する。読取部26は、第一画像データを、CPU21に送信する。CPU21は、読取部26から送信される第一画像データを取得する(S12)。CPU21は、第一画像80を、デジタルの第一画像データに変換する。CPU21は、第一画像データをRAM23に記憶する。
CPU21は、読取設定情報を取得する(S13)。CPU21は、取得された読取設定情報である読取サイズ情報、読取解像度情報、及び、色モード情報に、画像IDを付与して、画像DB70に記憶する。
CPU21は、表示画像生成処理を実行し(S15)、画像表示処理を終了する。表示画像生成処理では、端末装置3から送信される表示要求情報に応じて、端末装置3の表示部38の画像表示仕様に応じた画像が生成される。また、表示画像生成処理では、生成された画像を示すデータが、端末装置3に出力される。
図6及び図7を参照して、表示画像生成処理(S15、図5参照)について説明する。図6に示すように、表示画像生成処理が開始されると、CPU21は、端末装置3から送信される表示要求情報を、ネットワーク8を介して受信したかを判断する(S21)。表示要求情報は、読取部26によって読み取られた第一画像80に関する画像を表示部38に表示させることを要求するための情報である。CPU21は、表示要求情報を受信していないと判断した場合(S21:NO)、処理をS21に戻す。CPU21は、表示要求情報の受信を継続して監視する。
端末装置3のユーザが、読取部26によって読み取られた第一画像80に関する画像の表示を要求する指示を、操作部37を介して端末装置3に入力した場合、端末装置3のCPU31は、ネットワーク8を介して表示要求情報を画像生成装置2に送信する。表示要求情報には、装置特定情報、装置種別特定情報、及び、第一画像特定情報が含まれる。装置特定情報は、ユーザによって第一画像80の表示が所望される端末装置3を特定可能な情報である。装置種別特定情報は、ユーザによって第一画像80の表示が所望される端末装置3の種別を特定可能な情報である。装置種別特定情報は、例えば、装置種別IDを指定する情報である。第一画像特定情報は、ユーザによって表示が所望される第一画像80を特定可能な情報である。第一画像特定情報は、例えば、画像IDを指定する情報である。
CPU21は、表示要求情報を受信したと判断した場合(S21:YES)、受信された表示要求情報に含まれる、装置特定情報、装置種別特定情報、及び、第一画像特定情報を取得する(S22)。以下、S22の処理で取得された装置特定情報、装置種別特定情報、及び、第一画像特定情報を、それぞれ、「対象装置特定情報」、「対象装置種別特定情報」、及び、「対象第一画像特定情報」という。CPU21は、対象装置特定情報、対象装置種別特定情報、及び、対象第一画像特定情報を、RAM23に記憶する。
CPU21は、端末種別DB60を参照して、対象装置種別特定情報に対応する端末種別IDを特定する(S23)。CPU21は、端末種別DB60において、対象装置種別特定情報に対応する端末種別IDに関連付けられている画面解像度情報及び表示アスペクト比情報を取得する(S24)。CPU21は、取得された画面解像度情報及び表示アスペクト比情報を、RAM23に記憶する。
CPU21は、RAM23に記憶されている第一画像データに対応する第一画像80の余白部分81を特定する、余白特定処理を実行する(S25)。余白特定処理には、周知の技術を適用できる。例えば、CPU21は、第一画像データ内の複数個の画素値の頻度の分布を示すヒストグラムを生成する。CPU21は、生成されたヒストグラムを参照して、第一画像データの背景色(例えば、白色)に相当するピークと、背景色とは異なる色に相当するピークとを特定する。CPU21は、第一画像データの背景色に相当するピークと、背景色とは異なる色に相当するピークとの間に、二値化処理の閾値を決定する。CPU21は、決定された閾値に基づいて第一画像データに対して二値化処理を実行することで、第一画像データ内の複数個の画素を、第一画像データの背景色を有する背景画素と、背景色とは異なる色を有するオブジェクト画素とに分類する。
CPU21は、第一画像80の左端から右方向に所定の幅を有する領域に対応する部分の第一画像データ内の画素を参照し、参照範囲内にオブジェクト画素が含まれるかを判断する。CPU21は、参照範囲内にオブジェクト画素が含まれない場合、参照範囲の右端から右方向に所定の幅を有する領域に対応する部分の第一画像データ内の画素をさらに参照し、参照範囲内にオブジェクト画素が含まれるかを判断する。CPU21は、参照範囲内にオブジェクト画素が含まれるまで判断を繰り返す。CPU21は、参照範囲内にオブジェクト画素が含まれる場合、既に判断を行った参照範囲から、今回判断を行った参照範囲を除く部分を、第一画像80の左端部における余白部分81と特定する。ここで特定される、第一画像80の左端部における余白部分81は、図2の(B)に示すA1の幅の余白に対応する。なお、参照範囲内にオブジェクト画素が含まれるかの判断は、参照範囲内に所定の個数以上のオブジェクト画素が含まれるか否かによって行われてもよい。
CPU21は、第一画像80の右端部、上端部、及び、下端部に対しても、上記と同様の判断を実行することで、第一画像80の右端部、上端部、及び、下端部における余白部分81として、図2の(B)に示すA2,B1,B2の幅の余白を特定する。
CPU21は、余白特定処理(S25)によって特定された余白部分81の幅であるA1,A2,B1,B2に基づいて、余白データを生成する(S26)。CPU21は、生成された余白データに対応する余白部分81を、第一画像80から削除した第二画像90を示す第二画像データを生成する(S28)。この処理において、CPU21は、例えば、第一画像80の原点Pに対する点Q,R,T,Uの座標位置を特定する。CPU21は、点Q,R,T,Uを、左上、右上、右下、及び、左下のそれぞれの角として、第二画像90を、第一画像80から切り出す。CPU21は、切り出された第二画像90を示すデータを生成する。CPU21は、生成された余白データ及び第二画像データを、対象第一画像特定情報に対応する画像ID、読取サイズ情報、読取解像度情報、及び、色モード情報に関連付けて、画像DB70に記憶する(S29)。
図7に示すように、CPU21は、表示アスペクト比と、第二アスペクト比との差が、第一閾値よりも大きいかを判断する(S31)。第二アスペクト比とは、S29の処理で画像DB70に記憶された第二画像データの縦方向の画素数と横方向の画素数との比率である。CPU21は、画像DB70を参照して、S29の処理で画像DB70に記憶された第二画像データに基づいて、第二アスペクト比を算出する。CPU21は、S24の処理でRAM23に記憶された表示アスペクト比情報を参照して、表示アスペクト比と第二アスペクト比との差分値を算出する。CPU21は、算出された表示アスペクト比と第二アスペクト比との差分値が、第一閾値よりも大きいかを判断する。本実施形態では、第一閾値は、「A4」及び「Letter」の各用紙サイズのアスペクト比の差を判別できる程度の値(例えば、「3%」)として設定されている。
CPU21は、表示アスペクト比と、第二アスペクト比との差が、第一閾値以下であると判断した場合(S31:NO)、S24の処理でRAM23に記憶された画面解像度情報の示す画面解像度が、第二画像サイズよりも小さいかを判断する(S32)。第二画像サイズとは、S29の処理で画像DB70に記憶された第二画像データの示す第二画像90の縦方向の画素数及び横方向の画素数である。CPU21は、画像DB70に記憶されている第二画像データを参照して、第二画像サイズを取得する。CPU21は、画面解像度が、取得された第二画像サイズよりも小さいかを判断する。ここで、画面解像度及び第二画像90について、縦方向の画素数を、縦サイズという。画面解像度及び第二画像90について、横方向の画素数を、横サイズという。CPU21は、画面解像度の縦サイズより第二画像90の縦サイズよりも小さく、且つ、画面解像度の横サイズが第二画像90の横サイズよりも小さい場合に、画面解像度が、第二画像サイズよりも小さいと判断する。
CPU21は、画面解像度が、第二画像サイズよりも小さいと判断した場合(S32:YES)、第二画像90の縦サイズ又は横サイズが、画面解像度の縦サイズ又は横サイズに一致するように、第二画像90を縮小した第三画像100を示す第三画像データを生成する(S33)。CPU21は、S33の処理において、第二アスペクト比を維持して第二画像90を縮小することで、第三画像データを生成する。この場合、第三画像100の縦横が均等に縮小されるので、CPU21は、視認しやすい第三画像100を表示部38に表示させることができる。
本実施形態では、CPU21は、第二画像90の縦サイズに対する画面解像度の縦サイズの比率と、第二画像90の横サイズに対する画面解像度の横サイズの比率とのうち、小さい値(すなわち、「1」から遠い値)を示す比率を用いて、第二画像サイズを縮小する。端末装置3の表示部38は、比較的小さな画面解像度を示すことがある。本実施形態では、第三画像100の全体を、表示部38にできるだけ大きく表示させるため、CPU21は、S33において、上記のように第二画像90を縮小する。これにより、第三画像100の一部が、表示部38の外側にはみ出すように配置されることがないので、端末装置3のユーザは、表示部38において第三画像100の全体を一覧できる。
CPU21は、生成された第三画像データの示す第三画像100の縦サイズ又は横サイズのうち、画面解像度の縦サイズ又は横サイズに一致しない方に、所定の余白画像を付加する(S34)。所定の余白画像の付加量は、第三画像100の縦サイズ及び横サイズが、画面解像度の縦サイズ及び横サイズに、ともに一致する量である。CPU21は、第三画像100の縦サイズ又は横サイズのうち、画面解像度の縦サイズ又は横サイズに一致しない方に、所定量の余白画像を付加することで、余白画像を含む第三画像100の縦サイズ及び横サイズを、画面解像度の縦サイズ及び横サイズに一致させる。CPU21は、処理をS49に移行する。
本実施形態では、第三画像100における第二画像90に相当する部分が、第三画像100の略中央に配置されるようにするために、S34の処理が実行される。例えば、S33の処理で、第二画像90の横サイズが、端末装置3Aにおける表示部38Aの画面解像度の横サイズに一致するように、第二画像90が縮小された第三画像100が生成されたとする。この場合、図10に示すように、第二画像90の横サイズが、画面解像度の横サイズに一致するので、第三画像100における第二画像90に相当する部分が、横方向において略中央に配置される。CPU21は、第三画像100の縦サイズが、画面解像度の縦サイズに一致するように、第三画像100の縦方向の外縁部に余白画像を付加する。このとき、本実施形態では、第三画像100における第二画像90に相当する部分の上部及び下部に、同じ高さの(矢印F1,F2、図10参照)余白画像が付加された第三画像100が生成される。これによって、第三画像100における第二画像90に相当する部分が、縦方向においても略中央に配置される。
この例の他、例えば、S33の処理で、第二画像90の縦サイズが、端末装置3Aにおける表示部38Aの画面解像度の縦サイズに一致するように、第二画像90が縮小された第三画像100が生成されたとする。この場合には、CPU21は、第三画像100の横サイズを、画面解像度の横サイズに一致するように、第三画像100の横方向の外縁部に余白画像を付加する。これによって、第三画像100における第二画像90に相当する部分の左部及び右部に、同じ幅の余白画像が付加された第三画像100が生成される。このようにして、CPU21は、第三画像100における第二画像90に相当する部分が略中央に配置された、見栄えの良い第三画像100を生成できる。なお、本実施形態では、余白画像を、前述の背景画素の画素値の示す色が一律に付された画像としている。したがって、第三画像100において、余白画像と、第二画像90に相当する部分の画像との間が、背景画素の画素値の示す色で連結される。
図7の説明に戻る。CPU21は、S24の処理でRAM23に記憶された画面解像度情報の示す画面解像度が、第二画像サイズ以上であると判断した場合(S32:NO)、画面解像度が、第二画像サイズよりも大きいかを判断する(S37)。CPU21は、画面解像度が、第二画像サイズよりも大きいと判断した場合(S37:YES)、第二画像90の縦サイズ又は横サイズが、画面解像度の縦サイズ又は横サイズに一致するように、第二画像90を拡大した第三画像100を生成する(S38)。CPU21は、S38の処理において、第二アスペクト比を維持して第二画像90を拡大することで、第三画像100を生成する。本実施形態では、CPU21は、第二画像90の縦サイズに対する画面解像度の縦サイズの比率と、第二画像90の横サイズに対する画面解像度の横サイズの比率とのうち、小さい値(すなわち、「1」から近い値)を示す比率を用いて、第二画像サイズを拡大する。
CPU21は、生成された第三画像100の縦サイズ又は横サイズのうち、画面解像度の縦サイズ又は横サイズに一致しない方に、所定の余白画像を付加する(S39)。CPU21は、第三画像100の縦サイズ又は横サイズのうち、画面解像度の縦サイズ又は横サイズに一致しない方に、所定量の余白画像を付加することで、余白画像を含む第三画像100の縦サイズ及び横サイズを、画面解像度の縦サイズ及び横サイズに一致させる。CPU21は、処理をS49に移行する。
CPU21は、CPU21は、画面解像度が、第二画像サイズに等しいと判断した場合(S37:NO)、処理をS49に移行する。なお、S32からS39における画面解像度に対して第三画像100のサイズを一致させる場面では、双方のサイズを完全に一致させるのではなく、所定のマージンを考慮して、双方のサイズが一致するか否かを判断してもよい。
また、CPU21は、表示アスペクト比と、第二アスペクト比との差が、第一閾値より大きいと判断した場合(S31:YES)、端末種別DB60を参照して、画面解像度情報を複数決定する(S41)。このとき、CPU21は、例えば、S24の処理でRAM23に記憶された画面解像度情報の示す画面解像度に加え、他の画面解像度を示す画面解像度情報を、端末種別DB60から複数選択することで、画面解像度情報を複数決定する。RAM23に記憶された画面解像度情報の示す画面解像度とは異なる他の画面解像度を示す画面解像度情報の選択は、任意に行われてよい。CPU21は、例えば、RAM23に記憶された画面解像度情報の示す画面解像度に近似する画面解像度を示す画面解像度情報を、端末種別DB60から選択してもよい。また、CPU21は、端末種別DB60おいて、RAM23に記憶された画面解像度情報が関連付けられている表示アスペクト比情報とは異なる表示アスペクト比を示す表示アスペクト比情報に関連付けられている画面解像度情報を、選択してもよい。
CPU21は、S41の処理で決定された複数の画面解像度情報に基づいて、複数の画面解像度情報の示す画面解像度のそれぞれに一致するサイズの第三画像100を示す複数の第三画像データを生成する(S42)。複数の第三画像100の生成は、S32からS39における第三画像100の生成と同様の手法で行われる。仮に、表示アスペクト比と、第二アスペクト比との差が、第一閾値より大きい場合、S32からS39の処理によっては、見栄えの良い第三画像100が得られない可能性がある。S42の処理は、第三画像100の候補となる画像を複数生成することで、より見栄えの良い第三画像100を選択するために行われる。
CPU21は、生成された複数の第三画像100の候補に対応した選択用画像を示す複数の画像データと、端末装置3の表示部38に画像データを表示させるための表示指示とを、対象装置特定情報に対応する端末装置3に送信する(S43)。複数の第三画像100の候補に対応した選択用画像は、例えば、複数の第三画像100の候補に対応したサムネイル画像である。端末装置3は、ネットワーク8を介して画像生成装置2から送信された表示指示を受信する。端末装置3のCPU31は、複数の第三画像100の候補に対応した選択用画像を、表示部38に表示させる。端末装置3のCPU31は、操作部37を介して複数の第三画像100の候補に対応した選択用画像のうちいずれかを選択する旨の入力がされることを監視する。CPU31は、操作部37を介して複数の第三画像100の候補に対応した選択用画像のうちいずれかを選択する旨の入力がされた場合、CPU31は、複数の第三画像100の候補に対応した選択用画像のうちいずれを選択するかを示す選択指示を、ネットワーク8を介して画像生成装置2に送信する。
CPU21は、端末装置3から選択指示を、ネットワーク8を介して受信したかを判断する(S45)。CPU21は、選択指示を受信していないと判断した場合(S45:NO)、処理をS45に戻す。CPU21は、表示要求情報の受信を継続して監視する。CPU21は、選択指示を受信したと判断した場合(S45:YES)、第三画像100の候補のうち、選択指示の示す選択用画像に対応する第三画像100の候補に応じた第三画像データを選択する(S46)。CPU21は、処理をS49に移行する。
CPU21は、S34,S39,S46のいずれかの処理で生成又は選択された第三画像100を示す第三画像データと、端末装置3の表示部38に第三画像データ表示させるための表示指示とを、対象装置特定情報に対応する端末装置3に送信する(S49)。端末装置3は、ネットワーク8を介して画像生成装置2から送信された表示指示を受信する。端末装置3のCPU31は、第三画像データに基づいて、対応する第三画像100を、表示部38に表示させる(図10参照)。これによって、端末装置3のユーザは、画像生成装置2の読取部26によって読み取られた第一画像80に関する画像である第三画像100を、見栄えの良い態様で、表示部38において確認できる。その後、CPU21は、画像表示処理を終了する。
図8及び図9を参照して、印刷処理について説明する。印刷処理は、端末装置3から送信される印刷要求情報に応じて、画像生成装置2の読取部26によって読み取られた第一画像80に関する画像を出力する処理である。CPU21は、画像表示処理が終了された場合、記憶部24に記憶されたプログラムを読み出して実行することによって、印刷処理を開始する。
図8に示すように、印刷処理が開始されると、CPU21は、端末装置3から送信される印刷要求情報を、ネットワーク8を介して受信したかを判断する(S61)。印刷要求情報は、読取部26によって読み取られた第一画像80に関する画像を印刷することを要求するための情報である。CPU21は、印刷要求情報を受信していないと判断した場合(S61:NO)、処理をS61に戻す。CPU21は、印刷要求情報の受信を継続して監視する。
端末装置3のユーザが、読取部26によって読み取られた第一画像80に関する画像の印刷を要求する指示を、操作部37を介して端末装置3に入力した場合、端末装置3のCPU31は、ネットワーク8を介して印刷要求情報を画像生成装置2に送信する。印刷要求情報には、第一画像特定情報及び印刷用紙サイズ情報が含まれる。印刷用紙サイズ情報は、ユーザによって第一画像80の印刷が所望される印刷用紙のサイズである印刷用紙サイズ120を指定する情報である。
CPU21は、印刷要求情報を受信したと判断した場合(S61:YES)、受信された印刷要求情報に含まれる、第一画像特定情報及び印刷用紙サイズ情報を取得する(S62)。CPU21は、取得された第一画像特定情報に基づいて、印刷要求情報によって印刷が要求されている画像IDを、画像DB70を参照して特定する(S63)。
CPU21は、特定された画像IDに関連付けられている第二画像データ及び余白データに基づいて、第四画像110を示す第四画像データを生成する(S65)。この処理において、CPU21は、特定された画像IDに関連付けられている第二画像データ及び余白データを、画像DB70から取得する。CPU21は、第二画像データの示す第二画像90の外縁部に、余白データの示す量に対応する余白画像を付加することで、第四画像110を生成する。
具体的には、CPU21は、第二画像90の左上角の点Qと左下角の点Uとを結ぶ直線の左側に、余白データの示す第一画像80の左端部における余白部分81に相当するA1の幅を示す画素数の余白画像を付加する。CPU21は、第二画像90の左上角の点Qと右上角の点Rとを結ぶ直線の上側に、余白データの示す第一画像80の上端部における余白部分81に相当するB1の高さを示す画素数の余白画像を付加する。CPU21は、第二画像90の右上角の点Rと右下角の点Tとを結ぶ直線の右側に、余白データの示す第一画像80の右端部における余白部分81に相当するA2の幅を示す画素数の余白画像を付加する。CPU21は、第二画像90の左下角の点Uと右下角の点Tとを結ぶ直線の下側に、余白データの示す第一画像80の下端部における余白部分81に相当するB2の幅を示す画素数の余白画像を付加する。なお、本実施形態では、余白画像を、前述の背景画素の画素値の示す色が一律に付された画像としている。したがって、第四画像110において、余白画像と、第二画像90に相当する部分の画像との間が、背景画素の画素値の示す色で連結される。
CPU21は、生成された第四画像110に基づいて、第四画像110のサイズである第四画像サイズを特定する(S66)。第四画像サイズは、第四画像110の縦方向の画素数及び横方向の画素数である。このようにして特定される第四画像サイズは、第二画像データ及び余白データの元となる第一画像80が取得された原稿の用紙サイズに相当する。
なお、S66の処理では、第四画像サイズの特定に替えて、画像IDに関連付けられている読取サイズ情報が、画像DB70から取得されてもよい。上記のようにして、第四画像サイズが特定される場合には、読取サイズ情報が画像DB70に記憶されなくてもよい。この場合、画像DB70の記憶に必要な記憶部24の記憶容量が削減される。
CPU21は、特定された第四画像サイズと、印刷用紙サイズ情報の示す印刷用紙サイズ120との差が、第二閾値以下であるかを判断する(S68)。CPU21は、第四画像サイズに対応する面積、及び、印刷用紙サイズ120に対応する面積を算出する。CPU21は、第四画像サイズに対応する面積と、印刷用紙サイズ120に対応する面積との比の差を算出する。CPU21は、算出された面積比の差が、第二閾値以下であるかを判断する。本実施形態では、第二閾値は、「3%」である。
CPU21は、第四画像サイズと、印刷用紙サイズ120との差が、第二閾値よりも大きいと判断した場合(S68:NO)、第四画像サイズが、印刷用紙サイズ120よりも小さいかを判断する(S69)。
CPU21は、第四画像サイズが、印刷用紙サイズ120よりも小さいと判断した場合(S69:YES)、第四画像110の縦サイズ又は横サイズが、印刷用紙サイズ120の縦サイズ又は横サイズに一致するように、第四画像110を縮小した第五画像130を示す第五画像データを生成する(S71)。
CPU21は、S71の処理において、第四アスペクト比を維持して第四画像110を縮小することで、第五画像130を示す第五画像データを生成する。第四アスペクト比とは、第四画像110の縦方向の画素数及び縦方向の画素数との比率である。この場合、第四画像110データの縦横が均等に縮小されるので、CPU21は、視認しやすい第四画像110の部分をすくむ第五画像130を、印刷用紙に印刷することができる。
本実施形態では、CPU21は、第四画像110の縦サイズに対する印刷用紙サイズ120の縦サイズの比率と、第四画像110の横サイズに対する印刷用紙サイズ120の横サイズの比率とのうち、小さい値(すなわち、「1」から遠い値)を示す比率を用いて、第四画像サイズを縮小する。例えば、読取部26によって第一画像が読み取られたときの原稿の用紙サイズがA4であるのに対して、印刷用紙サイズ120がLeagalサイズである場合がある。この場合、第四画像サイズが、印刷用紙サイズ120よりも小さい、A4サイズ相当の大きさで得られる。本実施形態では、印刷用紙サイズ120に対して、第四画像110の全体をできるだけ大きく印刷させるため、CPU21は、S69において、上記のように第四画像110を縮小する。これにより、印刷用紙サイズ120の上下の端部又は左右の端部に対して、第五画像130の一部が、印刷用紙サイズ120の外側にはみ出すように配置されることがない。したがって、端末装置3のユーザは、印刷用紙サイズ120の印刷用紙において第五画像130の全体を一覧できる。
CPU21は、生成された第五画像130の縦サイズ又は横サイズのうち、印刷用紙サイズ120の縦サイズ又は横サイズに一致しない方に、所定の余白画像を付加する(S72)。所定の余白画像の付加量は、第五画像130の縦サイズ及び横サイズが、印刷用紙サイズ120の縦サイズ及び横サイズに、ともに一致する量である。CPU21は、第五画像130の縦サイズ又は横サイズのうち、印刷用紙サイズ120の縦サイズ又は横サイズに一致しない方に、所定量の余白画像を付加することで、余白画像を含む第五画像130の縦サイズ及び横サイズを、印刷用紙サイズ120の縦サイズ及び横サイズに一致させる。CPU21は、所定の余白画像が付加された第五画像130を示す第五画像データを、RAM23に記憶する。CPU21は、処理をS81(図9参照)に移行する。
本実施形態では、第五画像130における第四画像110に相当する部分が、第五画像130の略中央に配置されるようにするために、S72の処理が実行される。例えば、S71の処理で、第四画像110の縦サイズが、印刷用紙サイズ120の縦サイズに一致するように、第四画像110が縮小された第五画像130が生成されたとする。この場合、図11に示すように、第四画像110の縦サイズが、印刷用紙サイズ120の縦サイズに一致するので、第五画像130における第四画像110に相当する部分が、縦方向において略中央に配置される。CPU21は、第五画像130の横サイズが、印刷用紙サイズ120の横サイズに一致するように、第五画像130の横方向の外縁部に余白画像を付加する。このとき、本実施形態では、第五画像130における第四画像110に相当する部分の右部及び左部に、同じ幅の(矢印F3,F4、図11参照)余白画像が付加された第五画像130が生成される。これによって、第五画像130における第四画像110に相当する部分が、横方向においても略中央に配置される。
この例の他、例えば、S71の処理で、第四画像110の横サイズが、印刷用紙サイズ120の横サイズに一致するように、第四画像110が縮小された第五画像130が生成されたとする。この場合には、CPU21は、第五画像130の縦サイズを、印刷用紙サイズ120の縦サイズに一致するように、第五画像130の横方向の外縁部に余白画像を付加する。これによって、第五画像130における第四画像110に相当する部分の上部及び下部に、同じ高さの余白画像が付加された第五画像130が生成される。このようにして、CPU21は、第五画像130における第四画像110に相当する部分が略中央に配置された、見栄えの良い第五画像130を生成できる。なお、本実施形態では、余白画像を、前述の背景画素の画素値の示す色が一律に付された画像としている。したがって、第五画像130に基づいて、印刷が行われた場合、第五画像130における余白画像に相当する部分に、オブジェクト画素が含まれることはない。また、第五画像130に基づいて、印刷プレビューが行われた場合、プレビュー画像において、余白画像と、第四画像110に相当する部分の画像との間が、背景画素の画素値の示す色で連結される。
図8の説明に戻る。CPU21は、第四画像サイズが、印刷用紙サイズ120よりも大きいと判断した場合(S69:NO)、第四画像110の縦サイズ又は横サイズが、印刷用紙サイズ120の縦サイズ又は横サイズに一致するように、第四画像110を拡大した第五画像130を示す第五画像データを生成する(S74)。CPU21は、S74の処理において、第四アスペクト比を維持して第四画像110を拡大することで、第五画像130を示す第五画像データを生成する。本実施形態では、CPU21は、第四画像110の縦サイズに対する印刷用紙サイズ120の縦サイズの比率と、第四画像110の横サイズに対する印刷用紙サイズ120の横サイズの比率とのうち、小さい値(すなわち、「1」から近い値)を示す比率を用いて、第四画像サイズを拡大する。
CPU21は、生成された第五画像130の縦サイズ又は横サイズのうち、印刷用紙サイズ120の縦サイズ又は横サイズに一致しない方に、所定の余白画像を付加する(S75)。所定の余白画像の付加量は、第五画像130の縦サイズ及び横サイズが、印刷用紙サイズ120の縦サイズ及び横サイズに、ともに一致する量である。CPU21は、第五画像130の縦サイズ又は横サイズのうち、印刷用紙サイズ120の縦サイズ又は横サイズに一致しない方に、所定量の余白画像を付加することで、余白画像を含む第五画像130の縦サイズ及び横サイズを、印刷用紙サイズ120の縦サイズ及び横サイズに一致させる。CPU21は、所定の余白画像が付加された第五画像130を示す第五画像データを、RAM23に記憶する。CPU21は、処理をS81(図9参照)に移行する。
一方、CPU21は、第四画像サイズと、印刷用紙サイズ120との差が、第二閾値以下であると判断した場合(S68:YES)、第四画像110を示す第四画像データを、RAM23に記憶する。処理をS81(図9参照)に移行する。第四画像サイズと、印刷用紙サイズ120との差が、第二閾値以下である場合、第四画像サイズは、印刷用紙サイズ120に相当する大きさである。したがって、印刷用紙サイズ120に対応する印刷用紙に、第四画像110が、そのまま印刷されれば、第一画像に相当する印刷結果が得られる。
図9に示すように、CPU21は、RAM23に記憶されている第四画像110を示す第四画像データ又は第五画像130を示す第五画像データと、プレビュー表示指示とを、S61の処理において受信された印刷要求情報の送信元の端末装置3に送信する(S81)。プレビュー表示指示は、端末装置3の表示部38に印刷プレビューを表示させるための指示である。CPU21は、RAM23に第四画像データが記憶されている場合には、第四画像データを、プレビュー表示指示とともに、端末装置3に出力する。CPU21は、RAM23に第五画像データが記憶されている場合には、第五画像データを、プレビュー表示指示とともに、端末装置3に出力する。端末装置3は、ネットワーク8を介して画像生成装置2から送信されたプレビュー表示指示を受信する。端末装置3のCPU31は、RAM23に記憶されている第四画像データ又は第五画像データに基づいて、対応する第四画像110又は第五画像130を、表示部38に表示させる。これによって、端末装置3のユーザは、画像生成装置2の読取部26によって読み取られた第一画像80に関する画像である第四画像110又は第五画像130が印刷された場合のイメージを、表示部38において確認できる。
端末装置3のCPU31は、操作部37を介して第四画像110又は第五画像130の印刷を許可する旨の入力がされることを監視する。CPU31は、操作部37を介して第四画像110又は第五画像130の印刷を許可する旨の入力がされた場合、CPU31は、第四画像110又は第五画像130の印刷を許可することを示す印刷許可指示を、ネットワーク8を介して画像生成装置2に送信する。また、CPU31は、操作部37を介して第四画像110又は第五画像130の印刷をキャンセルする旨の入力がされた場合には、第四画像110又は第五画像130の印刷をキャンセルすることを示す印刷キャンセル指示を、ネットワーク8を介して画像生成装置2に送信する。また、CPU31は、操作部37を介して第四画像110又は第五画像130を印刷する印刷用紙サイズ120を変更する旨の入力がされた場合には、第四画像110又は第五画像130を印刷する印刷用紙サイズ120を変更することを示す用紙サイズ変更指示を、ネットワーク8を介して画像生成装置2に送信する。
CPU21は、端末装置3から印刷許可指示を、ネットワーク8を介して受信したかを判断する(S82)。CPU21は、印刷許可指示を受信していないと判断した場合(S82:NO)、端末装置3から印刷キャンセル指示を、ネットワーク8を介して受信したかを判断する(S85)。CPU21は、印刷キャンセル指示を受信したと判断した場合(S85:YES)、印刷処理を終了する。
CPU21は、印刷キャンセル指示を受信していないと判断した場合(S85:NO)、用紙サイズ変更指示に応じた印刷用紙サイズ情報を取得する(S86)。その後、CPU21は、処理をS68(図8参照)の判断に戻し、S68からS81の処理を実行する。なお、CPU21は、S86の処理において、用紙サイズ変更指示に応じた印刷用紙サイズ情報を取得する替わりに、任意の印刷用紙サイズ情報を取得することとしてもよい。
CPU21は、CPU21は、印刷許可指示を受信したと判断した場合(S82:YES)、RAM23に記憶されている第四画像データ又は第五画像データに基づく印刷を実行する指示である印刷実行指示を、駆動回路29に送信する(S88)。CPU21は、RAM23に第四画像データが記憶されている場合には、第四画像データに基づく印刷実行指示を、駆動回路29に送信する。CPU21は、RAM23に第五画像データが記憶されている場合には、第五画像データに基づく印刷実行指示を、駆動回路29に送信する。印刷実行指示は、読取設定情報を含む。駆動回路29は、CPU31から出力される印刷実行指示に応じて、印刷ヘッド29Aを駆動することで、第四画像データ又は第五画像データに基づいて、印刷媒体に対する印刷を実現する。その後、CPU21は、印刷処理を終了する。
以上説明したように、CPU21は、読取部26から送信される第一画像データを取得する(S12)。CPU21は、表示要求情報を受信したと判断すると(S21:YES)、端末種別DB60において、対象装置種別特定情報に対応する端末種別IDに関連付けられている画面解像度情報及び表示アスペクト比情報を取得する(S24)。CPU21は、第一画像80から余白部分81を削除した第二画像90を示す第二画像データを画像DB70に記憶する(S29)。CPU21は、第二画像90の縦サイズ又は横サイズが、画面解像度の縦サイズ又は横サイズに一致するように、第二画像90を縮小又は拡大した第三画像100を示す第三画像データを生成する(S33,38,42)。CPU21は、S34,S39,S46のいずれかの処理で生成又は選択された第三画像データと、端末装置3の表示部38に第三画像データを表示させるための表示指示とを、対象装置特定情報に対応する端末装置3に送信する(S49)。例えば、端末装置3の備える表示部38の画面解像度が、端末装置3の種別毎に異なることがある。上記のように、CPU21は、第一画像80から余白部分81を削除した第二画像90に基づいて、端末装置3の表示部38毎の画面解像度に応じて第三画像データを生成する。よって、例えば、余白削除処理を施した状態の画像データを、端末装置3の種別毎に記憶する必要はない。したがって、CPU21は、記憶部24の記憶容量を逼迫することなく、表示部38の仕様に応じた第三画像データを生成できる。
CPU21は、第二画像90の縦サイズ又は横サイズが、画面解像度の縦サイズ又は横サイズに一致するように、第二画像90を縮小又は拡大した第三画像100を示す第三画像データを生成する(S33,38)。このとき、CPU21は、第二アスペクト比を維持して第二画像90を拡大することで、第三画像データを生成する。したがって、CPU21は、視認しやすい第三画像100を表示部38に表示させることができる。CPU21は、生成された第三画像データの示す第三画像100の縦サイズ又は横サイズのうち、画面解像度の縦サイズ又は横サイズに一致しない方に、所定の余白画像を付加する(S34,39)。これにより、第三画像100の縦サイズ又は横サイズのうち、画面解像度の縦サイズ又は横サイズに一致しない方に、所定量の余白画像を付加されるので、第三画像100の縦サイズ及び横サイズが、画面解像度の縦サイズ及び横サイズに一致する。したがって、CPU21は、表示部38の画面解像度に応じてスケーリングされ、かつ、視認しやすい第三画像100を、表示部38に出力させることができる。
CPU21は、表示アスペクト比と、第二アスペクト比との差が、第一閾値より大きいと判断した場合(S31:YES)、端末種別DB60を参照して、画面解像度情報を複数決定する(S41)。CPU21は、決定された複数の画面解像度情報に基づいて、複数の画面解像度情報の示す画面解像度のそれぞれに一致するサイズの第三画像100を示す複数の第三画像データを生成する(S42)。CPU21は、生成された複数の第三画像100の候補を示す複数の第三画像データと、端末装置3の表示部38に画像データを表示させるための表示指示とを、対象装置特定情報に対応する端末装置3に送信する(S43)。CPU21は、選択指示を受信したと判断した場合(S45:YES)、第三画像100候補のうち、選択指示の示す第三画像100の候補に対応する第三画像データを選択する(S46)。したがって、CPU21は、画像生成システム1の利便性を向上できる。
CPU21は、余白特定処理(S25)によって特定された余白部分81の幅であるA1,A2,B1,B2に基づいて、余白データを生成する(S26)。CPU21は、余白データ及び第二画像データを、対象第一画像特定情報に対応する画像ID、読取サイズ情報、読取解像度情報、及び、色モード情報に関連付けて、画像DB70に記憶する(S29)。したがって、CPU21は、余白データと第二画像データとに基づいて、第一画像80を復元することが可能である。この場合、第二画像データ及び余白データに加えて、第一画像80を画像DB70等に記憶する必要がなくなる。したがって、画像生成システム1は、画像生成システム1で用いられる画像データを記憶するための記憶部24の記憶領域を、より小さくできる。
CPU21は、端末装置3から送信される印刷要求情報を、ネットワーク8を介して受信したかを判断する(S61)。CPU21は、第二画像データ及び余白データに基づいて、第四画像110を示す第四画像データを生成する(S65)。CPU21は、生成された第四画像110に基づいて、第四画像110のサイズである第四画像サイズを特定する(S66)。CPU21は、第四画像サイズと、印刷用紙サイズ120との差が、第二閾値以下であるかを判断する(S68)。CPU21は、第四画像サイズと、印刷用紙サイズ120との差が、第二閾値以下であると判断した場合(S68:YES)、CPU21は、第四画像データを、プレビュー表示指示とともに、端末装置3に出力する(S81)。また、CPU21は、第四画像データに基づく印刷を実行する指示である印刷実行指示を、駆動回路29に送信する(S88)。すなわち、CPU21は、端末装置3から送信される印刷要求情報に応じて、第二画像データ及び余白データに基づいて、第一画像に相当する第四画像110を復元した第四画像データを生成できる。
端末装置3のユーザは、読取時の原稿サイズとは異なるサイズの印刷用紙を用いて、画像を出力することを望む場合がある。CPU21は、第四画像サイズが、印刷用紙サイズ120よりも小さいと判断した場合(S69:YES)、第四画像110の縦サイズ又は横サイズが、印刷用紙サイズ120の縦サイズ又は横サイズに一致するように、第四画像110を縮小又は拡大した第五画像130を示す第五画像データを生成する(S71,74)。したがって、CPU21は、端末装置3のユーザの所望の印刷用紙サイズ120に応じた第五画像データを、余白データと第二画像データとに基づいて生成できる。
CPU21は、第五画像データを生成するときに、第四アスペクト比を維持して第四画像110を縮小又は拡大することで、第五画像130を示す第五画像データを生成する(S71,74)。したがって、CPU21は、端末装置3のユーザの所望の印刷用紙サイズに応じた、視認しやすい第五画像130を示す第五画像データを生成できる。CPU21は、生成された第五画像130の縦サイズ又は横サイズのうち、印刷用紙サイズ120の縦サイズ又は横サイズに一致しない方に、所定の余白画像を付加する(S72,75)。これにより、第五画像130の縦サイズ及び横サイズが、印刷用紙サイズ120の縦サイズ及び横サイズに一致する。第四画像110の縦サイズが、印刷用紙サイズ120の縦サイズに一致するので、第五画像130における第四画像110に相当する部分が、第五画像130において略中央に配置される。CPU21は、第五画像130における第四画像110に相当する部分が略中央に配置された、見栄えの良い第五画像130を生成できる。
上記実施形態において、画像生成装置2が、本発明の「サーバ装置」の一例である。端末装置3が、本発明の「端末装置」の一例である。記憶部24が、本発明の「記憶部」の一例である。S21の処理が、本発明の「第一受信ステップ」の一例である。S12の処理が、本発明の「取得ステップ」の一例である。S29の処理が、本発明の「記憶ステップ」の一例である。S24の処理が、本発明の「決定ステップ」の一例である。S33,38,42の処理が、本発明の「第一生成ステップ」の一例である。S49の処理が、本発明の「第一出力ステップ」及び「表示ステップ」の一例である。
S34,39の処理が、本発明の「第一変更ステップ」の一例である。S31の処理が、本発明の「第一判断ステップ」の一例である。S46の処理が、本発明の「選択ステップ」の一例である。S61の処理が、本発明の「第二受信ステップ」及び「受信ステップ」の一例である。S68の処理が、本発明の「第二判断ステップ」及び「判断ステップ」の一例である。S65の処理が、本発明の「第二生成ステップ」及び「生成ステップ」の一例である。S81,88の処理が、本発明の「第二出力ステップ」及び「出力ステップ」の一例である。S71,74の処理が、本発明の「第三生成ステップ」に相当する。S72,75の処理が、本発明の「第二変更ステップ」の一例である。
画像生成装置2が、本発明の「画像生成装置」の一例である。読取部26が、本発明の「読取部」の一例である。端末種別DB60が、「関連データ」の一例である。S21の処理を行うCPU21が、本発明の「受信手段」の一例である。S12の処理を行うCPU21が、本発明の「取得手段」の一例である。S29の処理を行うCPU21が、本発明の「記憶手段」の一例である。S24の処理を行うCPU21が、本発明の「決定手段」の一例である。S33,38,42の処理を行うCPU21が、本発明の「生成手段」の一例である。S49の処理を行うCPU21が、本発明の「出力手段」の一例である。
なお、本発明は上記の実施形態に限定されるものではなく、種々の変更が可能である。画像生成装置2は、スキャナ機能及びプリンタ機能の双方を備える必要はなく、画像生成装置2がスキャナ機能のみを備えてもよい。この場合、ネットワーク8に接続する汎用のプリンタ装置が設けられてもよい。
また、画像生成装置2がプリンタ機能のみを備えてもよい。第一画像80の読取は、画像生成装置2の機能によって行われる態様に限られず、画像生成装置2の外部の機器によって第一画像80の読取が行われてもよい。例えば、画像生成装置2がスキャナ機能を有していなくてもよい。この場合、ネットワーク8に接続する汎用のスキャナ装置によって、第一画像80が読み取られてもよい。また、例えば、端末装置3のカメラ39によって原稿が撮像されることで、第一画像80が読み取られてもよい。これらの場合、読み取られた第一画像80を示す第一画像データが、ネットワーク8を介して画像生成装置2に送信されれば良い。
端末種別DB60及び画像DB70は、画像生成装置2の記憶部24に記憶される態様に限られず、例えば、端末種別DB60及び画像DB70のいずれか又は双方が、サーバ5の記憶部54に記憶されてもよい。また、ネットワーク8に接続するその他の記憶装置に、端末種別DB60及び画像DB70のいずれか又は双方が記憶されてもよい。
画像表示処理、表示画像生成処理、及び、印刷処理の一部又は全部が、サーバ5のCPU51、又は、端末装置3のCPU31によって実行されてもよい。この場合、サーバ5又は端末装置3が、本発明の「サーバ装置」に相当する。例えば、表示画像生成処理における余白特定処理(S25)が、ネットワーク8に接続し、余白特定処理の実行を提供する外部サービス装置において実行されてもよい。例えば、サーバ5のCPU51が、画像表示処理、表示画像生成処理、及び、印刷処理を実行する場合、CPU51は、S11及びS88において、ネットワーク8を介して画像生成装置2に画像読取動作を行う指示及び印刷実行指示を送信することとなる。
表示アスペクト比情報は、端末種別DB60に、必ずしも記憶されていなくてもよい。CPU21は、例えば、S31の処理を実行する際に、端末種別DB60において、対象装置種別特定情報に対応する端末種別IDに関連付けられている画面解像度情報に基づいて、表示アスペクト比情報を生成してもよい。
上記実施形態では、CPU21は、S65の処理において生成された第四画像110を示す第四画像データに基づいて、第四画像サイズを特定している(S66)。例えば、第四画像データの生成を経ないで、第二画像データ及び余白データに基づいて、第四画像サイズが特定されてもよい。すなわち、第四画像データの生成のタイミングは、例えば、S66及びS69の判断処理の後であってもよい。
上記実施形態では、S33,38の処理において、第二画像90の縦サイズが画面解像度の縦サイズに対して、又は、第二画像90の横サイズが画面解像度の横サイズに対して、いずれか早く一致するまで、第二画像サイズが所定の割合で徐々に縮小又は拡大される。第三画像データの生成は、上記実施形態とは異なる手法によってもよい。例えば、CPU21は、第二画像90の縦サイズが画面解像度の縦サイズに対して一致させた画像と、第二画像90の横サイズが画面解像度の横サイズに対して一致させた画像とのうち、画像のサイズが小さい方の画像を示すデータを、第三画像データとして生成してもよい。S71,74の処理においても同様に、第五データの生成は、上記実施形態とは異なる手法によってもよい。CPU21は、第四画像110の縦サイズが印刷用紙サイズ120の縦サイズに対して一致させた画像と、第四画像110の横サイズが印刷用紙サイズ120の横サイズに対して一致させた画像とのうち、画像のサイズが小さい方の画像を示すデータを、第五画像データとして生成してもよい。
上記実施形態では、S34,39の処理において、第三画像100における第二画像90に相当する部分が、第三画像100の略中央に配置されるように、余白画像の付加量が調整されている。この他に、例えば、第三画像100における第二画像90に相当する部分の上端が、第三画像100の上端になるように、第三画像100において第二画像90が上詰めに配置されるように、余白画像の付加量が調整されてもよい。すなわち、S34,39の処理では、第三画像100における第二画像90に相当する部分の配置は、端末装置3のユーザの希望、画像生成装置2の画像生成の仕様等に応じて、任意であってもよい。この場合であっても、第三画像100の縦サイズ及び横サイズが、端末装置3の表示部38の画面解像度に一致するように、第三画像データが生成されることで、端末装置3のユーザの希望、画像生成装置2の画像生成の仕様等に応じた第三画像100が、表示部38に表示される。
S72,75の処理においても、上記と同様の観点から、第五画像130における第四画像110に相当する部分の配置は、端末装置3のユーザの希望、画像生成装置2の画像生成の仕様等に応じて、任意であってもよい。この場合であっても、第五画像130の縦サイズ及び横サイズが、印刷用紙サイズ120に一致するように、第五画像データが生成されることで、端末装置3のユーザの希望、画像生成装置2の画像生成の仕様等に応じた第五画像130が印刷される。