図1は、本実施形態における印刷装置100が備える印刷機構を示す図である。給紙トレイ101には印刷用紙が格納されている。給紙ローラ103は、給紙トレイ101に格納されている印刷用紙を搬送ローラ105、106に給紙する。印刷用紙104は、給紙ローラ103により給紙され、搬送ローラ105、106により搬送されている印刷用紙である。図1のように、印刷用紙104は、搬送ローラ105、106により部材107、108による搬送路を通り、搬送ローラ109、110へ搬送される。搬送ローラ109、110は、印刷用紙104をプラテン111に搬送する。
またプラテン111の上部には印刷ヘッド112を搭載したキャリッジ113が設けられている。キャリッジ113は、ガイドレール114に沿って図1に示すA方向(図1中手前から奥に向かう方向)、B方向(図1中奥から手前に向かう方向)に往復走査する。印刷装置100は、キャリッジ113をA方向、B方向に走査させながら、印刷ヘッド112に駆動パルスを印加することにより印刷ヘッド112からインク等の記録剤を吐出させる。このように印刷ヘッド112から印刷用紙104に記録剤が吐出されることで、印刷用紙104に印刷対象の画像が印刷される。画像が印刷された印刷用紙104はさらに搬送ローラ109、110により、排紙ローラ115、116に搬送される。排紙ローラ115、116は印刷用紙104を、排紙トレイ117に排紙する。
またキャリッジ113には、反射型の光学センサである用紙センサ118が設けられている。印刷装置100は、この用紙センサ118が受光した光の強さを示す出力レベル(出力電圧)を取得し、その出力レベルが印刷用紙からの反射光に対応するレベルであるか判定することにより、当該受光された位置に印刷用紙が存在するか検出することができる。また上記のように、用紙センサ118はキャリッジ113に設けられており、印刷ヘッド112とともに走査される。そして印刷装置100は、用紙センサ118の走査が行われる範囲について印刷用紙104が存在するか検出することで、当該走査の範囲における印刷用紙の端部を判定することができる。そして当該印刷用紙の左右の端部間の距離に基づいて、当該印刷用紙の幅を検出することができる。この検出処理の詳細について図2を用いて説明する。用紙センサ118(キャリッジ113)の走査位置は後述するエンコーダ224によって検出される。
印刷装置100は、上記の給紙トレイ101、プラテン111、印刷ヘッド112、キャリッジ113、ガイドレール114、排紙トレイ117、また上記の各種のローラを印刷機構として備える。
図2は、用紙センサ118による用紙幅の検出を説明するための図である。
上記のように、印刷装置100はキャリッジ113をガイドレール114に沿って矢印A方向、B方向に往復移動させながら印刷ヘッド112に記録剤を吐出させることにより、印刷用紙104上に画像を印刷する。またキャリッジ113の移動範囲(用紙センサの位置x)においてプラテン111から外れた位置には、印刷ヘッド112のキャッピングを行うためにヘッド回復機構119が設けられている。用紙センサの位置xは、後述するエンコーダ224により検出されたキャリッジ113の位置により特定される。
また用紙センサ118はプラテン111上を走査しながら光を受光し、受光された光の出力レベルを検出する。図2に示すグラフは、キャリッジ113の移動範囲において用紙センサ118が検出した出力レベルを示す。なお本実施形態においては、印刷用紙は白色等の明るい色であり、プラテン111は黒色等の暗い色である。よって印刷用紙がプラテン111に存在する位置については高い出力レベル(印刷用紙からの強い反射光)が取得され、印刷用紙が存在しない位置については低い出力レベル(プラテン111からの弱い反射光)が検出される。
用紙センサ118は、キャリッジ113がヘッド回復機構119の位置にいるときにプラテン111における位置Eの反射光を受光する。そして、キャリッジ113がA方向に向かって移動すると、印刷用紙104の端部に対応する位置で出力レベルが上がる。そして、印刷用紙104の端部から反対側の端部までは、およそ一定の出力レベルが取得され、端部において出力レベルが下がる。
本実施形態においては、用紙センサ118の出力レベルが所定の閾値Vthを超える場合に、当該出力レベルが検出された位置に印刷用紙104が存在するものと判定する。具体的には、図2における位置G、位置Fが印刷用紙104の端の位置であり、位置G〜位置Fまでの範囲を、印刷用紙104が存在する範囲とする。そして、位置G〜位置Fの距離を、印刷用紙104の用紙幅として検出する。
なお本実施形態において印刷装置100は、印刷用紙の中心がプラテン111の中央位置Cとなるように、印刷用紙104を中央寄せで搬送する。このとき仮に印刷用紙104が大きく、図2において印刷用紙104の右端が位置Eよりも右側であった場合、印刷用紙104の右端の位置を検出できないことがある。
そこで本実施形態において印刷装置100は、印刷用紙104の右端の位置が位置Eよりも右にある場合、中央位置Cと印刷用紙104の左端の位置Gとの距離により、印刷用紙104の用紙幅を判定する。具体的には、まず位置Eにおける出力レベルがVthを超える場合、印刷用紙104の右端の位置が位置Eもしくは位置Eよりも右側であると判定される。このように判定された場合、中央位置Cと位置Gの距離を2倍した長さが、印刷用紙104の用紙幅として検出される。即ち、印刷装置100は印刷用紙104の中心が中央位置Cとなるように印刷用紙104を搬送するため、中央位置Cと印刷用紙104の左端の位置Gとの距離が用紙幅の半分の長さとなる。よって印刷装置100は、中央位置Cと位置Gとの距離を2倍した長さを用紙幅として検出することができる。なお、キャリッジの走査範囲における中央位置Cを示す値が印刷装置100内のメモリに予め記憶されており、印刷装置100はこの値を参照することで、中央位置Cと位置Gとの距離を求めることができる。
なお、上記の閾値Vthは固定の値でなくてもよく、例えば位置Eにおける出力レベルに応じて閾値を変更する場合であってもよい。また印刷媒体の表面の特性による反射光の強さに応じて閾値Vthを決定してもよい。具体的には、印刷に用いられる用紙の種別(普通紙、光沢紙等)に応じて、閾値Vthを変更する。さらに、印刷用紙の有無を検出する方法として、上記のように出力レベルが閾値を超えるか判定する方法でなく、位置Eにおける出力レベルと他の位置における出力レベルの比較結果から印刷用紙の有無を検出してもよい。例えば、位置Eの出力レベルにより位置Eにおいて印刷用紙が存在しないと判定した場合に、その出力レベルから所定値以上大きな出力レベルの位置に印刷用紙が存在すると判定してもよい。
また、図2の方法では、キャリッジ113に用紙センサ118を設け、用紙センサ118が移動しながら検出を行う例について説明したが、これに限らない。例えばプラテン111上にキャリッジ113とは個別に用紙センサが設けられる場合であってもよい。この場合、印刷用紙の搬送路の幅に対応する数の用紙センサを並べて配置し、各用紙センサが印刷用紙の存在を検出したか判定することにより、印刷用紙の幅を判定することができる。
次に、印刷装置100の構成を説明する。図3は、印刷装置100の構成を示すブロック図である。
CPU201は、印刷装置100を制御するプロセッサである。CPU201は内部バス202を介して、ROMやハードディスク等のプログラムメモリ203とRAM等のデータメモリ204と接続されている。プログラムメモリ203には、印刷装置100を制御するためのプログラムが格納されている。CPU201は、プログラムメモリ203に格納されているプログラムをデータメモリ204に読み出し、データメモリ204に割り当てられているワークメモリ205上で実行することにより、印刷装置100を制御することができる。またデータメモリ204には、画像メモリ206も割り当てられており、印刷装置100において印刷される画像データなどの各種のデータがCPU201により画像メモリ206に展開される。
インタフェース制御部207は、CPU201の制御によりインタフェースを介してスマートフォンやタブレット、携帯電話等のスマートデバイス208と通信を行う。例えば、スマートデバイス208から印刷対象のジョブを受信し、また印刷装置100のステータス情報をスマートデバイス208へ通知することができる。なお、インタフェース制御部207は、USB(Universal Serial Bus)ケーブル等の有線のインタフェースを介して通信を行ってもよいし、または赤外線通信や無線LAN等の無線インタフェースを介して通信を行ってもよい。
また通信相手は、スマートデバイス208に限らずパーソナルコンピュータであってもよい。その他、ネットワークを介して接続されたサーバであってもよいし、電話回線を介して接続されたファクシミリ装置や、デジタルテレビ等の装置であってもよい。また、印刷ジョブに印刷対象のデータが含まれている場合に限らず、印刷ジョブに含まれているアドレス情報に従って印刷装置100がサーバ等の外部装置から印刷対象のデータを取得する場合であってもよい。
モータ制御部209はCPU201による制御により、印刷装置100の印刷機構を駆動するための各種モータを制御する。搬送モータ210は、モータ制御部209の制御に従って、図1で示した給紙ローラ103、搬送ローラ105、106、109、110、排紙ローラ115、116を駆動する。キャリッジモータ211(CRモータ)は、モータ制御部209の制御に従ってキャリッジ113を駆動し、キャリッジ113を往復移動させる。また回復モータ212は、モータ制御部209の制御に従ってヘッド回復機構119を駆動する。
ヘッド制御部213は、CPU201の制御に従って印刷ヘッド112を制御し、印刷ヘッド112にインク等の記録剤を吐出させる。CPU201は印刷ヘッド112と搬送モータ210を共に駆動させることで、印刷ヘッド112を走査させながら印刷用紙に画像を印刷させる。即ち、印刷装置100内のCPU201が印刷制御装置として動作し、印刷機構としての各種のモータ、印刷ヘッド112を制御して、当該印刷機構に画像を印刷させる。
センサ制御部214は、CPU201の制御に従って、用紙センサ118に含まれるセンサ光源215を発光させ、また用紙センサ118が備える光学センサ216に反射光を受光させる。またセンサ制御部214は、光学センサ216が受光した光の強さを示す出力レベルを取得する。CPU201は、センサ制御部214が取得した出力レベルを取得することで、図2で示した用紙幅の判定を行うことができる。なお、CPU201は後述する処理により、上記のように判定された用紙幅に応じて、用紙長も含めた用紙サイズを判定する。
パネル制御部217は、CPU201の制御に従って、操作パネル218を制御する。なお、操作パネル218は、キーやタッチパネルなどユーザが操作を行う操作デバイスと、画像等の各種の情報を表示できる表示パネルを含む。例えばユーザが操作パネル218の操作デバイスを操作すると、ユーザの指示がパネル制御部217に入力され、その指示がさらにCPU201に入力される。またパネル制御部217がCPU201の指示に応じて、画像メモリ206に展開されている画像を操作パネルの表示パネルに表示する。
スキャナ制御部219は、CPU201の制御に従って、スキャナ220を制御し、スキャナ220の原稿台に載置されている原稿をスキャナ220に読み取らせ、その読取画像を入力する。またスキャナ制御部219を画像メモリ206に格納する。メモリカード制御部221は、CPU201の制御により、メモリカードスロット222に装着されたメモリカード223に対して各種のデータの書き込み、読み出しを行う。
エンコーダ224は、ガイドレール114に沿ってキャリッジ113が走査するときのキャリッジ113の位置を特定する。CPU201は、エンコーダ224により特定されたキャリッジ113の位置と、キャリッジ113における用紙センサ118の取り付け位置により、図2に示した用紙センサの位置xを特定する。
本実施形態においてCPU201は、上記のように用紙センサ118により判定された用紙幅に応じて、用紙長も含めた用紙サイズを判定する。なお、本実施形態の印刷装置100は、用紙センサ118が印刷ヘッド112とともにキャリッジ113に設けられている。そして、キャリッジ113を移動させるための各種のモータやガイドレール114、キャリッジ113の位置を特定するためのエンコーダ224等の部材は、印刷ヘッド112による印刷と用紙センサ118による用紙幅の検出の両方に共通して用いられる。そのため、印刷のための部材とは別に、用紙幅の検出のために上記の部材を設けなくてもよく、印刷装置100が大型化してしまうことを防ぐことができる。
図4は、本実施形態における用紙サイズテーブルを示す図である。図4(a)の用紙サイズ管理テーブルは、印刷装置100で使用され得る用紙サイズ300と、当該サイズの用紙幅301、用紙長302、縦横比(アスペクト比)303が含まれている。なお、用紙幅301、用紙長302の単位はミリメートル(mm)である。
なお用紙サイズテーブルはプログラムメモリ203に格納されており、CPU201は、プログラムメモリ203からデータメモリ204に用紙サイズテーブルを読み出すことで用紙サイズテーブルを参照することができる。なお、用紙幅301の情報はテーブル形式で保持される場合に限らず、用紙サイズに対応付けて用紙幅301を記憶する種々の方法が採用される。
本実施形態においてCPU201は、用紙センサ118により検出された用紙幅に応じて印刷用紙のサイズを判定する。具体的には、CPU201は用紙サイズテーブルにおいて、用紙センサ118により検出された用紙幅の所定範囲内にある用紙幅301を持つ用紙サイズ300を、印刷装置100において搬送されている印刷用紙104のサイズとして特定する。このように所定の範囲を設ける理由は、例えば印刷用紙の状態や印刷装置100が置かれている環境によって印刷用紙からの反射光の強さが異なるために、用紙センサ118の検出結果と実際の用紙幅の間に誤差が生じる場合があるからである。
そこで例えば上記所定の範囲を上下3mmとして、用紙センサ118により用紙幅として126.0mmが検出された場合、123.0mm〜129.0mmに含まれる用紙幅301に対応する用紙サイズ300を、印刷用紙のサイズの候補として特定する。図4(a)の用紙サイズテーブルに示されているように、この場合、用紙幅301(127.0mm)に対応する2L判が候補として特定される。
またこのように用紙サイズが一意に特定される場合に限らず、用紙幅が近い複数の用紙サイズが、当該印刷媒体のサイズの候補として特定される場合がある。例えば用紙センサ118により用紙幅として99.0mmが検出された場合、用紙幅の範囲96.0mm〜102.0mmに封筒洋形6号(用紙幅98.0mm)、はがき(用紙幅100.0mm)、4×6判(用紙幅101.6mm)が含まれる。同様に、用紙幅として213.0mmが検出された場合、A4サイズ(用紙幅210.0mm)とレター(用紙幅215.9mm)が用紙サイズの候補として特定される。
本実施形態においては、上記のように用紙センサ118による検出に基づく印刷用紙のサイズの候補と、印刷設定として設定されている印刷用紙の設定サイズに従って、印刷対象の画像の大きさが決定される。具体的には、上記印刷用紙のサイズの候補と上記設定サイズの縦横比が近い場合に当該候補に応じたサイズの画像が印刷される。
例えばユーザが印刷用途(写真印刷、封筒印刷など)を意図して上記の印刷設定における印刷用紙の設定サイズを設定する場合や、印刷用途に対して適切な印刷設定として自動的にサイズが設定されている場合がある。この場合、印刷設定における設定サイズを参照することで当該印刷設定が設定されている印刷の用途を推定することができる。例えば設定用紙サイズとしてL判が設定されている場合、印刷対象のデータは写真であり、印刷の用途は写真印刷であると推定することができる。
また、ユーザが特定の印刷用途のために、その用途に応じた印刷用紙を印刷装置にセットする場合がある。よって、仮に印刷装置にセットされている印刷用紙のサイズと印刷用紙の設定サイズが異なる場合であっても、その両者は共通の印刷用途で多く使用されるサイズである場合がある。即ち、例えば設定サイズが写真印刷で設定されることが多いL判の場合、封筒印刷の用途において設定されることが多い封筒長形3号よりも2L判や4×6判のサイズの方が印刷装置にセットされている可能性が高い。
また、例えばL判など写真印刷において設定されることが多いサイズの場合、封筒長形3号等の封筒印刷の用途において設定されることが多いサイズよりも、2L判や4×6判など、L判と同様に写真印刷において設定されることが多いサイズと縦横比が近い。一方、封筒長形3号は写真印刷用の用紙サイズよりも縦横比が大きく、また封筒洋形6号など同様に封筒印刷において設定されることが多い用紙サイズと縦横比が近い。
よって、設定用紙サイズに縦横比が近い候補が、印刷装置にセットされている印刷用紙のサイズである可能性が高く、当該印刷における印刷用途に対してより適切な候補となる。
本実施形態では、上記のように、設定サイズと縦横比の近い候補に応じた大きさの画像を印刷される。そのため、印刷装置にセットされている可能性が高い印刷用紙のサイズに応じた大きさの画像を印刷することができる。
なお、上記の印刷設定は、例えば印刷ジョブを印刷装置100に送信する装置であるホストコンピュータやスマートデバイスにおいてユーザの指示に応じて設定される。具体的には、印刷用紙のサイズや印刷用紙の種別、印刷が行われる際に印刷用紙に設けられる余白に関する設定についてユーザが指示するための表示画面が、ホストコンピュータやスマートデバイスにより表示される。例えばユーザが印刷対象のデータを選択した後に上記表示画面上で印刷設定を指示することで、当該印刷対象のデータの印刷に対する印刷設定を指示することができる。このようにユーザに指示された印刷設定を示す印刷設定情報が、印刷対象のデータとともにホストコンピュータやスマートデバイスから印刷装置100に送信される。なお印刷設定情報と印刷対象のデータとを含む印刷ジョブとして印刷装置100に送信されてもよいし、印刷対象のデータと印刷設定情報とがそれぞれ個別に送信されてもよい。例えばまたDPOF (Digital Print Order format)ファイルのように、設定用紙サイズを含む印刷設定情報が1つのファイルとして、印刷対象のデータを含むファイルとは別に印刷装置100に送信されてもよい。
なお、図2を用いて説明したように、本実施形態においては印刷用紙104が大きい場合に印刷用紙104の片端が用紙センサ118により検出されないことがあり、このとき中央位置Cと位置Gとの距離に基づく計算により用紙幅が判定される。この場合、例えば印刷用紙104の特性等により、印刷用紙104の中心が中央位置Cから外れて搬送されてしまうことがある。よって、印刷用紙104の片端が検出されなかった場合には、上記所定の範囲を±3mmではなく±10mmなど比較的広く設定するようにしてもよい。この場合、例えば用紙幅210mmが検出されると、往復はがき(用紙幅200.0mm)、六切(用紙幅203.2mm)、A4サイズ(用紙幅210.0mm)とレター(用紙幅215.9mm)が用紙サイズの候補として特定される。
また上記の例では、用紙センサ118の検出結果である用紙幅を中心に、所定の範囲内(例えば±3mm)に含まれる用紙サイズを特定していた。しかしこれに限らず、検出結果よりも所定幅(例えば+3mm)大きい範囲に含まれる用紙サイズを特定してもよいし、逆に所定幅小さな範囲に含まれる用紙サイズを特定してもよい。また印刷用紙の種別(普通紙、光沢紙等)によって上記所定の範囲を変更するようにしてもよい。例えば印刷用紙が光沢紙の場合、普通紙の場合に比べて反射光が強い。このとき、本来は印刷用紙の位置ではない位置において用紙センサ118が取得した出力レベルが上記閾値Vthを越えてしまい、当該位置に印刷用紙があるものと判定してしまう可能性がある。よって、例えば印刷用紙の種別が普通紙の場合には±3mmの範囲を設定し、光沢紙の場合には、―6mmの範囲を設定するようにしてもよい。その他、用紙センサ118の特定等、種々の条件に応じて上記所定の範囲を設定してよい。
また上記の説明では、図4(a)に示した用紙サイズテーブルを用いて用紙サイズの判定を行っていたが、別の例として、図4(b)の用紙サイズテーブルを用いてもよい。
図4(b)の用紙サイズテーブルは、図4(a)の用紙サイズテーブルに加えて、用紙幅が近い用紙を示す用紙情報304を含む。具体的には、テーブル内に記号(×)が記入されている用紙サイズが、テーブルにおいて当該用紙サイズに対応する用紙サイズと用紙幅が近いものである。例えばA4サイズとレターサイズは用紙幅が近いものとして用紙サイズテーブルにおいて指定されている。また封筒洋形6号、はがき、4×6判が、用紙幅が近いものとして指定されている。
CPU201は、プログラムメモリ203からデータメモリ204に図4(b)の用紙サイズテーブルを読み出すことで用紙幅301を参照することができる。そしてCPU201は、用紙センサ118により用紙幅が検出されたときに、検出された用紙幅に対応する用紙サイズを特定する。そして、用紙サイズテーブルにおいて当該用紙サイズに用紙幅が近い用紙サイズが指定されている場合には、その用紙幅が近い用紙サイズも含め、用紙サイズの複数の候補を特定する。
例えば、用紙センサ118により検出された用紙幅が90.0mmの場合、用紙サイズとしてL判が一意に特定される。一方、用紙センサ118により検出した用紙幅が99.0mmの場合、用紙サイズとして、当該検出された用紙幅に最も近いはがきサイズが特定され、さらにはがき以外にも、用紙情報304で指定されている封筒洋形6号、4×6判が特定される。
以上のようにCPU201は、図4(a)または図4(b)の用紙サイズテーブルに基づき、用紙幅301に加えて用紙長302も含めた印刷用紙の用紙サイズを判定する。そして、CPU201は、判定した用紙サイズに応じた印刷処理を実行する。
なおCPU201は、図4で示した用紙サイズ(定型サイズ)以外にも、任意の用紙サイズを用紙サイズとして設定して、印刷を行うことができる。具体的には、mm(ミリメートル)単位で用紙幅、用紙長を用紙サイズとして設定して、設定された用紙幅、用紙長に応じて印刷対象の画像を変倍することにより、設定された用紙サイズに対応する大きさの画像を印刷用紙に印刷することができる。
図5は、CPU201による印刷制御処理の一例を示すフローチャートである。なお図5に示すフローチャートの処理に対応するプログラムがプログラムメモリ203に格納されている。CPU201はこのプログラムをワークメモリ205に読み出し、ワークメモリ205上で実行することにより、図5に示すフローチャートの各ステップにおける処理を実現することができる。
S1000でCPU201は、インタフェース制御部207を介して外部装置からの印刷ジョブを受信し、データメモリ204に格納する。なお、この印刷ジョブには、印刷装置100における印刷対象となる画像等のデータと、当該データの印刷における印刷用紙の種別、印刷用紙のサイズの印刷設定を示す印刷設定情報が含まれている。
S1000において印刷ジョブが受信されると、CPU201はS1001において、印刷設定において設定されている用紙サイズ、当該印刷ジョブを送信した装置の種類、当該印刷ジョブに含まれている印刷対象のデータの種類を特定する。
なおS1001でCPU201は、S1000において受信された印刷ジョブに含まれている印刷設定情報を解析する。そして、その印刷設定情報内で当該印刷ジョブに対応する印刷対象のデータに対して設定されている印刷用紙の設定サイズ(設定用紙サイズ)を特定する。この印刷設定情報内の設定用紙サイズは、S1000において受信された印刷ジョブを送信した装置(サーバやホストコンピュータ、スマートデバイスなど)により設定される。例えば、当該装置のユーザが当該装置の画面上で印刷用紙のサイズを指定すると、そのサイズを示すサイズ情報が設定用紙サイズとして印刷設定情報内に登録され、当該印刷設定情報を含む印刷ジョブがS1001で受信される。S1001では、例えばこのように設定された印刷用紙のサイズが特定される。
なお上記印刷設定情報は、印刷ジョブ内において、印刷対象のデータとは別の情報として印刷ジョブに含まれている。即ち、上記設定用紙サイズを示す情報についても、印刷対象のデータとは別に含まれている。またDPOF (Digital Print Order format)ファイルのように、設定用紙サイズを含む印刷設定情報が1つのファイルとして印刷装置100に送信されてもよい。即ち、印刷対象のデータ(JPEGファイル等)とは別のファイルとして印刷設定情報が印刷装置100に送信されてもよい。
また、設定用紙サイズをユーザが指定する場合に限らず、印刷対象のデータに対して予め設定用紙サイズが設定されている場合であってもよい。例えば印刷対象のデータの写真画像のファイルのヘッダ部に当該写真画像を印刷する際の用紙サイズが記載されている場合でもよってもよい。またPDF(Portable Document Format)ファイルなどページサイズが指定されているデータが印刷対象である場合、S1001では、このページサイズを設定用紙サイズとして特定されてもよい。
ただし、S1000において受信された印刷ジョブを送信した装置や、当該印刷ジョブにおいて印刷指示を行ったアプリケーションによって、印刷設定情報に印刷用紙のサイズの設定情報が含まれている場合と、その設定情報が含まれていない場合がある。S1001では、印刷用紙のサイズの設定情報が含まれている場合に、当該設定情報が示すサイズを上記の設定用紙サイズとして特定される。
また、装置の種類を判定する場合、例えば外部装置から印刷ジョブを受信したときの通信におけるプロトコルにより種類を判定してもよいし、当該外部装置から当該外部装置の種類を示す情報を受信し、当該情報により判定を行ってもよい。また印刷対象のデータの種類は、印刷対象のファイルの拡張子を確認することで判定されてもよいし、印刷ジョブを送信した装置から印刷対象のデータの種類を示す情報を印刷装置100が受信し、その情報により判定処理を行うようにしてもよい。
S1002では、S1001において特定された装置の種類と印刷対象のデータの種類に応じて、印刷対象の画像の大きさを印刷装置100に格納されている印刷用紙のサイズに合わせて印刷を行うフィッティング印刷を実行するか判定する。具体的には、S1001において特定された装置の種類とデータの種類がそれぞれ所定の種類であるか判定し、当該所定の種類である場合に、フィッティング印刷を行うものと判定する。例えば印刷装置100がサーバやホストコンピュータ、スマートデバイス208から印刷ジョブを受信可能である場合、スマートデバイス208を上記所定の種類の装置としてフィッティング印刷を実行する。また印刷対象のデータのファイル形式を確認し、ファイル形式が所定のファイル形式であるか判定するものとする。上記の所定の種類として、例えば印刷対象として写真が選ばれる可能性が高い装置、ファイル形式を上記の所定の種類として設定することで、写真についてより確実にフィッティング印刷を実行することができる。
印刷装置100において印刷可能なファイルの形式として、JPEG形式、所定のラスターファイル形式、PDFが含まれているものとする。そして、ファイル形式の上記所定の種類は、例えばJPEG形式や所定のラスター形式であり、S1002では、S1001において特定されたファイル形式が所定のファイル形式である場合、フィッティング印刷を実行すると判定する。一方、S1001において特定されたファイル形式がPDFである場合、フィッティング印刷を実行すると判定する。
なお、S1002では装置の種類と印刷対象のデータの種類の両方に基づいてフィッティング印刷を実行するか判定されているが、いずれかの種類により判定処理が行われてもよい。例えば撮影装置により撮影された画像のファイル形式としてJPEG形式で画像がメモリに記憶されることがある。そこでS1002では、印刷対象のデータがJPEG形式である場合にフィッティング印刷を実行するよう判定処理を行ってもよい。
またS1001において特定されS1002における判定の条件となる情報は種々のものであってよい。例えば印刷装置100の印刷モードがフィッティング印刷を行うモードであった場合に、フィッティング印刷を行うようにしてもよい。さらに、印刷装置100が複数のインタフェースを備える場合には、S1001における印刷ジョブの受信で使用されたインタフェースによりフィッティング印刷を行う判定してもよい。また印刷設定情報において「等倍印刷」が指定されている場合にはフィッティング印刷を行わないようにしてもよい。
また他の条件として、S1001において受信された印刷ジョブに含まれている印刷設定情報において用紙サイズが指定されていなかった場合に、フィッティング印刷を行うようにしてもよい。このように用紙サイズが指定されていなかった場合とは、例えば用紙サイズを示す情報が印刷設定情報に含まれていなかった場合でもよいし、フィッティング印刷を指示するための情報が用紙サイズの情報として印刷設定情報に含まれている場合であってもよい。
さらに別の条件として、用紙センサ118による用紙幅の検出によりフィッティング印刷を行うことをユーザが画面上で指示したかに応じて、フィッティング印刷を行うか判定する場合であってもよい。例えば上記指示を行うためのチェックボックスを含む画面を印刷装置100のCPU201が操作パネル218に表示させ、当該チェックボックスにユーザがチェックを入れた場合に、フィッティング印刷を行うようにする。他にも、印刷ジョブデータを印刷装置100に送信する外部装置において上記の画面が表示され、ユーザがその外部装置においてフィッティング印刷を指示する場合でもよい。この場合、外部装置はフィッティング印刷を行わせるための情報を印刷ジョブデータの中に含ませて(または印刷ジョブデータに付加して)、印刷装置100に送信する。印刷装置100のCPU201は、S1002において、外部装置から上記の情報が受信されたか否かにより、フィッティング印刷を行うか判定する。なお、操作パネル218または外部装置に表示される上記の画面は印刷前に予め表示され、印刷前にユーザが指示した内容が印刷実行時にS1002において確認されることで、フィッティング印刷を行うか判定される。また他にも、上記の画面が印刷実行時に表示されて印刷実行時にユーザが指示を行う場合であってもよい。
さらにフィッティング印刷を行わせるためのユーザによる上記の指示がなかった場合、S1001において特定された装置の種類と印刷対象のデータの種類に関わらず、フィッティング印刷を行わないようS1002において判定してもよい。即ち、ユーザによる上記の指示があり、且つ装置の種類と印刷対象のデータの種類が所定の種類である場合に、フィッティング印刷を行うよう判定してもよい。
S1002において、フィッティング印刷が実行されると判定された場合には、S1003〜S1006の処理が実行される。一方、フィッティング印刷が実行されると判定されなかった場合、S1007に処理が遷移する。
S1003でCPU201は、モータ制御部209、センサ制御部214により、キャリッジ113および用紙センサ118を駆動させ、図2を用いて説明した用紙幅検出を実行する。続くS1004では、S1003における用紙幅検出により検出された用紙幅を取得し、ワークメモリ205に用紙幅情報として記憶する。
次にCPU201はS1005において、S1004において記憶された用紙幅情報と図4の用紙サイズテーブルを参照して、印刷装置100がサポートする定型用紙サイズのから1または複数の用紙サイズを印刷媒体のサイズの候補として特定する。上述のように、S1004において記憶された用紙幅情報によっては、複数の用紙サイズが印刷媒体のサイズの候補として抽出される。なお、この抽出された用紙サイズ(群)は、候補用紙サイズ情報としてワークメモリ205に記憶される。
次にCPU201はS1006において、印刷装置100において搬送されている印刷媒体の大きさに合わせて印刷対象の画像を画像メモリ206上に作成するフィッティング処理を実行する。このフィッティング処理の詳細については図6を用いて説明する。
上記S1002における判定においてフィッティング印刷が実行されると判定されなかった場合、S1007の処理が実行される。S1007においてCPU201は、印刷設定情報により指定されている印刷設定に従って印刷対象の画像を画像メモリ206上に作成する。例えば印刷ジョブに印刷対象の画像データが含まれており、印刷設定において印刷方法として「拡大/縮小印刷」、印刷用紙サイズとして「A4サイズ」が設定されていた場合、画像データを展開し、展開された画像をA4サイズに合わせて変倍する。また印刷方法として「等倍印刷」が指定されていた場合には、上記変倍処理を行わずに印刷対象の画像を作成する。なお、フチなし印刷が指定されている場合は、印刷設定に設定されている印刷用紙サイズがフチなし拡大率で拡大されたレイアウト領域に印刷対象の画像がレイアウトされる。
例えばS1001において特定されたファイル形式がPDFである場合、S1002においてフィッティング印刷は実行されないと判断される。この場合、S1007において、PDFファイルにおいて設定されているページサイズに応じて用紙サイズを設定してもよい。
PDFファイルでは、ページサイズの情報をファイル内に書き込むことが可能であり、例えばPDFファイル内のページに対して適切なページサイズが書き込まれている。仮にそのページサイズ以外のサイズにページのフィッティングを行った場合、本来印刷されるべき印刷用紙のサイズとは異なる印刷用紙に印刷が行われてしまう場合がある。そこで、S1001において特定されたファイル形式がPDFの場合、フィッティング印刷は行われず、S1007においてPDFファイル内のページサイズが印刷用紙のサイズとして設定される。
また印刷対象がPDFファイルの場合、S1007において用紙センサ118による用紙幅の検出が実行されてもよい。この場合、PDFファイル内のページサイズの幅と、用紙センサ118による用紙幅を比較する。そして、両者の差が所定の幅よりも小さければページサイズに合わせた印刷が実行され、上記差が所定の幅以上であれば、印刷用紙のサイズをユーザが確認するためのエラーメッセージが操作パネル218に表示されてもよい。
S1008においてCPU201は、上記のS1006またはS1007において画像メモリ206上に作成された印刷対象の画像をヘッド制御部213に出力する。そして、印刷ヘッド112、キャリッジ113を駆動させて当該印刷対象の画像を印刷媒体に印刷させる。
なお、上記S1006またはS1007において印刷対象の画像を作成するときに、印刷対象のデータがJPEG画像ファイル等の画像データであれば伸長処理を行ってビットマップデータを画像メモリ206上に展開する。また印刷対象のデータがベクターデータの場合は画像メモリ206においてレンダリング処理を行い、画像メモリ206上にビットマップデータを展開する。
以上、図5のフローチャートが示す処理により、印刷設定に応じた大きさまたは用紙センサ118の検出結果に基づく大きさの画像が印刷装置100により印刷される。
図6は、図5のS1006におけるフィッティング処理の内容を示すフローチャートである。
図6のS1200においてCPU201は、図5のS1001において設定用紙サイズが特定されたか判定する。上記S1001に関する記載で説明したように、印刷ジョブを送信した装置や印刷指示を行ったアプリケーションによって、印刷設定情報に印刷用紙のサイズを示す設定情報が含まれている場合と、その設定情報が含まれていない場合がある。S1200では、印刷ジョブの印刷設定情報に印刷用紙のサイズを示す設定情報が含まれており、S1001においてその設定情報が示す設定用紙サイズが特定された判定する。
S1200において、S1001において設定用紙サイズが特定されたと判定された場合はS1201に進み、設定用紙サイズが特定されなかったと判定された場合にはS1205に進む。S1205における処理については後述する。
S1201においてCPU201は、S1001で特定された設定用紙サイズが、用紙センサ118により検出された印刷用紙の幅に基づく印刷用紙のサイズのS1005で取得された候補(群)に含まれるか判定する。設定用紙サイズが候補用紙サイズ群に含まれないと判定された場合にはS1202へ進む。一方、設定用紙サイズS1005が候補用紙サイズ群に含まれると判断された場合、S1211に進む。S1211の処理の詳細については後述する。
S1202においてCPU201は、S1001で特定された設定用紙サイズと、S1005で特定された候補用紙サイズ(群)のそれぞれの縦横比(アスペクト比)を特定する。候補用紙サイズ(群)については、複数の候補がある場合には、その候補それぞれの縦横比が特定される。
なお、候補用紙サイズ(群)の縦横比は、図4に示した用紙サイズ管理テーブル内の縦横比(アスペクト比)303を参照することで設定用紙サイズの縦横比を特定することができる。例えば候補が「封筒洋形6号」、「はがき」、「4×6判」である場合、それぞれの縦横比が1.94、1.48、1.50であると特定することができる。
また設定用紙サイズが定型サイズの場合、候補用紙サイズ(群)と同様に、図4に示した用紙サイズ管理テーブル内の縦横比(アスペクト比)303を参照することで設定用紙サイズの縦横比を特定することができる。例えば設定用紙サイズが「L判」の場合、用紙サイズ管理テーブルを参照することで、縦横比「1.43」を特定することができる。また本実施形態では、設定用紙サイズとして定型サイズに限らず、非定形サイズが指定されてもよい。例えば印刷ジョブを送信する装置においてユーザが印刷用紙の幅、長さをミリメートル単位で任意に指定できるようにしてもよい。そして設定用紙サイズとしては、印刷用紙の幅、長さを示すミリメートル単位の値が設定され、S1001ではこの値が特定される。このように設定用紙サイズが非定形サイズである場合、S1202では、(設定用紙サイズの長さの値/設定用紙サイズの幅の値)を算出することで、設定用紙サイズの縦横比を特定することができる。
S1203においてCPU201は、S1202において特定された設定用紙サイズの縦横比に対応する候補を抽出する。具体的には、S1202において特定された設定用紙サイズの縦横比に対するズレの許容範囲を設定し、S1202において特定された候補用紙サイズ(群)の縦横比がその許容範囲内であるか判定する。そして、許容範囲内にある縦横比に対応する候補を特定する。本実施形態では縦横比の許容範囲を、設定用紙サイズの縦横比の+−0.1であるとする。例えば設定用紙サイズが「L判(縦横比:1.43)」の場合、S1203では縦横比が1.33〜1.53の範囲にある候補が抽出される。例えば候補が「封筒洋形6号(縦横比:1.94)」、「はがき(縦横比:1.48)」、「4×6判(縦横比:1.50)」である場合、「封筒洋形6号」が除外され、「はがき」、「4×6判」が抽出される。
S1204においてCPU201は、S1203において候補用紙サイズ(群)から、設定用紙サイズの縦横比に対応する候補が抽出されたか判定する。候補が抽出されたと判定された場合S1205に進み、候補が抽出されなかったと判定された場合S1213に進む。S1213の処理の詳細については後述する。
CPU201はS1205において、S1005で取得された印刷用紙のサイズの候補が1つのみであるか判定する。S1205において印刷用紙のサイズの候補が複数あると判定された場合、S1206に進む。一方、印刷用紙のサイズの候補が1つのみであると判定された場合、その候補を印刷用紙のサイズ(設定用紙サイズ)として設定し、S1211に進む。S1211における処理については後述する。
S1206においてCPU201は、S1000において受信された印刷ジョブの印刷における余白設定としてフチなし印刷が設定されているか判定する。フチなし印刷が設定されているか判定するときの条件は種々のものであってよい。例えば印刷装置100の印刷モードがフチなし印刷を行うモードであった場合に、フチなし印刷が設定されていると判定してもよい。また図5のS1001においてスマートデバイス208から受信された印刷ジョブに含まれている印刷設定情報から余白設定を入力し、その余白設定においてフチなし印刷が指定されていた場合に、フチなし印刷が設定されていると判定してもよい。さらに、図5のS1001において印刷ジョブとともに、印刷ジョブを送信した装置や印刷指示に用いられたアプリケーションを特定するための情報を受信してもよい。この場合、当該情報により特定された装置やアプリケーションの種類によってフチなし印刷が設定されているか判定してもよい。印刷に使用される印刷用紙のサイズや種別によりフチなし印刷が設定されるか判定してもよい。例えば印刷用紙のサイズが「L判」、「2L判」である場合や、印刷用紙の種別が「光沢紙」で有る場合など、印刷対象の画像が写真であることが多い印刷用紙が印刷設定として設定されていた場合に、フチなし印刷が設定されていると判定してもよい。
S1206において、フチなし印刷が指定されていると判定された場合、S1207へ進む。S1207でCPU201は、候補用紙サイズ群に含まれている印刷用紙のサイズの複数候補それぞれの用紙幅から最小の用紙幅を取得し、印刷対象の画像が展開されるレイアウト領域の幅(レイアウト幅)としてワークメモリ205の所定の領域に記憶する。例えばA4サイズ(用紙幅210.0mm、用紙長297.0mm)、レターサイズ(用紙幅215.9mm、用紙長279.4mm)が候補である場合、S1207でCPU201は、A4サイズの用紙幅210.0mmが取得される。S1208では、候補用紙サイズ群に含まれている印刷用紙のサイズの複数候補それぞれの用紙長から最小の用紙長を取得し、レイアウト長としてワークメモリ205の所定の領域に記憶する。上記の例であると、レターサイズの用紙長279.4mmが取得される。
一方、S1206において、フチなし設定されていると判定された場合にはS1209へ進む。S1209でCPU201は、候補用紙サイズ群から最大の用紙幅を取得し、レイアウト幅としてワークメモリ205の所定の領域に記憶する。A4サイズ、レターサイズが候補である場合、レターサイズの用紙幅215.9mmが取得される。次にS1210でCPU201は、候補用紙サイズ群から最大の用紙長を取得し、印刷対象の画像が展開されるレイアウト領域の長さ(レイアウト長)としてレイアウト長としてワークメモリ205の所定の領域に記憶する。上記の例では、A4サイズの用紙長297.0mmが取得される。
なお、上記の説明においてはS1209、S1210において、候補用紙サイズ群全ての中から最大の幅、長さを取得してレイアウト幅、レイアウト長を決定した。しかし印刷装置100のプラテン111の構成や、用紙の種類、利用用途に応じて、フチなし印刷をサポートしていない用紙サイズが含まれる場合がある。このような場合にはS1209、S1210で行うフチなし印刷の場合のレイアウト決定処理において候補用紙サイズ群の中からフチなし印刷をサポートしている用紙サイズに限定して最大の幅、最大の長さを取得するようにしてもよい。
以上のS1206からS1210までの処理でレイアウト幅およびレイアウト長を決定すると、CPU201はS1212へ進む。
S1212では、図5のS1000において受信された印刷ジョブに対応する印刷対象の画像を、記憶されたレイアウト幅、レイアウト長に合わせて拡大または縮小した上でデータメモリ204中の画像メモリ206上で展開する。
なおS1212では、印刷ジョブに印刷対象の画像が含まれている場合には、その画像を画像メモリ206上で展開する。また印刷ジョブにテキストデータやベクターデータが含まれている場合、またはHTML等の構造化文書が印刷対象である場合には、CPU201は、それらのデータに対するレンダリング処理を行うことで画像メモリ206上に印刷対象の画像を展開する。さらに、印刷対象のデータの格納場所を特定するためのURLやファイルパス情報が印刷ジョブに含まれている場合には、CPU201はそれらの情報に従って外部のサーバや内部または外部のメモリから印刷対象のデータを取得する。そして、そのデータに基づいて印刷対象の画像を画像メモリ206上で展開する。
上記のS1201において設定用紙サイズが候補用紙サイズ(群)に含まれていると判定された場合、またはS1205において候補用紙サイズが1つのみと判定された場合、S1211に進む。
S1211では、設定用紙サイズの幅、長さ、および余白設定に応じて、印刷対象の画像が展開されるレイアウト領域の幅(レイアウト幅)、レイアウト領域の長さ(レイアウト長)としてワークメモリ205の所定の領域に記憶し、S1212へ進む。
S1212では、上記のように、S1211において決定されたレイアウト領域の幅、長さに合わせて印刷対象の画像が拡大または縮小され、当該印刷対象の画像が画像メモリ206上で展開される。
上記のS1202〜S1205の処理を経てS1211における処理が実行された場合、候補用紙サイズ(群)のうち、設定用紙サイズの縦横比に対応する候補が特定され、その候補に応じてレイアウト領域の大きさが決定される。即ち、S1201においてNO(設定用紙サイズが候補用紙サイズに含まれない)の場合、設定用紙サイズの縦横比に近い縦横比の候補に応じた大きさの画像が印刷される。
また上述のように、S1201において設定用紙サイズが候補用紙サイズ(群)に含まれていると判定された場合、S1211においてその設定用紙サイズにより、印刷対象の画像が展開されるレイアウト領域の幅、長さが決定される。
よって、例えば印刷ジョブを送信する装置においてユーザが印刷用紙のサイズとして所望のサイズを指定した場合に、そのサイズに対応する大きさのレイアウト領域に画像を展開し、当該画像を印刷させることができる。
また設定用紙サイズが候補用紙サイズ(群)に含まれておらず、また設定用紙サイズの縦横比に近い縦横比の候補が複数ある場合には、S1206〜S1210の処理により、フチなし印刷設定の有無に応じてレイアウト領域の幅、長さが決定される。
S1207、S1208における処理によれば、印刷用紙のサイズの候補が複数あり且つフチなし印刷が指定されていると判定されなかった場合(S1206でNo)、複数の候補のそれぞれの用紙幅、用紙長うちの最小の用紙幅、用紙長が取得される。そして、S1212において、最小の用紙幅、最小の用紙長のそれぞれから余白が除かれた展開領域の大きさに合わせて印刷対象の画像の変倍が行われる。すると、印刷装置100に使用される印刷用紙が複数の候補のいずれであっても、印刷用紙の用紙幅、用紙長よりも幅、長さが短い印刷対象の画像が生成されるため、印刷対象の画像の全体を印刷用紙に印刷することができる。
またS1209、S1210の処理によれば、用紙サイズの候補が複数あり且つフチなし印刷が指定されると判定された場合(S1206でYES)、複数の候補のそれぞれの用紙幅、用紙長うちの最大の用紙幅、用紙長が取得される。そしてS1212において、その最大の用紙幅、最大の用紙長が更にフチなし拡大率で拡大された展開領域に合わせて印刷対象の画像が変倍される。すると、印刷装置100に使用される印刷用紙が複数の候補のいずれであっても、印刷用紙の用紙幅、用紙長よりも幅、長さが長い印刷対象の画像が生成されるため、フチなし印刷の指定通り、印刷用紙に余白が設けられないように印刷を実行することができる。
上記のS1204において、設定用紙サイズの縦横比に近い縦横比の候補用紙サイズ(群)が抽出されなかったと判定されると、S1213に進む。このとき、図5のS1003において用紙センサ118により印刷用紙の幅を検出するために、印刷に使用される印刷用紙が図1における用紙センサ118の下の位置まで搬送されている。S1213でCPU201は、当該印刷(図5のS1000で受信された印刷ジョブに基づく印刷)をキャンセルするために、印刷ヘッド112による印刷を行わずに、搬送モータ210を制御して当該印刷用紙を排紙トレイ117に排紙する。
次にS1214においてCPU201は、当該印刷がキャンセルされたことをエラーとしてユーザに通知する。例えば、パネル制御部217を制御して、設定用紙サイズと印刷装置100において搬送された印刷用紙のサイズが異なることを示す表示を操作パネル218に表示させる。なお、このとき、設定用紙サイズと候補用紙サイズ(群)の両方または一方を表示して、ユーザが設定用紙サイズと印刷装置100に印刷させる印刷用紙のサイズの両方または一方を修正して、再度印刷を指示できるようにしてもよい。またエラー通知の方法は表示に限らず、例えば不図示のスピーカーから警告音や警告の内容を知らせる音声を出力するようにしてもよい。
S1211においてエラー通知が行われると、処理を終了する。このとき、図5のS1008には進まないため、当該印刷がキャンセルされる。
上記S1213、S1214の処理によれば、設定用紙サイズの縦横比に近い縦横比の候補が抽出されなかった場合(S1204でNO)、印刷がキャンセルされる。例えばユーザが設定した設定用紙サイズと印刷に使用される印刷用紙のサイズが大きく異なり(S1201でNO)、またその設定用紙サイズと印刷用紙で縦横比も大きく異なる場合(S1204でNO)、印刷を適切に印刷できない場合がある。具体的には、例えば印刷対象の画像の縦横比に合わせてユーザが設定用紙サイズを指定していた場合に、その縦横比と大きく異なる縦横比の印刷用紙に印刷が行われると、印刷用紙において不要な余白が大きくなってしまう。S1213、S1214の処理によれば、このように不要な余白が大きくなってしまう印刷を適切に制限することができる。
なお、印刷を制限する方法として、印刷をキャンセルする方法に限らず、例えばS1210における排紙を行わずにS1211におけるエラー通知を行い、当該エラー通知に対してユーザが印刷実行を指示した場合には、印刷を実行する方法であってもよい。この場合、ユーザがエラー通知に対して印刷のキャンセルを指示した場合に、S1210における排紙が行われ、印刷がキャンセルされる。
またこのようにユーザの指示によりキャンセルを行うか判断するものに限らず、様々な条件に従って印刷のキャンセルを行うか否かを判定してもよい。その条件として、印刷設定情報において設定されている印刷用紙の種別を用いてもよい。例えば印刷用紙の種別が写真紙(光沢紙、コート紙など)である場合にはキャンセル処理を行い、種別が普通紙である場合にはキャンセルを行わずに、設定用紙サイズまたは候補用紙サイズに従って印刷を実行するようにしてもよい。これにより、光沢紙などの比較的高価な印刷用紙に印刷が行われる可能性があるときに、その印刷用紙のサイズに適さないサイズの画像が印刷されてしまうことを防ぐことができる。また例えばユーザが封筒に印刷を行わせる前に、設定用紙サイズとして「封筒洋形6号」を指定してA4サイズの普通紙に印刷を実行させ、印刷結果を確認することが考えられる。上記構成によれば、このように設定用紙サイズと候補用紙サイズの大きさや縦横比が異なる場合でも用紙種別が普通紙であれば印刷が実行されるため、ユーザが意図した上記印刷を実現することができる。
以上のように、図6に示した処理によれば、S1201においてNO(設定用紙サイズが候補用紙サイズに含まれない)の場合、設定用紙サイズの縦横比に近い縦横比の候補に応じた大きさの画像が印刷される。即ち、印刷される画像と印刷用紙の縦横比が近く、またその印刷用紙のサイズに応じたサイズの画像が印刷される。
例えば、ユーザが写真画像を印刷させる場合、以下のような用紙が設定用紙サイズの選択候補となる。「L判(縦横比:1.43)」、「はがき(縦横比:1.48)」、「4×6判(縦横比:1.50)」、「2L判(縦横比:1.40)」、「六切:(縦横比:1.25)」、「A4(縦横比:1.41)」。
このように写真画像に対して使用される印刷用紙の選択候補は、大きさとしては様々であるが、縦横比が近いことがわかる。例えばデジタルカメラやスマートデバイス等の撮影装置により撮影された画像の場合、横対縦の比率が4:3、3:2、16:9等、アスペクト比が近いため、画像の印刷の際に使用される印刷用紙のアスペクト比も近くなる。
このように写真画像に対して使用される印刷用紙の縦横比は、おおよそ類似した縦横比である。その一方、写真印刷の用途に使用されることの少ない「封筒洋形6号(縦横比:1.94)」、「封筒長形3号(縦横比:1.96)」は、上記写真印刷のための選択候補とは縦横比が大きく異なる。
よって候補用紙サイズ(群)のうち、設定用紙サイズに縦横比が近い候補が、印刷対象のデータの種類に対してより適切な候補であると考えられる。例えば設定用紙サイズが「L判」である場合、写真印刷の用途に用いられることの少ない「封筒長形3号」よりも、写真印刷の用途に用いられる「2L判」の方が適切である場合が多い。
そして、上記のように写真印刷の用途に用いられる印刷用紙の縦横比は類似しており、図6のS1203では設定用紙サイズの縦横比に近い候補が抽出されるため、ユーザの印刷用途(例えば写真印刷)に沿った適切な候補を選択することができる。
例えばユーザが写真を印刷させるために2L判の印刷用紙を印刷装置100にセットしたものの、誤って設定用紙サイズとしてL判を指定してしまう場合が考えられる。そして、候補用紙サイズとして「封筒長形3号」、「2L判」が候補となっていた場合、印刷用紙(2L判)の縦横比が設定用紙サイズ(L判)の縦横比と近いため、その2L判の印刷用紙に応じた適切な大きさの画像が印刷される。
仮に封筒長形3号が候補として選択された場合、ユーザが写真印刷を意図していたにも拘らず、写真印刷に使用されることの少なく、印刷装置100にセットされている可能性の低い印刷用紙に合わせた印刷が行われてしまう。図6のS1203によれば、設定用紙サイズ、候補用紙サイズ(群)のそれぞれの縦横比により、封筒長形3号が除外され、印刷の用途である写真印刷に対応する2L判を適切に抽出することができる。
なお上記の説明では、印刷対象のデータに対して設定されている設定用紙サイズがS1001において特定され、図6の処理では、その設定用紙サイズを用いて処理を行う例を示した。
しかしこれに限らず、設定用紙サイズの代わりに、印刷対象の画像の縦横比を用いて処理を行ってもよい。例えばS1000において受信された印刷ジョブに印刷対象の画像が含まれている場合に、S1202では、その印刷対象の画像の縦横比が特定される。例えば印刷対象の画像の縦方向、横方向それぞれ画素数をカウントし、(縦方向の画素数/横方向の画素数)を算出することで、印刷対象の画像の縦横比を特定することができる。またJPEGファイルなど、ヘッダ部に画像の縦、横の画素数が記述されているファイルが印刷対象の場合、ヘッダ部に記載の画素数を参照することで、画像の縦横比を特定してもよい。
このようにS1202において印刷対象の画像の縦横比が特定されると、S1203〜S1205、S1211の処理により、候補用紙サイズ(群)のうち、印刷対象の画像の縦横比に近い縦横比の候補に応じて、レイアウト領域のサイズが決定される。そして、このようにサイズが決定されたレイアウト領域に当該印刷対象の画像が展開され、印刷が実行される。
上記のように、デジタルカメラやスマートデバイスで撮影された写真画像と、写真画像の印刷に多く用いられる印刷用紙において縦横比が近い。よって、印刷対象が写真画像であり、写真印刷の用途に用いられることの少ない「封筒長形3号」と写真印刷の用途に多く用いられる「2L判」が候補である場合、S1203の処理により「2L判」を適切に抽出することができる。
また図6のS1203について上記の説明では、設定用紙サイズの縦横比に対する許容範囲内の縦横比の候補を抽出する例を説明した。しかし許容範囲を設ける場合に限らず、候補用紙サイズ(群)のうち、最も縦横比が設定用紙サイズの縦横比に近い候補を一意に特定してもよい。
図7は、本実施形態により決定されたレイアウト領域を示す図である。
図7(a)は、設定用紙サイズとして「L判」が指定されており、候補用紙サイズ(群)として「はがき」、「4×6判」、「封筒(洋形6号)」の3つのサイズが特定された場合のレイアウト領域の例を示す。なお、このときフチなし指定がされているものとする。
このとき、仮に候補用紙サイズ「封筒洋形6号」、「はがき」、「4×6判」を考慮する場合、フチなし印刷を確実に実行するためには、封筒洋形6号の長さよりもレイアウト長が大きいレイアウト領域を設定しなくてはならない。しかし設定用紙サイズはL判であるため、印刷用途は写真印刷である可能性が高く、また印刷装置にセットされている印刷用紙のサイズも写真印刷に対応するものである可能性が高い。それにも拘らず封筒洋形6号の長さ方向を包含するレイアウト領域が設定された場合、印刷装置にセットされている印刷用紙のサイズが「はがき」、「4×6判」であった場合に、不要なはみ出し量が多くなってしまい、写真画像が大きく欠けてしまう。
そこで本実施形態では図6の処理により、設定用紙サイズである「L判」に縦横比が近く写真印刷において設定されることが多い「はがき」、「4×6判」が候補として抽出され、封筒印刷において設定されることが多い「封筒洋形6号」が候補から除外される。
上述したように、設定用紙サイズとして写真印刷の用途に多く用いられる「L判」が指定されている場合、少なくとも写真印刷の用途に使用されることが少ない「封筒洋形6号」よりも「はがき」「4×6判」の方が適切であると考えられる。図6の処理によれば、設定用紙サイズと候補用紙サイズの縦横比により、設定用紙サイズに対応する印刷用途に適した候補が選択される。
このときフチなし印刷が指定されているため、S1206、S1209、S1210の処理により、印刷用途に対応し印刷装置にセットされている印刷用紙のサイズである可能性が高い「はがき」「4×6判」のいずれよりも大きなレイアウト領域が決定される。
図7(a)に示すように、設定用紙サイズに対応する印刷用途(写真印刷)に対応する候補(はがき、4×6判)の両方を含むレイアウト領域が設定されている。よって、印刷装置にセットされている印刷用紙に対してフチなし印刷を適切に実行することができる。例えばユーザが写真のフチなし印刷を意図したものの誤って印刷用紙とは異なる「L判」を指定した場合に、印刷に使用される印刷用紙に応じた大きさの印刷用紙に、印刷対象の画像外の余白を設けずに印刷を行うことができる。
図7(b)は、設定用紙サイズが「封筒長形3号」であり、候補用紙サイズ(群)として「はがき」、「4×6判」、「封筒(洋形6号)」の3つのサイズが特定された場合のレイアウト領域の例を示す。なお、このときフチなし指定がされているものとする。
このとき、仮に候補用紙サイズ「封筒洋形6号」、「はがき」、「4×6判」を考慮する場合、フチなし印刷を確実に実行するためには、4×6判の幅よりもレイアウト幅が大きいレイアウト領域を設定しなくてはならない。しかし設定用紙サイズは封筒長形3号であるため、印刷用途は封筒印刷である可能性が高く、また印刷装置にセットされている印刷用紙のサイズも封筒印刷に対応するものである可能性が高い。それにも拘らず4×6判の幅よりもレイアウト幅が大きいレイアウト領域が設定された場合、印刷装置にセットされている印刷用紙のサイズが「封筒洋形6号」であった場合に、不要なはみ出し量が多くなってしまい、写真画像が欠けてしまう。
本実施形態では、設定用紙サイズと候補用紙サイズの縦横比が考慮される。このとき設定用紙サイズが「封筒長形3号(縦横比:1.98)」であるため、印刷の用途は封筒印刷であると考えられる。また封筒は、「はがき(縦横比:1.48)」「4×6判(縦横比1.50)」よりも縦横比が大きい。S1204では、上記3つの候補のうち、「はがき」「4×6判」が候補から除外され、「封筒洋形6号」が候補として抽出される。よって印刷用途である封筒印刷に対して適切な候補である「封筒洋形6号」が選択される。
この場合、S1204において候補が1つに絞り込めたため、S1211においてその候補に応じてレイアウト領域が設定される。またここではフチなし印刷が指定されているため、封筒洋形6号よりも大きなサイズのレイアウト領域が設定される。
例えばユーザが封筒印刷を意図して「封筒洋形6号」の封筒を印刷装置100にセットしたものの、誤って「封筒長形3号」を設定用紙サイズとして指定してしまった場合に、印刷に使用される封筒洋形6号に応じた適切なサイズの画像を印刷することができる。
以上、図6、図7を用いて説明したように、本実施形態によれば、設定用紙サイズに対応する印刷用途に応じた候補を抽出し、その抽出された候補に応じた大きさの画像を印刷することができる。
なお以上の実施形態では、印刷装置100が外部装置から印刷ジョブを受信したときに、印刷用紙の用紙サイズを判定して、判定された用紙サイズに応じた印刷を実行する例について説明した。しかしこれに限らず、印刷装置100が備えるスキャナ220により読み取られたスキャン画像を印刷用紙に印刷させるコピー機能において、用紙サイズの判定を行ってもよい。
また、上記の実施形態では、インタフェースを介して接続されたスマートデバイス208からの印刷ジョブの場合を説明したが、電話回線やネットワーク回線により接続された、遠隔地からの印刷であってもよい。印刷ジョブを発行する装置はスマートデバイス208として説明したが、スマートデバイス208の代わりに、携帯電話、ホストコンピュータ、デジタルテレビ等の装置であってもよい。また、ユーザが操作する装置から直接印刷ジョブを受け取る形態であっても、プリントサーバーやクラウドサービス等の中間装置を通して印刷ジョブを受け取る形態であってもよい。
図8は、コピー機能における印刷制御処理の一例を示すフローチャートである。図8に示すフローチャートの処理は、図5において示した処理と同様に、CPU201により実行される。また図8に示すフローチャートの処理は、ユーザが印刷装置100の操作パネル218を用いてコピー機能を選択し、コピー機能実行の指示がCPU201に入力されたときに実行される。
S2000においてCPU201は、パネル制御部217により、コピー機能におけるコピー設定やコピー開始をユーザが指定するための設定画面を操作パネル218の表示パネルに表示させる。コピー設定画面により設定される内容には、コピー機能において印刷される印刷用紙の用紙サイズ、印刷部数、余白設定、印刷濃度等の設定が含まれる。余白設定には、印刷用紙において余白(フチ)を設けるか否を示す「フチなしコピー」の指定や、フチなしコピーが指定されないときの余白の幅の設定が含まれる。なお、初期設定のコピー設定を示すコピー設定情報がプログラムメモリ203に記憶されており、CPU201はコピー設定情報をデータメモリ204に読み出して、上記初期設定をコピー設定画面に表示させる。ユーザはそのデフォルト設定を変更することによりコピー設定を指示することができる。
上記コピー設定には、スキャナ220により読み取られたスキャン画像の変倍(拡大または縮小)に関する変倍設定が含まれており、例えば「等倍設定」が指定された場合には、スキャン画像が変倍されずに印刷される。またユーザにより倍率指定がされた場合には、その指定された倍率でスキャン画像が変倍される。さらに「自動変倍」が指定された場合には、印刷装置100に格納されている用紙の大きさに合うように変倍(フィッティング処理)が実行される。
S2001においてCPU201は、操作パネル218に対してユーザがコピー設定を指示したか判定する。コピー設定を指示したと判定された場合、S2002に進み、コピー設定が指示されていないと判定された場合、S2003に進む。
S2002においてCPU201は、操作パネル218に対してユーザが指定したコピー設定を示すコピー設定情報を、パネル制御部217を介して取得する。S2002では、CPU201が、データメモリ204に記憶されているコピー設定情報をユーザにより指定されたコピー設定情報に書き換える。S2003では、ユーザによりコピー開始が指示されたか判定する。S2002でコピー開始が指示されたと判定されるとS2004へ進み、コピー開始指示が指示されたと判定されなかった場合にはS2001に戻る。S2004においてCPU201は、スキャナ制御部219によりスキャナ220に原稿を読み取らせる。
次にS2005においてCPU201は、データメモリ204に記憶されているコピー設定情報において「自動変倍」が指定されているか判定する。S2005において「自動変倍」が指定されていないと判定された場合、S2006において、コピー設定情報における変倍設定に従って印刷対象の画像を画像メモリ206上に作成する。
一方、S2005において「自動変倍」が指定されていると判定された場合には、S2007〜S2010の処理が実行される。S2007〜S2010では、印刷装置100において搬送されている印刷用紙のサイズが判定され、S2004における読取りにより取得されたスキャン画像が、判定された用紙サイズに応じて変倍される。このS2007〜S2010の処理は、図5を用いて上述したS1003〜S1006の処理と同様であるため、詳細な説明は省略する。
S2011においてCPU201は、上記のS2006またはS2010において画像メモリ206上に作成された印刷対象の画像をヘッド制御部213に出力する。そして、印刷ヘッド112、キャリッジ113を駆動させて当該印刷対象の画像を印刷媒体に印刷させる。
以上、図8に示した処理では、コピー設定情報における変倍設定が「自動変倍」である場合に、用紙センサ118に基づき判定された、印刷装置100において搬送されている用紙サイズに応じた大きさの画像を印刷させることができる。
以上の実施形態によれば、用紙センサ118により検出された用紙幅に基づく、設定用紙サイズの縦横比に近い縦横比の用紙サイズが、印刷に使用される印刷用紙のサイズの候補として抽出される。このように設定用紙サイズの縦横比を参照することで、本来の印刷用途(写真印刷、封筒印刷等)に対して適した候補を特定することができる。よって、設定用紙サイズが、印刷装置にセットされている印刷用紙のサイズとは異なっていたとしても、印刷装置にセットされている可能性が高い印刷用紙のサイズに応じた大きさの画像を印刷することができる。
なお、以上の実施例では設定用紙サイズ、候補用紙サイズのそれぞれの縦横比を比較することで、設定用紙サイズに縦横比が近い候補を特定していた。しかしこれに限らず、設定用紙サイズに縦横比が近い用紙サイズが対応付けられた情報(例えばテーブル)をプログラムメモリ203に格納する場合であってもよい。この場合、例えばテーブルにおいて、設定用紙サイズとしてのL判に対して、L判に縦横比が近いサイズ(はがき、4×6判等)が対応付けられており、縦横比が大きく異なるサイズ(封筒洋形6号など)は対応付けられていない。そして、設定用紙サイズが特定されたときにこのテーブルが参照される。例えば設定用紙サイズがL判で候補がはがき、4×6判、封筒洋形6号の場合、テーブルにおいて対応付けられている、はがき、4×6判が特定される。このテーブルのような縦横比の近いサイズ同士が予め対応付けられている情報を用いることで、候補を絞り込むたびに縦横比の比較を行わなくてもよく、候補を素早く特定することができる。
なお、以上の実施形態において説明した「設定用紙サイズ」は、印刷ジョブを送信する装置においてユーザが指定したものに限らない。例えば、印刷装置100の操作パネル218をユーザが用いて印刷装置100に対して設定したものでもよい。さらに、「設定用紙サイズ」はユーザが指定するものに限らず、印刷ジョブを送信する装置の種類、アプリケーション、あるいは印刷装置100における印刷モード等の各種の条件に応じて自動的に設定されるものであってもよい。
また、以上の実施形態では、印刷装置100の外部装置から受信された印刷ジョブに基づく印刷や、印刷装置100においてコピー機能が実行されたときに、用紙センサ118の検出結果に基づいて印刷用紙のサイズを判定する例を示した。しかしこれに限らず、例えばメモリカードスロット222に装着されたメモリカード223に記憶されている画像を、ユーザが操作パネル218において設定した印刷設定に従って印刷するときに、上記の印刷用紙サイズの判定処理を実行してもよい。例えばユーザが指定した印刷設定を示す印刷設定情報において用紙サイズが指定されていなかった場合に、上記のサイズ判定処理を行ってもよい。なお、印刷設定情報において用紙サイズが指定されていなかった場合とは、印刷設定情報に用紙サイズが含まれていない場合でもよい。または、用紙センサ118による用紙幅の検出結果に応じた用紙サイズの設定処理を実行させるための指示が印刷設定情報に含まれている場合でもよい。
また、このように印刷装置100においてユーザが指定した印刷設定に従って印刷を行う場合、メモリカード223のような外部メモリに限らず、印刷装置100が備える内部メモリに記憶されている画像を印刷する場合であってもよい。また、印刷装置100とネットワークを介して接続されたサーバ等の外部装置に格納されている画像を、印刷装置100の操作パネル218においてユーザが指定した印刷設定に従って印刷する場合であってもよい。
さらに、以上の実施形態では印刷装置100の用紙センサ118が用紙の幅を検出する例を示したが、これに限らず、センサにより用紙の長さが検出される場合でもよいし、または用紙の幅、長さの両方が検出される場合であってもよい。いずれの検出方法であっても、印刷装置100において用いられる印刷用紙のサイズとして複数の候補があった場合に、以上の実施形態で示した処理により適切な用紙サイズを決定することができる。
また、以上の実施形態では、図6で示した処理を印刷装置100が備えるCPU201が印刷制御装置として実行する例を示した。しかしこれに限らず、印刷装置100に印刷を実行させるホストコンピュータやスマートデバイス、クライアント装置から受信した印刷ジョブを印刷装置100に送信するサーバ等が印刷制御装置として、本実施形態の処理を実行してもよい。
具体的には、ホストコンピュータやサーバ、スマートデバイスが印刷装置100に印刷ジョブを送信するときに、図5におけるS1001〜S1007の処理を実行する。即ち、これらの装置が印刷装置100に印刷ジョブを送信するときに、印刷装置100の用紙センサ118により検出された印刷用紙の用紙幅の情報を取得する。そして、その取得された情報が示す用紙幅に応じて印刷用紙のサイズの候補を特定し、特定された候補と設定用紙サイズによりレイアウト領域を決定する。そして、ホストコンピュータやサーバ、スマートデバイスが備えるメモリ上において、レイアウト領域に対して印刷対象の画像を展開し、展開された画像を印刷装置100に印刷ジョブとして送信し、印刷装置100に印刷を実行させる。具体的には、印刷装置100のCPU201の制御により、ホストコンピュータやサーバ、スマートデバイスから受信した画像を印刷装置100内の印刷機構が印刷用紙に印刷する。
なお上記の構成において、図6のS1213、S1214で印刷のキャンセルを行う場合、ホストコンピュータやサーバ、スマートデバイスにおいてエラーを発行する。具体的には、印刷がキャンセルされたことを示す表示や、また印刷装置100にセットされている印刷用紙のサイズと設定用紙サイズの両方または一方をユーザに確認させるための表示を行う。ホストコンピュータにおいてエラーを表示する場合、ホストコンピュータが備える表示装置、またはホストコンピュータに接続されている外部の表示装置に表示を行う。またサーバにおいてエラー表示を行う場合、サーバに対して印刷ジョブを送信したクライアント装置にエラー表示の内容を通知し、クライアント装置の内部または外部の表示装置にエラー表示が行われる。
またホストコンピュータやサーバ、スマートデバイスにおいて本実施形態の処理を行う場合の別の例として、図6のS1208、S1210、S1211におけるレイアウト領域のサイズの決定までを上記装置で行ってもよい。この場合、S1212における印刷対象の画像の変倍については、印刷装置100のCPU201により実行される。印刷装置100と、ホストコンピュータ、サーバ、スマートデバイス等の装置とにおける処理の分担については、他にも種々の構成を本実施形態に適用することができる。
また以上の実施形態では、印刷装置により画像が印刷される印刷媒体の例として印刷用紙を例に説明したが、これに限らず、OHPシートであってもよい。また印刷用紙のような矩形の印刷媒体に限らず、CDやDVD等の円盤状の記録メディアであってもよい。このような円盤状のメディアの場合には円形であるため、メディアの搬送を行いながら用紙センサ118が複数回走査されたときに、メディアの幅が大きく変化する。よって印刷が行われる印刷媒体の形状が円盤状であると判定することができる。
そこで本実施形態の処理により、印刷設定のメディアのサイズが円盤状の形状に対応するものであるが、用紙センサ118により検出されたメディアのサイズが円盤状のメディアでなく、例えば矩形のメディアの場合には、印刷が実行されないように制御する。一方、印刷設定のメディアのサイズが円盤状の形状に対応するものであり、且つ用紙センサ118により検出されたメディアのサイズが円盤状のメディアである場合には、印刷が実行される。
なお、本実施形態の機能は以下の構成によっても実現することができる。つまり、本実施形態の処理を行うためのプログラムコードをシステムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)がプログラムコードを実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することとなり、またそのプログラムコードを記憶した記憶媒体も本実施形態の機能を実現することになる。
また、本実施形態の機能を実現するためのプログラムコードを、1つのコンピュータ(CPU、MPU)で実行する場合であってもよいし、複数のコンピュータが協働することによって実行する場合であってもよい。さらに、プログラムコードをコンピュータが実行する場合であってもよいし、プログラムコードの機能を実現するための回路等のハードウェアを設けてもよい。またはプログラムコードの一部をハードウェアで実現し、残りの部分をコンピュータが実行する場合であってもよい。