以下、実施形態の一例について詳細に説明する。
図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による用紙幅の検出を説明するための図である。図2は、図1の印刷装置のプラテン111および印刷ヘッド112部分を排紙トレイ117側からみた構成図である。
上記のように、印刷装置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(a)における位置G、位置Fが印刷用紙104の端の位置であり、位置G〜位置Fまでの範囲を、印刷用紙104が存在する範囲とする。そして、図2(a)においては、位置G〜位置Fの距離を、印刷用紙104の用紙幅として検出する。
なお、図2における位置Eは、用紙センサ118が反射光を受光できる範囲の図2における右側の限界位置である。本実施形態では、プラテン111に搬送された印刷用紙の幅が大きい場合、限界位置Eよりも図2における右側の位置に印刷用紙が存在することになる。
また本実施形態において印刷装置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とは個別に用紙センサが設けられる場合であってもよい。この場合、印刷用紙の搬送路の幅に対応する数の用紙センサを並べて配置し、各用紙センサが印刷用紙の存在を検出したか判定することにより、印刷用紙の幅を判定することができる。
本実施形態の処理について図2(a)〜(c)を用いて更に詳細に説明する。
図2の(a)は、本実施形態の装置にA5サイズ(用紙幅148.0mm)の印刷用紙の中央とプラテン111の中央位置Cが合うように印刷用紙が給紙された場合の位置関係を示している。先に説明した通り、キャリッジ113をガイドレール114に沿って矢印A、B方向に往復移動させながら印刷ヘッド112に駆動パルスを印加することにより印刷用紙104上に印刷対象の画像が形成される。ガイドレール114に沿ってプラテン111から外れた位置には印刷ヘッド112の性能を維持するためにヘッド回復機構119が設けられており、キャリッジ113はこのヘッド回復機構119より右側へは移動することができない。用紙センサ118はキャリッジ113の端部に近いところに設けられており、印刷ヘッド112の位置からヘッド回復機構119とは反対側にずれた位置に配置されている。
図2(a)のように用紙幅が短く、ヘッド回復機構119側の位置Fが用紙センサ118の読み取り限界位置Eより中央寄りに位置する場合は、印刷用紙104の両側の端部の位置F、Gを検出することができる。またこのように印刷用紙の両端部を検出できるサイズであり、印刷用紙の中央位置とプラテン111の中央位置Cが合うように正しく給紙された場合、位置Gは、Cを挟んで限界位置Eの対称位置にあたるE’より中央側に検出される。
図2(b)は、本実施形態の装置にレターサイズ(用紙幅215.9mm)の印刷用紙の中央とプラテン111の中央位置Cが合うように印刷用紙が給紙された場合の位置関係を示している。なお、印刷装置100のサポートする最大の用紙幅はレターサイズの用紙幅(215.9mm)であるとする。このように用紙幅が大きく、位置Fが用紙センサ118の読み取り限界位置Eよりヘッド回復機構119よりに位置する場合、位置Fは検出することができず、位置Gに対応する端部のみ検出可能となる。端部が片方のみ検出できるサイズの印刷用紙が、印刷用紙の中央とプラテン111の中央位置Cが合うように給紙された場合、位置Gに対応する印刷用紙の端部は、Cをはさんで読み取り限界位置Eの対称位置にあたるE’より外側に検出される。
本実施形態においては、このように用紙センサ118により用紙幅の端部の片方のみが検出された場合、プラテンの中央位置Cと、用紙センサ118により検出された端部との距離の2倍を、当該印刷用紙の用紙幅であると決定する。この処理の詳細については後述する。
図2の(c)は、仮に最大の用紙幅に対しても端部が両方検出できるように装置の構成を変更した場合の図である。ここではヘッド回復機構119を外側に移設しているが、その分だけ装置の横幅が広がってしまい、印刷装置のサイズが大きくなる。
なお、図2に示した例では、プラテン111上において印刷用紙が存在する位置より印刷用紙が存在しない位置よりも用紙センサ118が出力する出力電圧が上がる例を示した。しかしこれに限らず、逆にプラテン111上において印刷用紙が存在する位置より印刷用紙が存在しない位置よりも出力電圧が下がるタイプのセンサであってもよい。また電圧以外の出力を見るものであってもよい。
また本実施形態では、用紙センサ118が、印刷ヘッド112を備えるキャリッジ113に取り付けられている。よって、印刷ヘッド112のためのキャリッジ113とは別に、用紙センサ118のためのキャリッジを設けなくてもよい。そのため、印刷装置の小型化を実現でき、またコストアップを抑えることができる。さらに、用紙センサ118がキャリッジ113に設けられ、用紙センサ118が走査しながら、印刷用紙の用紙幅を検出する。そのため、例えばプラテン111の幅に対応する数の用紙センサを図2における水平方向に複数並べる場合に比べ、コストアップを抑えることができる。
さらに、本実施形態では用紙センサ118をキャリッジ113の横(図2におけるキャリッジ113の左側)に設置している。よって例えばキャリッジの前側や後ろ側(図2におけるキャリッジ113の表側、裏側)に設置する場合に比べ、搬送ローラ109、110と排紙ローラ115、116の距離を短くすることができる。よって、印刷装置の小型化を実現できる。また搬送ローラ、排紙ローラの距離が拡がることにより、用紙を安定して押さえ込むことができず、印刷ヘッドと印刷用紙が接触して印刷用紙がインクで汚れてしまうことを防ぐことができる。そのため本実施形態では、(図2におけるキャリッジ113の左側)に設置している。
図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を駆動する。また回復モータ212は、ヘッド回復機構119の駆動を行い、キャリッジ113の駆動と同期して制御することで印刷ヘッド112の状態を適切に保つための回復動作を実行する。
ヘッド制御部213は、CPU201の制御に従って印刷ヘッド112を制御し、印刷ヘッド112にインク等の記録剤を吐出させる。CPU201は印刷ヘッド112と搬送モータ210を共に駆動させることで、印刷ヘッド112を走査させながら印刷用紙に画像を印刷させる。即ち、印刷装置100内のCPU201が印刷制御装置として動作し、印刷機構としての各種のモータ、印刷ヘッド112を制御して、当該印刷機構に画像を印刷させる。即ち、CPU201は、ヘッド制御部213を介して印刷ヘッド112を制御することができる。キャリッジ113の往復動作と同期して印刷ヘッド112を制御することで印刷用紙104上に画像形成を行う。
センサ制御部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に格納する。スキャナ220で読み取られた画像は、データメモリ204中の画像メモリ206に格納される。そして、その画像がスマートデバイス208に送信される、またはメモリカード223に画像ファイルとして保存される。またCPU201は、スキャナ220で読み取られた画像を、印刷機構を制御して印刷用紙に印刷させることで、コピー機能を実現することも可能である。
メモリカード制御部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は、本実施形態における、印刷実行時のCPU201の処理内容を示すフローチャートである。図4に示すフローチャートの処理を実現するためのプログラムがプログラムメモリ203に格納されており、CPU201がこのプログラムをワークメモリ205において展開、実行することで、図4に示す処理が実現される。
S1001でCPU201は、スマートデバイス208から、インタフェース制御部207を介して印刷ジョブを受信する。
次にCPU201はS1002において、印刷機構を制御して印刷用紙の給紙動作を行う。これにより給紙トレイ101に積載された印刷用紙102のうち、一番上に置かれた一枚の印刷用紙が給紙ローラ103によりピックアップされる。そしてピックアップされた印刷用紙が、搬送ローラ105、106、109、110により、図1における用紙センサ118の下の位置まで搬送される。
S1003においてCPU201は、センサ制御部214を介して、用紙センサ118に、S1002において搬送された印刷用紙の用紙幅を検出させる。具体的には、図2における印刷用紙の両端部に対応する位置Gと位置F、印刷用紙の幅が大きい場合には位置Gのみを用紙センサ118に検出させる。そして、図2における用紙センサ位置xにおける、位置Gと位置F(または位置Gのみ)に対応する値が、印刷用紙の端部の位置を示す位置情報としてCPU201により取得される。
S1004においてCPU201は、S1003で検出された印刷用紙の両方の端(または片方の端)の位置から印刷用紙の用紙幅を算出する。なお、S1004では、印刷用紙の搬送ずれ(位置ずれ)があったか判断され、搬送ずれがないと判断された場合において用紙幅を算出する。S1004における処理の詳細については、図5を用いて後述する。
S1005においてCPU201は、S1004の結果から位置ずれがあったかを判定し、位置ずれがない場合はS1006へ進む。S1006において、S1004にて算出された用紙幅にあわせて印刷を実行する。具体的には、CPU201が図7に示す用紙サイズテーブルを参照し、S1004において算出された用紙幅に対応する用紙長を特定する。そして、CPU201が、S1001で受信された印刷ジョブに対応する印刷対象のデータを、上記用紙幅、用紙長に応じた大きさで画像メモリ206に画像として展開する。そして、このように展開された画像を印刷機構に、S1002において給紙、搬送された印刷用紙に印刷させる。そして、印刷が実行された印刷用紙を、排紙ローラ115、116により排紙トレイ117に排紙させる。
図7は、本実施形態における用紙サイズテーブルを示す図である。この用紙サイズ管理テーブルは、印刷装置100で使用され得る用紙サイズ300と、当該サイズの用紙幅301、用紙長302、縦横比(アスペクト比)303が含まれている。なお、用紙幅301、用紙長302の単位はミリメートル(mm)である。
なお用紙サイズテーブルはプログラムメモリ203に格納されており、CPU201は、プログラムメモリ203からデータメモリ204に用紙サイズテーブルを読み出すことで用紙サイズテーブルを参照することができる。なお、用紙幅301の情報はテーブル形式で保持される場合に限らず、用紙サイズに対応付けて用紙幅301を記憶する種々の方法が採用される。
本実施形態においてCPU201は、S1004で算出された用紙幅に応じて印刷用紙のサイズを判定する。具体的には、CPU201は用紙サイズテーブルにおいて、用紙センサ118により検出された用紙幅の所定範囲内にある用紙幅301を持つ用紙サイズ300を、印刷装置100において搬送されている印刷用紙104のサイズとして特定する。このように所定の範囲を設ける理由は、例えば印刷用紙の状態や印刷装置100が置かれている環境によって印刷用紙からの反射光の強さが異なるために、用紙センサ118の検出結果と実際の用紙幅の間に誤差が生じる場合があるからである。
そこで例えば上記所定の範囲を上下3mmとして、用紙センサ118により用紙幅として126.0mmが検出された場合、123.0mm〜129.0mmに含まれる用紙幅301に対応する用紙サイズ300を、印刷用紙のサイズの候補として特定する。図4(a)の用紙サイズテーブルに示されているように、この場合、用紙幅301(127.0mm)に対応する2L判が候補として特定される。S1006では、2L判に対応する大きさの画像が印刷される。
またこのように用紙サイズが一意に特定される場合に限らず、用紙幅が近い複数の用紙サイズが、当該印刷媒体のサイズの候補として特定される場合がある。例えば用紙センサ118により用紙幅として99.0mmが検出された場合、用紙幅の範囲96.0mm〜102.0mmに封筒洋形6号(用紙幅98.0mm)、はがき(用紙幅100.0mm)、4×6判(用紙幅101.6mm)が含まれる。同様に、用紙幅として213.0mmが検出された場合、A4サイズ(用紙幅210.0mm)とレター(用紙幅215.9mm)が用紙サイズの候補として特定される。
この場合、複数の候補用紙サイズから、印刷対象の画像のサイズに対応する候補用紙サイズを絞り込む。この絞り込みは、各種の条件により実行される。その条件として、例えば当該印刷に対して設定された、印刷用紙の種別や、印刷装置100の仕向け情報を用いる。印刷用紙の種別は、印刷ジョブを送信する装置において、例えばユーザの指示により指定される。その指定された種別を示す種別情報が印刷設定情報に含まれており、その種別情報が取得され、印刷用紙の種別が特定される。なお、この種別として「封筒」「はがき」等が指定され、その種別に応じた印刷処理が実行される。例えば複数の候補が「はがき」と「4×6判」であり、印刷用紙の種別が「はがき」である場合、「4×6判」よりも「はがき」の方が適切な用紙サイズとして候補「はがき」に絞り込みが行われる。
また「仕向け情報」とは、印刷装置100が出荷または販売される国や地域を示す情報であり、この情報がプログラムメモリ203に格納されている。この仕向け情報を参照することにより、印刷装置100が使用される国や地域を判別することができる。例えば候補用紙サイズが「A4」と「レター」であり、仕向け情報が「日本」である場合、日本ではレターサイズよりもA4サイズの方が多く使用されるため、候補「A4」に絞り込みを行うことができる。なお、「仕向け情報」は、上記のように印刷装置100が販売される国や地域を示す情報に限らず、例えば言語設定の情報であってもよい。印刷装置100では、ユーザに対する通知やガイダンスを操作パネル218に表示させるために、当該表示に用いる言語が設定されている。その言語設定の情報により印刷装置100が使用されている国や地域を特定するようにしてもよい。
また印刷用紙の種別、仕向け情報などの条件を組み合わせてもよい。例えば、印刷用紙の種別で候補が一意に絞り込めなかった場合に、仕向け情報により更に絞り込みを行ってもよい。例えば候補用紙サイズが「4×6判」、「封筒長形3号」、「2L判」であり、印刷用紙の種別が「封筒」「はがき」以外の「その他」であった場合、「封筒」に対応する「封筒長形3号」は除外されるが、「4×6判」と「2L判」は候補として残る。そこで、仕向け情報を参照し、例えば仕向け情報が「米国」を示す場合、米国では「2L判」よりも「4×6判」が多く使用されるため、「4×6判」に絞り込みを行うことができる。
また、用紙サイズテーブルにおいて、用紙センサ118により検出された用紙幅の所定範囲内にある用紙幅301を持つ用紙サイズが無い場合、当該検出された用紙幅に最も近い用紙幅301に対応する用紙サイズに合わせて印刷が実行される。または、当該検出された用紙幅に対応する定型の用紙サイズが特定できなかった旨のエラーをユーザに通知し、印刷がキャンセルされるように制御されてもよい。
上記のS1005において、位置ずれがあると判定された場合は、S1007へ進む。
S1007においてCPU201は、印刷をキャンセルし、位置ずれがあったことをエラーとしてユーザに通知する。S1007においては、S1003において用紙センサ118により印刷用紙の幅を検出するために、印刷に使用される印刷用紙が図1における用紙センサ118の下の位置まで搬送されている。S1007においてCPU201は、当該印刷(S1001で受信された印刷ジョブに基づく印刷)をキャンセルするために、印刷ヘッド112による印刷を行わずに、搬送モータ210を制御して当該印刷用紙を排紙トレイ117に排紙する。
またS1007においてCPU201は、当該印刷がキャンセルされたことをエラーとしてユーザに通知する。例えば、パネル制御部217を制御して、位置ずれが起きたことを示す表示を操作パネル218に表示させる。またエラー通知の方法は表示に限らず、例えば不図示のスピーカーから警告音や警告の内容を知らせる音声を出力するようにしてもよい。
上記図4に示した処理により、印刷装置100において搬送された印刷用紙に応じた大きさの画像を印刷させることができる。
なお、上記の説明においてS1001では、インタフェースを介して接続されたスマートデバイス208からの印刷ジョブの場合を説明したが、電話回線やネットワーク回線により接続された、遠隔地からの印刷であってもよい。印刷ジョブを発行する装置はスマートデバイス208として説明したが、スマートデバイス208の代わりに、ホストコンピュータ、デジタルテレビ等の装置であってもよい。また、ユーザが操作する装置から直接印刷ジョブを受け取る形態であっても、プリントサーバーやクラウドサービス等の中間装置を通して印刷ジョブを受け取る形態であってもよい。
また、S1001において受信された印刷ジョブに含まれている印刷対象のデータがJPEG画像ファイル等の画像データであれば、S1006において伸長処理が行われてビットマップデータが画像メモリ206上に展開される。また印刷対象のデータがベクターデータやテキストデータの場合はワークメモリ205においてレンダリング処理が行われ、ビットマップデータが展開される。
また、S1001において受信される印刷ジョブに印刷設定情報が含まれており、用紙サイズが印刷設定として印刷ジョブに対して設定されていてもよい。そして、S1004において算出された用紙幅に基づく印刷用紙のサイズが、印刷設定として設定された用紙サイズと異なる場合、印刷がキャンセルされ、ユーザに対するエラー通知が行われてもよい。この印刷のキャンセル、エラー通知については、S1007で用いた方法を採用することができる。
さらに、S1007において印刷がキャンセルされるのではなく、位置ずれにあわせて印刷位置を補正した上で印刷が実行されてもよい。
次にS1004における印刷用紙の用紙幅の算出処理の詳細を説明する。
図5は、印刷用紙の用紙幅の算出処理を示すフローチャートである。
CPU201はS1101において、図4のS1003において、図2における印刷用紙の両端部に対応する位置Gと位置Fの位置の両方が用紙センサ118により検出されたか判定する。位置Gと位置Fが共に検出されていた場合はS1102へ進む。
S1102においてCPU201は、位置GがE’の位置よりC側であるかを判断する。即ち、印刷用紙の中央とプラテン111の中央位置Cが合うように搬送が行われており、印刷用紙の両端部の位置が検出された場合、位置Gは位置E’よりも図2における右側(位置C側)の位置で検出される。そのため、仮に位置GがE’の位置よりC側でない場合、印刷用紙の中央と中央位置Cが合わず、図2における左側にずれて印刷用紙が搬送されている判断することができる。
S1102において位置GがE’の位置よりC側ではないと判定された場合、S1105へ進む。
S1105においてCPU201は、印刷用紙の位置にずれがある(印刷用紙が本来の位置からずれて搬送されている)と判断して終了する。
一方、S1102において位置GがE’の位置よりC側ではあると判定された場合、S1104へ進む。S1104では、S1003において用紙センサ118により検出された位置GとFの距離を、印刷装置100において搬送されている印刷用紙の幅として特定する。
図6は、用紙幅判定および印刷用紙の位置ずれ判定を説明するための図である。
図6(a)は、A5サイズの印刷用紙が、位置ずれが起きずに給紙された場合の例である。この場合、図5のS1101において位置Gと位置Fが共に検出されたと判定され、且つS1102において位置GはE’よりC側であると判定される。そのため、図6(a)の場合S1104において、位置Gと位置Fの距離が用紙の幅として特定される。そして、図4のS1006において、この特定された用紙幅に基づく大きさの画像が印刷される。
また図6(b)は、A5サイズの用紙が左側にずれて給紙された場合の例である。図5のS1101において位置Gと位置Fが共に検出されたと判定され、且つS1102において位置GはE’よりC側ではないと判定される。そのため、図5のS1105および図4のS1005において用紙位置にずれがあると判断されて、図4のS1007において印刷のキャンセルとエラー通知が実行される。
図5のS1101において位置Gと位置Fが共に検出されていないと判定された場合、S1103へ進む。S1103でCPU201は、位置Gが検出されているか判定する。位置Gが検出されていないと判定された場合、S1105へと進む。このように位置G、位置Fのいずれも検出されてなかったと判定された場合、印刷用紙がプラテン111に搬送されなかった場合や、用紙センサ118により適切な検出が行われなかった場合が考えられる。よって、図4のS1007において印刷がキャンセルされるように、ここでは仮にS1105において印刷用紙の位置ずれがあったと判定される。
S1103において位置Gが検出されていると判定された場合、S1106に進む。S1106でCPU201は、位置GがE’の位置よりC側であるかを判断する。位置G、Fのうち位置Gのみが検出された場合、図2における印刷用紙の右端が位置Eより右側であるため、本来であれば位置GはE’よりも左側にあるはずである。そのため、S1106において位置GがE’の位置よりC側であると判定された場合、S1105に進み、用紙位置にずれがあると判断される。
S1106において位置GがE’の位置よりC側であると判定された場合、S1107に進む。S1107に処理が遷移する場合とは、位置G、位置Fのうち、位置Gのみが用紙センサ118により検出され、更に印刷用紙の位置ずれ(印刷用紙の搬送ずれ)が起きていないと判定された場合である。
S1107においてCPU201は、プラテン111の中央位置Cと、用紙センサ118により検出された、図2における印刷用紙の左端に対応する位置Gとの距離を2倍して、その2倍された距離を印刷用紙の幅として特定する。
即ち、印刷用紙の中央とプラテン111の中央位置Cとが合うように適切に当該印刷用紙が搬送された場合、図2における位置G(印刷用紙の左端)と中央位置Cとの距離が、当該印刷用紙の幅の半分の長さになる。そこでS1107では、位置Gと中央位置Cとの距離の2倍を用紙幅として特定することで、位置F(印刷用紙の右端の位置)が検出されなかった場合でも、印刷用紙の幅を適切に特定することができる。
なお、以上の説明では、位置F(印刷用紙の右端の位置)が検出されなかった場合の要因として、印刷用紙の幅が大きく、印刷用紙の右端が限界位置Eよりも右側にある場合について説明した。しかし上記の要因はこれに限らず、例えば用紙センサ118の検出誤差や、印刷用紙の特定等により印刷用紙からの反射光が弱いことにより、印刷用紙の片方の端のみ位置が特定された場合であっても本実施形態の処理を適用することができる。この場合、位置G(または位置F)と中央位置Cとの2倍を印刷用紙の幅として特定することで、適切な用紙幅を特定することができる。
図6(c)は、レターサイズ印刷用紙の中央とプラテン111の中央位置Cとが合うように適切に当該印刷用紙が搬送された場合の例である。この場合、図5のS1101において、Fが検出されなかったと判定され、S1103に進む。S1103ではGが検出されたと判定され、S1106に進む。S1106では、位置GがE’の位置よりC側にないと判定され、S1107に進む。S1107では、プラテン111の中央位置CとGの距離の2倍が、印刷用紙の用紙幅として特定される。そして、図4のS1006において、この特定された用紙幅に基づく大きさの画像が印刷される。
図6(d)は、A4サイズの印刷用紙が右側にずれて給紙された場合の例である。この場合、図5のS1101、S1103において位置Gが検出されたと判定され、S1106へと進む。S1106では位置Gが位置E’よりC側にあると判定され、S1105に進み、用紙位置にずれがあると判断される。そのため、図5のS1105および図4のS1005において用紙位置にずれがあると判断されて、図4のS1007において印刷のキャンセルとエラー通知が実行される。
また、以上の実施形態では、印刷装置100の外部装置から受信された印刷ジョブに基づく印刷について説明したが、印刷装置100においてコピー機能が実行されたときに、用紙センサ118の検出結果に基づいて印刷用紙のサイズを特定する場合であってもよい。また、例えばメモリカードスロット222に装着されたメモリカード223に記憶されている画像を、ユーザが操作パネル218において設定した印刷設定に従って印刷するときに、上記の印刷用紙サイズの判定処理を実行してもよい。また、このように印刷装置100においてユーザが指定した印刷設定に従って印刷を行う場合、メモリカード223のような外部メモリに限らず、印刷装置100が備える内部メモリに記憶されている画像を印刷する場合であってもよい。また、印刷装置100とネットワークを介して接続されたサーバ等の外部装置に格納されている画像を印刷する場合であってもよい。
さらに、以上の実施形態では印刷装置100の用紙センサ118が用紙の幅を検出する例を示したが、これに限らず、センサにより用紙の長さが検出される場合でもよいし、または用紙の幅、長さの両方が検出される場合であってもよい。
また以上の実施形態では、印刷用紙の中央とプラテン111の中央が合うように印刷装置100が印刷用紙の搬送を行う例を示した。しかしこれに限らず、印刷用紙の所定の位置とプラテン111の所定の位置が合うように搬送が行われてもよい。例えば、印刷用紙のいずれかの端部がプラテン111の端部に付き当てられるように搬送が行われてもよい。この場合、印刷用紙の片方の端部の位置がセンサにより検出されたときに、その検出された位置と、印刷用紙が付き当てられているプラテン111の端部との距離を、当該印刷用紙の用紙幅として特定することができる。
さらに、上記のように本実施形態では、用紙センサ118により検出された印刷用紙の端部の位置に基づき用紙幅を決定する。そして、図7に示した用紙サイズテーブルにおいて、その用紙幅の所定範囲内にある用紙幅301を持つ用紙サイズ300を、印刷装置100において搬送されている印刷用紙104のサイズとして特定する。この場合、用紙センサ118による検出結果により、上記所定範囲を調整してもよい。例えば、印刷用紙の両端の位置が検出された場合の範囲よりも、印刷用紙の片端のみが検出された場合の範囲を広くするようにする。これにより、印刷用紙が搬送されたときに軽微な位置ずれが起きたとしても、適切な用紙サイズを特定することができる。
なお、以上の実施形態では、印刷装置が備えるプラテン上において印刷用紙が搬送される例を示したが、これに限らず、印刷装置における搬送路の形状は種々のものであってもよい。
また、以上の実施形態では、図4、図5で示した用紙サイズの判定処理を印刷装置100が備えるCPU201が情報処理装置として実行する例を示した。しかしこれに限らず、印刷装置100に接続され当該印刷装置に印刷を実行させるホストコンピュータやサーバ等の情報処理装置が本実施形態の印刷制御装置として動作することで、本実施形態の処理が実行される場合であってもよい。
具体的には、ホストコンピュータやサーバ、スマートデバイスが印刷装置100に印刷ジョブを送信するときに、図4におけるS1003〜S1007の処理を実行する。即ち、これらの装置が印刷装置100に印刷ジョブを送信するときに、印刷装置100の用紙センサ118により検出された印刷用紙の端部の位置を示す位置情報を取得する。そして、その取得された位置情報が示す印刷用紙の端部の位置に応じて当該印刷用紙の用紙幅を特定し、その特定された用紙幅に応じた用紙サイズを決定する。そして、ホストコンピュータやサーバ、スマートデバイスが備えるメモリ上において、上記決定された用紙サイズに対応する大きさの印刷対象の画像を展開し、展開された画像を印刷装置100に印刷ジョブとして送信して印刷装置100に印刷を実行させる。具体的には、印刷装置100のCPU201の制御により、ホストコンピュータやサーバ、スマートデバイスから受信した画像を印刷装置100内の印刷機構が印刷用紙に印刷する。
なお上記の構成において、図6のS1206、S1207で印刷のキャンセルを行う場合、ホストコンピュータやサーバ、スマートデバイスにおいて印刷ジョブの送信をキャンセルし、またエラーを発行する。具体的には、印刷がキャンセルされたことを示す表示や、また印刷装置100にセットされている印刷用紙のサイズと設定用紙サイズの両方または一方をユーザに確認させるための表示を行う。ホストコンピュータにおいてエラーを表示する場合、ホストコンピュータが備える表示装置、またはホストコンピュータに接続されている外部の表示装置に表示を行う。またサーバにおいてS1007における印刷のキャンセルとエラー表示を行う場合、サーバに対して印刷ジョブを送信したクライアント装置にエラー表示の内容を通知し、クライアント装置の内部または外部の表示装置にエラー表示が行われる。
またホストコンピュータやサーバ、スマートデバイスにおいて本実施形態の処理を行う場合の別の例として、用紙センサ118による検出結果による用紙サイズの決定をホストコンピュータやサーバ、スマートデバイスにおいて行う。そして、印刷対象の画像の作成については印刷装置100のCPU201により実行される場合でもよい。この場合、例えばホストコンピュータやサーバ、スマートデバイスにおいて決定された用紙サイズが印刷設定の用紙サイズとして印刷対象のデータとともに印刷装置100に送信される。そして、印刷装置100のCPU201が、上記のように受信した印刷対象のデータに基づく画像を、上記のように受信した印刷設定としての用紙サイズに応じて変倍し、印刷機構に印刷を実行させる。なお、印刷装置100と、ホストコンピュータ、サーバ、スマートデバイス等の装置とにおける処理の分担については、他にも種々の構成を本実施形態に適用することができる。
また以上の実施形態では、印刷装置により画像が印刷される印刷媒体の例として印刷用紙を例に説明したが、これに限らず、OHPシートであってもよい。また印刷用紙のような矩形の印刷媒体に限らず、CDやDVD等の円盤状の記録メディアであってもよい。
なお、本実施形態の機能は以下の構成によっても実現することができる。つまり、本実施形態の処理を行うためのプログラムコードをシステムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)がプログラムコードを実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することとなり、またそのプログラムコードを記憶した記憶媒体も本実施形態の機能を実現することになる。
また、本実施形態の機能を実現するためのプログラムコードを、1つのコンピュータ(CPU、MPU)で実行する場合であってもよいし、複数のコンピュータが協働することによって実行する場合であってもよい。さらに、プログラムコードをコンピュータが実行する場合であってもよいし、プログラムコードの機能を実現するための回路等のハードウェアを設けてもよい。またはプログラムコードの一部をハードウェアで実現し、残りの部分をコンピュータが実行する場合であってもよい。