以下、本発明の実施形態の一例について詳細に説明する。
図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による印刷用紙のサイズの1または候補に対応するサイズが異なる場合に当該印刷対象のデータの印刷を許容するか、所定の条件に従って判定する。
そして、印刷を許容すると判定された場合、印刷設定として設定されているサイズに対応する大きさの、前記印刷対象のデータに基づく画像が印刷される。一方、印刷を許容すると判定されなかった場合、センサによりサイズが検出された前記印刷媒体に対して当該印刷対象のデータに基づく画像が印刷されないように制御される。
よって、例えば印刷に使用される印刷用紙のサイズと大きく異なるサイズをユーザが誤って指定していた場合、またはユーザが指定したサイズと大きく異なるサイズの印刷用紙が搬送された場合に、適切な処理を行うことができる。本実施形態の上記処理の詳細については図6、図7を用いて後述する。
なお、上記の印刷設定は、例えば印刷ジョブを印刷装置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に送信されてもよい。
ただし、S1000において受信された印刷ジョブを送信した装置や、当該印刷ジョブにおいて印刷指示を行ったアプリケーションによって、印刷設定情報に印刷用紙のサイズの設定情報が含まれている場合と、その設定情報が含まれていない場合がある。S1001では、印刷用紙のサイズの設定情報が含まれている場合に、当該設定情報が示すサイズを上記の設定用紙サイズとして特定される。
また、装置の種類を判定する場合、例えば外部装置から印刷ジョブを受信したときの通信におけるプロトコルにより種類を判定してもよいし、当該外部装置から当該外部装置の種類を示す情報を受信し、当該情報により判定を行ってもよい。また印刷対象のデータの種類は、印刷対象のファイルの拡張子を確認することで判定されてもよいし、印刷ジョブを送信した装置から印刷対象のデータの種類を示す情報を印刷装置100が受信し、その情報により判定処理を行うようにしてもよい。
S1002では、S1001において特定された装置の種類と印刷対象のデータの種類に応じて、印刷対象の画像の大きさを印刷装置100に格納されている印刷用紙のサイズに合わせて印刷を行うフィッティング印刷を実行するか判定する。具体的には、S1001において特定された装置の種類とデータの種類がそれぞれ所定の種類であるか判定し、当該所定の種類である場合に、フィッティング印刷を行うものと判定する。例えば印刷装置100がサーバやホストコンピュータ、スマートデバイス208から印刷ジョブを受信可能である場合、スマートデバイス208を上記所定の種類の装置としてフィッティング印刷を実行する。また印刷対象のデータのファイル形式を確認し、ファイル形式が所定のファイル形式であるか判定するものとする。上記の所定の種類として、例えば印刷対象として写真が選ばれる可能性が高い装置、ファイル形式を上記の所定の種類として設定することで、写真についてより確実にフィッティング印刷を実行することができる。
印刷装置100において印刷可能なファイルの形式として、JPEG形式、所定のラスターファイル形式、PDF(Portable Document Format)が含まれているものとする。そして、ファイル形式の上記所定の種類は、例えば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に進み、設定用紙サイズが特定されなかったと判定された場合にはS1208に進む。
S1201においてCPU201は、S1001で特定された設定用紙サイズが、用紙センサ118により検出された印刷用紙の幅に基づく印刷用紙のサイズのS1005で取得された候補(群)に含まれるかどうか判定する。設定用紙サイズが候補用紙サイズ群に含まれないと判断された場合にはS1206へ進む。一方、設定用紙サイズが候補用紙サイズ群に含まれると判断された場合、S1202に進む。
CPU201はS1202において、S1005で取得された印刷用紙のサイズの候補が1つのみであるか判定する。S1208において印刷用紙のサイズの候補が複数あると判定された場合、S1205に進む。一方、印刷用紙のサイズの候補が1つのみであると判定された場合、その候補を印刷用紙のサイズ(設定用紙サイズ)として設定し、S1203に進む。
CPU201はS1203において、印刷対象の画像がレイアウトされるレイアウト領域の幅(レイアウト幅)、長さ(レイアウト長)を、設定用紙サイズに応じて決定する。具体的には、例えば設定用紙サイズがA4サイズの場合、A4サイズの幅(210.0mm)、長さ(297.0mm)のそれぞれから、余白設定において設定されている余白の幅が除かれた長さを、レイアウト幅、レイアウト長として決定する。なお、余白設定においてフチなし印刷が指定されている場合、設定用紙サイズをフチなし印刷のための所定の拡大率(例えば105%)で拡大した大きさが、レイアウト領域の大きさとして決定される。
S1204では、図5のS1000において受信された印刷ジョブに対応する印刷対象の画像を、S1210において記憶されたレイアウト幅、レイアウト長に合わせて拡大または縮小した上でデータメモリ204中の画像メモリ206上で展開する。
なおS1204では、印刷ジョブに印刷対象の画像が含まれている場合には、その画像を画像メモリ206上で展開する。また印刷ジョブにテキストデータやベクターデータが含まれている場合、またはHTML等の構造化文書が印刷対象である場合には、CPU201は、それらのデータに対するレンダリング処理を行うことで画像メモリ206上に印刷対象の画像を展開する。さらに、印刷対象のデータの格納場所を特定するためのURLやファイルパス情報が印刷ジョブに含まれている場合には、CPU201はそれらの情報に従って外部のサーバや内部または外部のメモリから印刷対象のデータを取得する。そして、そのデータに基づいて印刷対象の画像を画像メモリ206上で展開する。
上記のS1201において設定用紙サイズが候補用紙サイズ(群)に含まれており、且つS1202において候補用紙サイズが複数あると判定された場合、S1205に進む。即ち、設定用紙サイズに対応する候補用紙サイズが一意に特定されなかった場合に、S1205の処理が実行される。
S1205では、上記のように設定用紙サイズに対応する候補用紙サイズが一意に特定されなかった場合の印刷を許容するか、所定の条件に従って判定する。このS1205における処理の詳細については図7を用いて説明する。
S1205において印刷が許容されると判定された場合、S1203において、S1205において設定された設定用紙サイズに従ってレイアウト幅、レイアウト長が決定される。
一方、S1205において、印刷を許容できると判定されなかった場合、S1206に進む。このとき、図5のS1003において用紙センサ118により印刷用紙の幅を検出するために、印刷に使用される印刷用紙が図1における用紙センサ118の下の位置まで搬送されている。S1206でCPU201は、当該印刷(図5のS1000で受信された印刷ジョブに基づく印刷)をキャンセルするために、印刷ヘッド112による印刷を行わずに、搬送モータ210を制御して当該印刷用紙を排紙トレイ117に排紙する。
次にS1207においてCPU201は、当該印刷がキャンセルされたことをエラーとしてユーザに通知する。例えば、パネル制御部217を制御して、設定用紙サイズと印刷装置100において搬送された印刷用紙のサイズが異なることを示す表示を操作パネル218に表示させる。なお、このとき、設定用紙サイズと候補用紙サイズ(群)の両方または一方を表示して、ユーザが設定用紙サイズと印刷装置100に印刷させる印刷用紙のサイズの両方または一方を修正して、再度印刷を指示できるようにしてもよい。またエラー通知の方法は表示に限らず、例えば不図示のスピーカーから警告音や警告の内容を知らせる音声を出力するようにしてもよい。
S1207においてエラー通知が行われると、処理を終了する。このとき、図5のS1008には進まないため、当該印刷がキャンセルされる。
上記のS1200において設定用紙サイズが特定されなかったと判定された場合、S1208の処理が実行される。
CPU201はS1208において、S1005で取得された印刷用紙のサイズの候補が1つのみであるか判定する。S1208において印刷用紙のサイズの候補が複数あると判定された場合、S1209に進む。一方、印刷用紙のサイズの候補が1つのみであると判定された場合、その候補を印刷用紙のサイズ(設定用紙サイズ)として設定し、S1210に進む。S1210における処理については後述する。
S1209では、複数の候補用紙サイズから、印刷対象の画像が展開されるレイアウト領域のサイズを決定するための候補用紙サイズを絞り込む。この絞り込みは、各種の条件により実行される。その条件として、例えば当該印刷に対して設定された、印刷用紙の種別や、印刷装置100の仕向け情報を用いる。印刷用紙の種別は、印刷ジョブを送信する装置において、例えばユーザの指示により指定される。その指定された種別を示す種別情報が印刷設定情報に含まれており、S1001において種別情報が取得され、印刷用紙の種別が特定される。なお、この種別として「封筒」「はがき」等が指定され、その種別に応じた印刷処理が実行される。例えば複数の候補が「はがき」と「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判」に絞り込みを行うことができる。
以上のようにS1209において複数の候補用紙サイズからの絞り込みが行われると、S1210に進む。
S1210においてCPU201は、設定用紙サイズに応じてレイアウト幅、レイアウト長が設定される。そして、S1204において、S1210において設定されたレイアウト幅、レイアウト長のレイアウト領域に印刷対象の画像が展開され、図5のS1008における印刷実行処理に進む。
以上のように、図6に示した処理によれば、例えば印刷ジョブを送信する装置においてユーザが所望の印刷用紙のサイズを指定した場合、S1201においてそのサイズが実際に印刷に使用される印刷用紙のサイズに対応するものであるか判定される。そして、その判定により、ユーザ指定のサイズが印刷に使用される印刷用紙のサイズに対応するものである場合(S1201でYES)に、その指定されたサイズに応じた画像を当該印刷用紙に印刷させることができる。
一方、ユーザが指定した印刷用紙のサイズが印刷に使用される印刷用紙のサイズに対応するものではない場合(S1201でNO)、S1206、S1207の処理により印刷がキャンセルされる。よって、例えば印刷に使用される印刷用紙のサイズと大きく異なるサイズをユーザが誤って指定していた場合、またはユーザが指定したサイズと大きく異なるサイズの印刷用紙が搬送された場合に、当該印刷が実行されてしまうことを防ぐことができる。
なお、印刷を制限する方法として、印刷をキャンセルする方法に限らず、例えばS1206における排紙を行わずにS1207におけるエラー通知を行い、当該エラー通知に対してユーザが印刷実行を指示した場合には、印刷を実行する方法であってもよい。この場合、ユーザがエラー通知に対して印刷のキャンセルを指示した場合に、S1206における排紙が行われ、印刷がキャンセルされる。
また設定用紙サイズが特定されず、且つ候補用紙サイズが複数ある場合(S1200でNO、S1208でNO)、上記の各種の条件で候補の絞り込みが行われる。よって、ユーザが印刷用紙のサイズを指定しなかった場合、また印刷用紙のサイズを指定しないアプリケーションにより印刷ジョブが発行された場合に、実際に印刷に使用される印刷用紙のサイズに応じた適切なサイズの画像を当該印刷用紙に印刷させることができる。
またこのようにユーザの指示によりキャンセルを行うか判断するものに限らず、様々な条件に従って印刷のキャンセルを行うか否かを判定してもよい。その条件として、印刷設定情報において設定されている印刷用紙の種別を用いてもよい。例えば印刷用紙の種別が写真紙(光沢紙、コート紙など)である場合にはキャンセル処理を行い、種別が普通紙である場合にはキャンセルを行わずに、設定用紙サイズまたは候補用紙サイズに従って印刷を実行するようにしてもよい。これにより、光沢紙などの比較的高価な印刷用紙に印刷が行われる可能性があるときに、その印刷用紙のサイズに適さないサイズの画像が印刷されてしまうことを防ぐことができる。また例えばユーザが写真画像をL判サイズの印刷用紙に印刷させる前に、設定用紙サイズとして「L判」を指定してA4サイズの普通紙に印刷を実行させ、印刷結果を確認することが考えられる。上記構成によれば、このように設定用紙サイズと候補用紙サイズの大きさが異なる場合でも用紙種別が普通紙であれば印刷が実行されるため、ユーザが意図した上記印刷を実現することができる。
図6に示した処理によれば、設定用紙サイズがA4サイズ、レターサイズのいずれでもなかった場合、印刷がキャンセルされる。そのため、例えばA4サイズ、レターサイズと大きく異なるL判サイズをユーザが誤って指定していた場合、印刷がキャンセルされる。そのため、実際に印刷に使用される印刷用紙に比べて小さなL判サイズに対応するレイアウト領域に画像が展開されて印刷が実行されてしまうことを防ぐことができる。また本来はL判の印刷用紙に印刷すべき印刷ジョブとしてユーザが設定用紙サイズ「L判」を指定していたにもかかわらず、A4サイズやレターサイズといったL判サイズに対応する画像に対して大きな印刷用紙に印刷が実行されてしまうことを防ぐことができる。
また図6に示した処理によれば、設定用紙サイズに対応する候補用紙サイズが一意に特定されなかった場合に、S1205において、印刷を許容するか所定の条件に従って判定される。
図7は、図6におけるS1205の処理の詳細を示す図である。
CPU201はS1101において、図5のS1000において受信された当該印刷ジョブの印刷が画質を優先すべきものかの判定を行う。
例えば、印刷ヘッド112に設けられているインクを吐出するためのノズルの吐出不良の確認を行うノズルチェックパターンが印刷対象である場合、画質を優先すべきものではないと判定される。このノズルチェックパターンは、その印刷結果から吐出不良を確認するためのものである為、印刷に使用される印刷用紙内にパターンが印刷されれば問題がない。また印刷装置100の設定情報を印刷する情報印字パターンやインクタンクの情報を印刷するパターン、印刷ヘッド112の取り付け位置のズレの調整を行うレジ調整パターンなども同様に、画質を優先すべき印刷対象ではないと判定される。
本実施形態においては、このようなパターンを示す画像が、各パターンが画質が優先されるべき印刷対象であるか否かを示す情報とともに、プログラムメモリ203に記憶されている。S1101においてCPU201は、印刷ジョブがパターンの印刷を指示するものであるときに、プログラムメモリ203から当該印刷ジョブに対応するパターンの画像を読み出す。そして、S1101において上記情報により、当該パターンが画質優先であるか判定する。
またS1101では、当該印刷が画質を優先するパターンの印刷である場合や、また写真印刷等のパターンの印刷ではない場合、S1103に進む。S1103における処理の詳細については後述する。
S1101において、画質を優先しないと判断した場合S1102へと進む。
S1102においてCPU201は、印刷するパターンの印刷開始位置とパターンのサイズと、複数の候補用紙サイズを比較して、当該パターンが印刷用紙において欠けることなく印刷可能か判断する。
例えば印刷対象がA4サイズの用紙を想定したノズルチェックパターンであり、設定用紙サイズがA4サイズ、候補用紙サイズがA4サイズとレターサイズであった場合の処理を説明する。ノズルチェックパターンの横幅はA4幅(210.0mm)に収まり、長さはレターサイズ長(279.4mm)に収まるパターンサイズである。よってこの場合、印刷装置100にセットされている印刷用紙がA4サイズ、レターサイズのいずれであっても、ノズルチェックパターンが欠けることなく印刷用紙に印刷される。よって、この場合、S1102では、パターンが印刷用紙に欠けることなく印刷されると判断される。
一方、仮にパターンの長さがレターサイズ長よりも大きい場合、印刷装置100にセットされている用紙サイズがレターサイズであった場合、パターンが欠けて印刷されてしまう。よってこの場合、S1102では、パターンが印刷用紙に欠けて印刷されると判断される。
S1101において当該印刷ジョブに対応する印刷が画質優先と判断された場合、もしくはS1102において候補用紙サイズ内にパターンが収まると判断されなかった場合、S1103に進む。
S1103では、当該印刷が許容されないと判断される。すると図6のS1205からS1206、S1207に処理が進み、当該印刷がキャンセルされる。
一方、S1102において候補用紙サイズ内にパターンが収まると判断された場合、S1104に進み、当該印刷が許容されると判断される。すると、図6のS1205〜S1203、S1204に処理が実行され、当該設定用紙サイズに応じた大きさの印刷対象の画像が展開され、図5のS1008において印刷が実行される。上記の例において設定用紙サイズがA4サイズであるノズルチェックパターンの印刷の場合、A4サイズ、もしくはレターサイズの印刷用紙にこのノズルチェックパターンが印刷される。このノズルチェックパターンは、印刷装置100にセットされている印刷用紙がA4サイズ、レターサイズのいずれであっても印刷用紙内に欠けることなく印刷されるため、ユーザはノズルの吐出不良を適切に確認することができる。
また別の例として、写真印刷について説明する。設定用紙サイズが2L判、候補用紙サイズが2L判、封筒長形3号であった場合の処理を説明する。図5のS1101において、当該印刷ジョブの印刷が写真印刷であるので、画質優先の印刷と判断され、S1103へと進み、当該印刷が許容出来ないと判断される。その結果、仮に印刷装置100にセットされている印刷用紙が封筒長形3号であった場合に、印刷が行われてしまうことを防ぐことができる。図7に示したように印刷が実行された条件により画質を優先するか出力を優先するか判断することで、候補用紙サイズを一意に特定できなかった場合に、適切な制御を行うことができる。
なお、図7の例では、S1205において印刷を許容するか判断するための所定の条件として、当該印刷が画質優先であるか否かを条件とする例を示した。
しかしこれに限らず、種々の条件に従って判断してもよい。例えば印刷ジョブを送信する装置から、候補用紙サイズが一意に特定できなかった場合に印刷を許容させるか否かを指定するための情報を印刷ジョブとともに受信し、S1205ではこの情報により判定を行ってもよい。例えばネットワークサーバの登録情報の印刷の場合、サーバ側にて登録情報とともに、印刷を許容する旨を示す情報を印刷装置100に送信することで、その旨を印刷装置100に通知する。このような印刷を許容する旨を示す情報は印刷ジョブとは個別のコマンドでもよいし、印刷設定の用紙サイズ(設定用紙サイズ)において印刷を許容する旨を示すサイズを設定してもよい。
またS1205における判定に用いられる他の条件として、設定用紙サイズを条件としてもよい。例えば設定用紙サイズが写真印刷に用いられることが多いサイズ(L判、はがき、4×6判、2L判、往復はがき、六切り等)であった場合に、印刷が許容されないと判定してもよい。このようなサイズが設定用紙サイズである場合、印刷対象の画像が写真であると判定することができる。写真印刷の場合、文書印刷に比べて印刷に使用されるインクの量が多い。そのため、このようなサイズが設定用紙サイズである場合に印刷が許容されないように制御することで、多くのインクを使用したにもかかわらずユーザが希望するサイズの印刷用紙に印刷が行われてしまいインクが無駄になってしまうことを防ぐことができる。
また別の条件として、候補用紙サイズを条件としてもよい。例えば候補用紙サイズに写真印刷に用いられることが多いサイズ(L判、はがき、4×6判、2L判、往復はがき、六切り等)であった場合に、印刷が許容されないと判定してもよい。
さらに別の条件として、印刷設定における用紙種別を条件としてもよい。例えば用紙種別が写真印刷に対応する種別(「光沢紙」等)や「はがき」「封筒」であった場合、印刷が許容されないように制御し、種別が「普通紙」であった場合、印刷が許容されるよう制御してもよい。
用紙サイズが写真印刷に多く用いられるサイズである印刷用紙は、A4サイズ等、文書に多く使用される印刷用紙と比べて高価であることが多く、また種別が「光沢紙」「はがき」「封筒」の印刷用紙は、普通紙の印刷用紙に比べて高価であることが多い。
よって上記のように制御を行うことで、例えば設定用紙サイズとは異なるサイズの高価な印刷用紙をユーザが誤って印刷装置100にセットしていた場合に、この高価な印刷用紙に適切でないサイズの画像が印刷されてしまうことを防ぐことができる。
またS1205では上記のような種々の条件を組み合わせて判定を行ってもよい。例えば、印刷対象が所定のパターンであり、且つ印刷設定において設定されているサイズがA4サイズであり、且つ印刷設定において設定されている用紙種別が普通紙である場合に、印刷を許容すると判定してもよい。
なお、以上の実施形態では、設定用紙サイズが候補用紙サイズに含まれており(S1201でYES)さらに候補用紙サイズが複数ある場合(S1202でNO)に、S1205において当該印刷を許容するか判定していた。
しかしこれに限らず、上記のような所定の条件に従って印刷が許容されていると判定された場合、設定用紙サイズが候補用紙サイズに含まれているか否かに関わらず、設定用紙サイズに応じた大きさの画像を印刷するようにしてもよい。この場合、印刷が許容されていると判定された場合、用紙センサ118による用紙幅の検出を行わないようにしてもよく、当該判定がされなかったときに、用紙センサ118による検出を行うようにしてもよい。
また以上の実施形態では、印刷装置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において搬送されている用紙サイズに応じた大きさの画像を印刷させることができる。
以上の実施形態によれば、例えば印刷ジョブを送信する装置においてユーザが所望の印刷用紙のサイズを指定した場合、そのサイズが実際に印刷に使用される印刷用紙のサイズに対応するものであるか判定される。そして、その判定により、ユーザ指定のサイズが印刷に使用される印刷用紙のサイズに対応するものである場合に、その指定されたサイズに応じた画像を当該印刷用紙に印刷させることができる。
一方、ユーザが指定した印刷用紙のサイズが印刷に使用される印刷用紙のサイズに対応するものではない場合、候補用紙サイズに応じた大きさの画像が印刷される(図6(a))または印刷がキャンセルされる(図6(b))。
よって、例えば印刷に使用される印刷用紙のサイズと大きく異なるサイズをユーザが誤って指定していた場合、またはユーザが指定したサイズと大きく異なるサイズの印刷用紙が搬送された場合に、適切な処理を行うことができる。具体的には、そのような場合に、印刷用紙と大きさが大きく異なる画像が印刷されてしまうことを防ぐことができる。
また設定用紙サイズが特定されない場合、用紙センサ118により検出された用紙幅に基づく印刷媒体のサイズの候補に従って印刷が行われる。よって、ユーザが印刷用紙のサイズを指定しなかった場合、また印刷用紙のサイズを指定しないアプリケーションにより印刷ジョブが発行された場合に、実際に印刷に使用される印刷用紙のサイズに応じた適切なサイズの画像を当該印刷用紙に印刷させることができる。
なお、以上の実施形態において説明した「設定用紙サイズ」は、印刷ジョブを送信する装置においてユーザが指定したものに限らない。例えば、印刷装置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に印刷ジョブを送信するときに、図5におけるS1001〜S1007の処理を実行する。即ち、これらの装置が印刷装置100に印刷ジョブを送信するときに、印刷装置100の用紙センサ118により検出された印刷用紙の用紙幅の情報を取得する。そして、その取得された情報が示す用紙幅に応じて印刷用紙のサイズの候補を特定し、特定された候補と設定用紙サイズによりレイアウト領域を決定する。そして、ホストコンピュータやサーバ、スマートデバイスが備えるメモリ上において、レイアウト領域に対して印刷対象の画像を展開し、展開された画像を印刷装置100に印刷ジョブとして送信し、印刷装置100に印刷を実行させる。具体的には、印刷装置100のCPU201の制御により、ホストコンピュータやサーバ、スマートデバイスから受信した画像を印刷装置100内の印刷機構が印刷用紙に印刷する。
なお上記の構成において、図6のS1206、S1207で印刷のキャンセルを行う場合、ホストコンピュータやサーバ、スマートデバイスにおいてエラーを発行する。具体的には、印刷がキャンセルされたことを示す表示や、また印刷装置100にセットされている印刷用紙のサイズと設定用紙サイズの両方または一方をユーザに確認させるための表示を行う。ホストコンピュータにおいてエラーを表示する場合、ホストコンピュータが備える表示装置、またはホストコンピュータに接続されている外部の表示装置に表示を行う。またサーバにおいてエラー表示を行う場合、サーバに対して印刷ジョブを送信したクライアント装置にエラー表示の内容を通知し、クライアント装置の内部または外部の表示装置にエラー表示が行われる。
またホストコンピュータやサーバ、スマートデバイスにおいて本実施形態の処理を行う場合の別の例として、図6において、S1204における印刷データの変倍以外の処理(S1200〜S1203、S1205〜S1207)を上記装置で行ってもよい。この場合、S1204における印刷対象の画像の変倍については、印刷装置100のCPU201により実行される。印刷装置100と、ホストコンピュータ、サーバ、スマートデバイス等の装置とにおける処理の分担については、他にも種々の構成を本実施形態に適用することができる。
また以上の実施形態では、印刷装置により画像が印刷される印刷媒体の例として印刷用紙を例に説明したが、これに限らず、OHPシートであってもよい。また印刷用紙のような矩形の印刷媒体に限らず、CDやDVD等の円盤状の記録メディアであってもよい。
なお、本実施形態の機能は以下の構成によっても実現することができる。つまり、本実施形態の処理を行うためのプログラムコードをシステムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)がプログラムコードを実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することとなり、またそのプログラムコードを記憶した記憶媒体も本実施形態の機能を実現することになる。
また、本実施形態の機能を実現するためのプログラムコードを、1つのコンピュータ(CPU、MPU)で実行する場合であってもよいし、複数のコンピュータが協働することによって実行する場合であってもよい。さらに、プログラムコードをコンピュータが実行する場合であってもよいし、プログラムコードの機能を実現するための回路等のハードウェアを設けてもよい。またはプログラムコードの一部をハードウェアで実現し、残りの部分をコンピュータが実行する場合であってもよい。