以下、本発明の実施形態の一例について詳細に説明する。
図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は、例えばスマートフォンやタブレット端末である。また携帯電話やPDA等の携帯端末が、本実施形態におけるスマートデバイス208として動作してもよい。
また通信相手は、スマートデバイス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)が用紙サイズの候補として特定される。
本実施形態においては、印刷に用いられる印刷用紙のサイズとして上記のように複数の候補が特定された場合、印刷が実行されるときの余白設定に応じて印刷用紙のサイズを判定する。そして、その印刷用紙のサイズと余白設定に応じて印刷対象の画像のサイズを決定する。
具体的には、印刷用紙に余白を設けないように印刷対象の画像を用紙サイズよりも大きく変倍して印刷させる「フチなし印刷」に関する設定を余白設定の例として説明する。フチなし印刷が実行される場合、複数の候補のうちの最大の用紙幅を有するサイズの用紙幅と、複数の候補のうちの最大の用紙長を有するサイズの用紙長が選択される。例えばA4サイズ(用紙幅210.mm、用紙長297.0mm)、レターサイズ(用紙幅215.9mm、用紙長279.4mm)が候補である場合、用紙幅215.9mm、用紙長297.0mmの用紙サイズを印刷用紙のサイズとする。そして、その印刷用紙のサイズよりも印刷対象の画像が大きくなるように、印刷対象の画像を変倍する。
このように印刷対象の画像を変倍すると、印刷装置にセットされている印刷用紙のサイズがA4サイズであってもレターサイズであっても、印刷用紙よりも大きな画像が印刷される。そのため、印刷結果において余白ができることを防ぐことができる。詳細については図6、図7を用いて後述する。
なお、図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の印刷モードがフィッティング印刷を行うモードであった場合に、フィッティング印刷を行うようにしてもよい。またS1001においてスマートデバイス208等の外部装置から印刷ジョブを受信するときに使用されたプロトコルが所定のプロトコルである場合に、フィッティング印刷を行うと判定してもよい。さらに、印刷装置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により印刷される。
本実施形態では、図5のS1005において用紙サイズの複数の候補が特定された場合、当該印刷における余白設定に応じて用紙サイズを決定し、その用紙サイズに応じて印刷対象の画像を変倍する。なお、本実施形態では余白設定として「フチなし印刷」の設定を例に説明する。そして、「フチなし印刷」の実行が余白設定として設定されているか否かに応じて用紙サイズを決定する。
図6は、本実施形態における印刷対象の画像サイズを決定する処理を示す図であり、用紙サイズの候補としてA4サイズとレターサイズが特定された場合の例である。図6に示すように、A4サイズとレターサイズでは、用紙幅はレターサイズの方が長く、用紙長はA4サイズの方が長い。例えばフチなし印刷が実行されない場合、印刷対象の画像の全体が印刷用紙に印刷されることが適切と考えられる。そこで本実施形態では、図6(a)における斜線の領域のように、複数の候補(A4サイズ、レターサイズ)よりも小さな領域を印刷対象の画像の展開領域として設定し、その展開領域に合わせて印刷対象の画像を変倍する。
具体的には、A4サイズ、レターサイズのうちの最小の用紙幅、最小の用紙長を用紙サイズとして設定し、また最小の用紙幅、最小の用紙長のそれぞれから余白が除かれた大きさに画像を変倍する。例えば図6(a)において、A4サイズ(用紙幅210.0mm、用紙長297.0mm)、レター(用紙幅215.9mm、用紙長279.4mm)が候補である場合、用紙幅210.0mm、用紙長279.4mmが選択される。さらに、その選択された用紙幅、用紙長の用紙サイズにおける余白が除かれた領域を印刷対象の画像の展開領域として設定し、設定された展開領域の大きさに合わせて画像を変倍する。
このように印刷対象の画像を変倍することで、印刷装置100において印刷に使用される印刷用紙のサイズがA4サイズ、レターサイズのいずれであっても、印刷対象の画像の全体を印刷用紙に印刷させることができる。
一方、フチなし印刷が実行される場合、印刷用紙において余白が設けられないように印刷が実行されることが適切と考えられる。そこで本実施形態では、図6(b)における斜線の領域のように、複数の候補よりも大きな領域を印刷対象の画像の展開領域として設定し、その展開領域に合わせて印刷対象の画像を変倍する。
具体的には、複数の候補のうちの最大の用紙幅、最大の用紙長(レターサイズの用紙幅215.9mm、A4サイズの用紙長297.0mm)の領域を展開領域として設定する。さらに、その設定された展開領域から所定のフチなし拡大率(例えば105%)で拡大された領域を印刷対象の画像の展開領域として設定し、設定された展開領域の大きさに合わせて画像を変倍する。
このように印刷対象の画像を変倍することで、印刷装置100において印刷に使用される印刷用紙のサイズがA4サイズ、レターサイズのいずれであっても、印刷用紙に余白が設けられないように印刷を実行することができる。
また、以上のように本実施形態では、用紙センサ118による検出結果により用紙サイズの複数の候補が特定された場合、当該複数の候補の幅と長さから、余白設定に応じた幅と長さをそれぞれ個別に選択する。このように印刷用紙の幅、長さを個別に選択するのではなく、例えば複数の候補からいずれかの候補を選択し、その候補のサイズを変倍することで印刷対象の画像の展開領域を決定することも考えられる。例えばフチあり印刷の例では、選択された候補(例えばA4サイズ)がレターサイズの長さに収まるように縮小される。しかしこの場合、A4サイズの方がレターサイズに比べて縦長のため、この場合、図6(a)に示した本実施形態における例と比較すると、左右の余白が不必要に広くなってしまうことがある。また逆にフチなし印刷の例では、選択された候補(例えばA4サイズ)がレターサイズの幅よりも大きくなるように拡大される。この場合、A4サイズの方がレターサイズに比べて縦長のため、図6(b)に示した例と比較すると、上下の画像のはみ出し量が不必要に広くなってしまうことがある。
本実施形態では、用紙サイズの複数の候補の幅と長さから、余白設定に応じた幅と長さがそれぞれ個別に選択される。例えばフチあり印刷では最小の幅と最小の長さがそれぞれ個別に選択され、フチなし印刷では最大の幅と最大の長さがそれぞれ個別に選択される。これにより、フチあり印刷において不必要に余白が設けられる、またフチなし印刷において不必要に画像のはみ出し量が設けられてしまうことを防ぐことができる。
図6で説明した印刷対象の画像のサイズを決定する処理の詳細について図7を用いて説明する。図7は、図5のS1006におけるフィッティング処理の詳細を示すフローチャートである。
S1100においてCPU201は、当該印刷における余白設定としてフチなし印刷が設定されているか判定する。フチなし印刷が設定されているか判定するときの条件は種々のものであってよい。例えば印刷装置100の印刷モードがフチなし印刷を行うモードであった場合に、フチなし印刷が設定されていると判定してもよい。また図5のS1001において受信された印刷ジョブに含まれている印刷設定情報から余白設定を入力し、その余白設定情報においてフチなし印刷が指定されていた場合に、フチなし印刷が設定されていると判定してもよい。さらに、図5のS1001において印刷ジョブとともに、印刷ジョブを送信した装置や印刷指示に用いられたアプリケーションを特定するための情報を受信してもよい。この場合、当該情報により特定された装置やアプリケーションの種類によってフチなし印刷が設定されているか判定してもよい。印刷に使用される印刷用紙のサイズや種別によりフチなし印刷が設定されるか判定してもよい。例えば印刷用紙のサイズが「L判」、「2L判」である場合や、印刷用紙の種別が「光沢紙」で有る場合など、印刷対象の画像が写真であることが多い印刷用紙が印刷設定として設定されていた場合に、フチなし印刷が設定されていると判定してもよい。
S1100において、当該印刷において余白設定としてフチなし印刷が設定されていると判定されなかった場合はS1101へ進む。S1101においてCPU201は、図5のS1005において特定された印刷用紙のサイズの候補が1つであるか判定する。候補が1つであると判定されるとS1104に進み、候補が複数であると判定されるとS1102に進む。S1104における処理の詳細については後述する。
S1102においてCPU201は、図5のS1005で特定された用紙サイズの複数の候補の用紙幅から最小の用紙幅を選択する。具体的には、図4で示した用紙サイズテーブルを参照し、複数候補の用紙幅を取得して、その用紙幅から最小のものを特定する。そして、その最小の用紙幅を示す値を、印刷対象の画像が展開される展開領域の幅としてワークメモリ205に記憶する。
次にS1103においてCPU201は、印刷用紙サイズの複数の候補の用紙長から最小の用紙長を選択する。S1103における用紙長の設定処理の詳細はS1102における設定処理と同様である。
以上のように、S1102とS1103における処理によりワークメモリ205上に用紙幅、用紙長が設定されると、S1104に進む。
S1104でCPU201は、フチなし印刷設定が実行されないときの印刷用紙における余白の幅を示す余白設定を入力する。この余白設定は、例えば図5のS1001において受信された印刷ジョブに含まれている印刷設定情報から入力する場合であってもよいし、印刷装置100における所定の余白幅を示す余白設定をプログラムメモリ203から入力してもよい。
S1105でCPU201は、S1102、S1103における処理で設定された用紙幅、用紙長、及びS1104において入力された余白設定において設定されている余白の幅に応じて、印刷対象の画像がレイアウトされるレイアウト領域のサイズを決定する。即ち、S1102、S1103において用紙サイズが設定され、さらに余白の幅が特定されると、その用紙サイズから余白が除かれたサイズがレイアウト領域のサイズとして決定される。
一方、S1100において、当該印刷において余白設定としてフチなし印刷が設定されていると判定された場合はS1106に進む。S1106においてCPU201は、図5のS1005において特定された印刷用紙のサイズの候補が1つであるか判定する。候補が1つであると判定されるとS1109に進み、候補が複数であると判定されるとS1107に進む。
S1107においてCPU201は、印刷用紙サイズの複数の候補の用紙幅から最大の用紙幅を選択する。さらにS1108においてCPU201は、複数の候補の用紙長から最大の用紙長を選択する。なお、S1106、S1107における設定処理の詳細はS1102、S1103における設定処理と同様である。
以上のように、S1107とS1108における処理によりワークメモリ205上に用紙幅、用紙長が設定されると、S1109に進む。
S1109でCPU201は、フチなし拡大率を取得する。印刷装置100は、フチなし印刷を実行するために、印刷用紙よりも大きな画像を印刷することで印刷用紙の端に余白ができないようにする。そこで、S1109では、印刷用紙のサイズに対する印刷対象の画像のサイズの比率を示すフチなし拡大率を取得する。なお、本実施形態においてはフチなし拡大率を示す情報がプログラムメモリ203に格納されており、CPU201はこの情報を取得するものとする。また本実施形態においてフチなし拡大率は105%であるとする。
S1110でCPU201は、S1107、S1108において設定された用紙サイズ(用紙幅、用紙長)及びS1109において取得されたフチなし拡大率に応じて、印刷対象の画像のサイズを決定する。具体的には、S1107、S1108において設定された用紙サイズにフチなし拡大率(105%)を乗算した大きさを、印刷対象の画像がレイアウト(展開)されるレイアウト領域のサイズとして決定する。
S1105またはS1110において印刷対象の画像のサイズが決定されると、S1111に進む。S1111では、図5のS1001において受信された印刷ジョブに含まれているデータに対応する印刷対象の画像を、S1105またはS1110において決定されたレイアウト領域のサイズに合わせて展開する。これにより、S1105またはS1110において決定されたレイアウト領域に応じた大きさの印刷対象の画像が画像メモリ206上に作成される。
なお、S1111では、印刷対象の画像を余白設定に合わせて変倍を行う。具体的には、フチあり印刷が指定されておりS1105において展開領域のサイズが決定された場合は、印刷対象の画像が展開領域に対して内接して、当該展開領域に画像の全体が含まれるように変倍が行われる。一方、フチなし印刷が指定されておりS1110において展開領域のサイズが決定された場合は、印刷対象の画像が展開領域に対して外接して、印刷対象の画像が当該展開領域を含むように変倍される。
S1111における変倍処理の例として他にも、印刷対象の画像の幅と長さが展開領域に合うように、当該印刷対象の画像の幅と長さを個別に変倍するようにしてもよい。
以上のように図7に示した処理によれば、用紙サイズの候補が複数あり且つフチなし印刷が実行されると判定されなかった場合(S1100、S1101ともにNo)、S1102、S1103に処理が遷移する。そしてS1102、S1103において複数の候補のうちの最小の用紙幅、最小の用紙長が展開領域のサイズとして設定される。S1105において、最小の用紙幅、最小の用紙長のそれぞれから余白が除かれた展開領域の大きさに合わせて印刷対象の画像の変倍を行う。すると、印刷装置100に使用される印刷用紙が複数の候補のいずれであっても、印刷用紙の用紙幅、用紙長よりも幅、長さが短い印刷対象の画像が生成されるため、印刷対象の画像の全体を印刷用紙に印刷することができる。
また以上のように図7に示した処理によれば、用紙サイズの候補が複数あり且つフチなし印刷が実行されると判定された場合(S1100でYes、S1106でNo)、S1107、S1108に処理が遷移する。そしてS1107、S1108において複数の候補のうちの最大の用紙幅、最大の用紙長が展開領域のサイズとして設定される。そしてS1105において、最大の用紙幅、最大の用紙長が更にフチなし拡大率で拡大された展開領域に合わせて印刷対象の画像の変倍を行う。すると、印刷装置100に使用される印刷用紙が複数の候補のいずれであっても、印刷用紙の用紙幅、用紙長よりも幅、長さが長い印刷対象の画像が生成されるため、印刷用紙に余白が設けられないように印刷を実行することができる。
さらに本実施形態によれば、印刷対象のデータの種類や当該データを送信した装置の種類が特定の種類である場合にフィッティング印刷を行う。よって例えばその特定の種類を写真データに対応するものに設定することで、文書ファイルにページサイズが設定されているときに、フィッティング処理によりそのページサイズとは異なる大きさの印刷用紙に印刷が行われてしまうことを防ぐことができる。
なお、S1105、S1110では、印刷対象の画像の元の大きさと印刷用紙における展開領域とに応じて、印刷対象の画像を拡大するか縮小するか、またそのときの拡大率または縮小率を決定し、決定された拡大率または縮小率に従って変倍を実行する。
また、S1105、S1110において変倍される印刷対象の画像は、図5のS1001において受信された印刷ジョブから入力される。ただし、印刷対象の所在を示すアドレスが印刷ジョブに含まれている場合には、そのアドレスに対応するサーバ等の装置やメモリから印刷対象の画像が入力される。また印刷対象の画像はビットマップ形式の画像に限らず、ベクターデータであってもよい。この場合、S1111においてベクター画像を画像メモリ206上で変倍してからビットマップデータに変換する。
さらに、図6、図7で示した例では、用紙センサ118による検出結果に応じて用紙サイズの複数の候補が特定された場合、その複数の候補全ての用紙幅、用紙長を考慮して用紙幅、用紙長を決定していた。しかしこれに限らず、例えばフチなし印刷の対象となる用紙サイズが限られている場合、フチなし印刷が設定されるときには、複数の候補から参照するものを絞り込むようにしてもよい。例えば用紙サイズの候補として封筒洋形6号、はがき、4×6判が特定され、フチなし印刷の対象が4×6判のみの場合、印刷で用いられる印刷用紙のサイズとして4×6判と判定してもよい。この判定処理のために、例えば各用紙サイズがフチなし印刷に対応しているか示す情報を図4の用紙サイズテーブルに含ませる。そして、フチなし印刷が実行される場合に、CPU201が用紙サイズテーブルを参照することにより、上記のような絞り込み処理を実行することができる。
また以上の実施形態では、印刷装置100が外部装置から印刷ジョブを受信したときに、印刷用紙の用紙サイズを判定して、判定された用紙サイズに応じた印刷を実行する例について説明した。しかしこれに限らず、印刷装置100が備えるスキャナ220により読み取られたスキャン画像を印刷用紙に印刷させるコピー機能において、用紙サイズの判定を行ってもよい。
図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において搬送されている用紙サイズに応じた大きさの画像を印刷させることができる。
またS2002において取得されたコピー設定情報において余白設定としてフチなしコピーが指定されており、またS2008において用紙サイズの複数の候補が特定された場合には、S2010において、余白設定に応じたフィッティング処理が実行される。具体的には、図6(b)で示したように、複数の候補の最大の用紙幅、最大の用紙長が印刷対象の画像のサイズとして決定され、決定されたサイズに合わせてスキャン画像が変倍される。
このようにフィッティング処理を行うことで、例えばユーザによりフチありコピーが指定され且つ複数の用紙サイズが候補として特定された場合でも、印刷用紙において余白を設けずにコピーを実行することができる。
以上のように本実施形態によれば、印刷に用いられる印刷用紙のサイズとして複数の候補が特定された場合、印刷が実行されるときの余白設定に応じて印刷用紙のサイズを判定する。そして、その印刷用紙のサイズと余白設定に応じて印刷対象の画像のサイズを決定する。
例えば余白設定として「フチなし印刷」が設定されている場合、複数の候補のうちの最大の用紙幅を有するサイズの用紙幅と、複数の候補のうちの最大の用紙長を有するサイズの用紙長により用紙サイズを判定する。そして、その印刷用紙のサイズよりも印刷対象の画像が大きくなるように、印刷対象の画像を変倍する。
このように印刷対象の画像を変倍すると、印刷に用いられる印刷用紙が上記複数の候補のいずれであっても、印刷用紙のよりも大きな画像が印刷される。そのため、印刷結果において余白でできることを防ぐことができる。
なお、以上の実施形態では、印刷に用いられる印刷用紙のサイズとして複数の候補が特定された場合、まず用紙幅、用紙長を判定して、その用紙幅、用紙長に余白設定を反映させて印刷対象の画像のサイズを決定していた。しかしこれに限らず、例えば複数の候補と余白設定とにより決定される印刷対象の画像のサイズを示すテーブルをプログラムメモリ203に格納しておき、このテーブルを参照することにより印刷対象の画像のサイズを決定してもよい。
また、以上の実施形態では、余白設定としてフチなし印刷が設定されているか否かに応じて用紙サイズを決定していた。しかしこれに限らず、余白の数値が余白設定として取得される場合であってもよい。例えばユーザが余白の幅の数値を操作パネル218において入力し、入力された余白の幅の数値に応じて用紙サイズを決定してもよい。具体的には、用紙幅が所定の幅以下である場合、複数の候補から最大の用紙幅、最大の用紙長さを選択するようにしてもよい。さらに、例えば用紙幅における余白幅のみ上記の所定の幅以下であり、用紙長さが所定の幅より大きかった場合、複数の候補から最大の用紙幅と、最小の用紙長さを選択するようにしてもよい。
また以上の実施形態では、印刷における余白の設定に基づいて決定された印刷媒体のサイズに合わせて、印刷ジョブの受信等により取得された印刷対象の画像を変倍する例について説明した。しかしこれに限らず、印刷装置100において新たに印刷対象の画像を生成するときに、印刷媒体のサイズに応じた大きさの画像を生成してもよい。
さらに、以上の実施形態では、図5のS1003において取得された用紙センサ118により検知された用紙幅により、S1005において印刷用紙のサイズの候補が特定された。そして、その候補が複数ある場合に、S1006におけるフィッティング処理(フチなし/あり印刷の指定による印刷用紙のサイズの特定)を行っていた。
しかしこれに限らず、S1005において印刷用紙のサイズの候補が複数ある場合に候補の絞り込み処理を行い、その絞り込みの結果、未だ候補が複数残っていた場合にS1006の処理(図7に示す処理)を行ってもよい。
上記の絞り込み処理における絞り込みの条件として、例えば印刷に用いられる印刷用紙の用紙種別(はがき、封筒等)や、印刷装置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内の印刷機構が印刷用紙に印刷する。
またホストコンピュータやサーバ、スマートデバイスにおいて本実施形態の処理を行う場合の別の例として、図7のS1100〜S1110におけるレイアウト領域のサイズの決定までを上記装置で行ってもよい。この場合、S1111における印刷対象の画像の変倍については、印刷装置100のCPU201により実行される。印刷装置100と、ホストコンピュータ、サーバ、スマートデバイス等の装置とにおける処理の分担については、他にも種々の構成を本実施形態に適用することができる。
また以上の実施形態では、印刷装置により画像が印刷される印刷媒体の例として印刷用紙を例に説明したが、これに限らず、OHPシートであってもよい。また上記の印刷用紙のような矩形の印刷媒体に限らず、CDやDVD等の円盤状の記録メディアであってもよい。
なお、本実施形態の機能は以下の構成によっても実現することができる。つまり、本実施形態の処理を行うためのプログラムコードをシステムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)がプログラムコードを実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することとなり、またそのプログラムコードを記憶した記憶媒体も本実施形態の機能を実現することになる。
また、本実施形態の機能を実現するためのプログラムコードを、1つのコンピュータ(CPU、MPU)で実行する場合であってもよいし、複数のコンピュータが協働することによって実行する場合であってもよい。さらに、プログラムコードをコンピュータが実行する場合であってもよいし、プログラムコードの機能を実現するための回路等のハードウェアを設けてもよい。またはプログラムコードの一部をハードウェアで実現し、残りの部分をコンピュータが実行する場合であってもよい。