(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022073920
(43)【公開日】2022-05-17
(54)【発明の名称】コンピュータプログラム、および、印刷データ生成装置、
(51)【国際特許分類】
G06F 3/12 20060101AFI20220510BHJP
H04N 1/393 20060101ALI20220510BHJP
B41J 21/00 20060101ALI20220510BHJP
【FI】
G06F3/12 353
G06F3/12 303
G06F3/12 352
G06F3/12 356
H04N1/393
B41J21/00 Z
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2021094818
(22)【出願日】2021-06-04
(31)【優先権主張番号】P 2020181908
(32)【優先日】2020-10-29
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110001058
【氏名又は名称】特許業務法人鳳国際特許事務所
(72)【発明者】
【氏名】垣鍔 亮太
(72)【発明者】
【氏名】村田 希如
(72)【発明者】
【氏名】市川 裕詞
【テーマコード(参考)】
2C187
5C076
【Fターム(参考)】
2C187AC06
2C187AC08
2C187BF08
2C187BG03
2C187BH27
2C187CD17
2C187DB28
2C187GB07
5C076AA21
5C076BB04
(57)【要約】
【課題】アプリケーションによって生成されるベクトルデータに基づく印刷データを適切に生成する。
【解決手段】コンピュータプログラムは、ビットマップ画像の特定方向の画素数が特定数以下になるように第1のビットマップデータの生成条件を決定する機能と、生成条件を用いて第1のビットマップデータを取得する機能と、印刷条件を示す条件情報に基づいて拡大条件を決定する機能と、拡大条件を用いて第2のビットマップデータを取得する第2の取得機能と、を実現させる。第1のビットマップデータは、アプリケーションプログラムによって生成されるベクトルデータに基づいて生成されるデータである。第2のビットマップデータは、第1のビットマップデータを拡大条件に基づいて拡大することによって生成されるデータである。
【選択図】
図3
【特許請求の範囲】
【請求項1】
コンピュータプログラムであって、
ビットマップ画像の特定方向の画素数が特定数以下になるように、前記ビットマップ画像を示す第1のビットマップデータの生成条件を決定する生成条件決定機能と、
前記生成条件を用いて、前記生成条件を満たす前記第1のビットマップデータを取得する第1の取得機能であって、取得される前記第1のビットマップデータは、アプリケーションプログラムによって生成されるベクトルデータに基づいて生成されるデータである、前記第1の取得機能と、
印刷条件を示す条件情報に基づいて、前記第1のビットマップデータを拡大するための拡大条件を決定する拡大条件決定機能と、
前記拡大条件を用いて、第2のビットマップデータを取得する第2の取得機能であって、取得される前記第2のビットマップデータは、前記第1のビットマップデータを前記拡大条件に基づいて拡大することによって生成されるデータである、前記第2の取得機能と、
前記第2のビットマップデータを用いて印刷データを生成する生成機能と、
をコンピュータに実現させる、コンピュータプログラム。
【請求項2】
請求項1に記載のコンピュータプログラムであって、
前記生成条件決定機能は、前記第1のビットマップデータによって示される前記ビットマップ画像の前記特定方向の画素数が前記特定数になるように、前記生成条件を決定する、コンピュータプログラム。
【請求項3】
請求項1または2に記載のコンピュータプログラムであって、
前記条件情報は、印刷すべき印刷画像と前記印刷画像を印刷する印刷媒体とのいずれかの前記特定方向の長さを示す長さ情報を含み、
前記長さ情報によって示される前記特定方向の長さが基準長さより長い場合に、
前記生成条件決定機能は、前記第1のビットマップデータの前記生成条件を決定し、
前記拡大条件決定機能は、前記特定方向の長さに対応する前記特定方向の画素数を有する前記第2のビットマップデータが生成されるように、前記拡大条件を決定する、コンピュータプログラム。
【請求項4】
請求項3に記載のコンピュータプログラムであって、
前記生成条件は、前記第1のビットマップデータを生成するための前記特定方向の解像度Dを含み、
前記拡大条件は、前記第1のビットマップデータを拡大するための拡大率Eを含み、
前記特定方向の解像度Dと前記拡大率Eとは、前記特定数に対応する基準長さをAとし、前記印刷画像と前記印刷媒体とのいずれかの前記特定方向の長さをBとし、前記印刷画像の前記特定方向の印刷解像度をCとするとき、
D=[(A/B)×C]
E=(B/A)
の式を用いて算出される、コンピュータプログラム。
【請求項5】
請求項1~4のいずれかに記載のコンピュータプログラムであって、
前記第1の取得機能は、前記ベクトルデータをビットマップデータに変換する変換プログラムであって前記コンピュータプログラムとは異なる前記変換プログラムに前記第1のビットマップデータを生成させることによって、前記第1のビットマップデータを取得する、コンピュータプログラム。
【請求項6】
請求項1~5のいずれかに記載のコンピュータプログラムであって、
前記第2の取得機能は、前記第1のビットマップデータに対して拡大処理を実行して、前記第2のビットマップデータを生成することによって、前記第2のビットマップデータを取得する、コンピュータプログラム。
【請求項7】
請求項1~6のいずれかに記載のコンピュータプログラムであって、さらに、
前記生成条件とは異なる条件を用いて前記ベクトルデータに基づく第3のビットマップデータを取得する第3の取得機能であって、前記第3のビットマップデータは、前記生成条件とは異なる条件を満たし、前記第3のビットマップデータによって示される画像の前記特定方向の画素数は、前記第1のビットマップデータによって示される前記ビットマップ画像の前記特定方向の画素数よりも多い、前記第3の取得機能と、
ユーザインタフェース画面を表示部に表示してユーザからの指示を取得するユーザインタフェース機能であって、前記ユーザインタフェース画面は、前記ベクトルデータに基づいて取得すべきビットマップデータの種別に関する指示を取得するための第1の画面を含む、前記ユーザインタフェース機能と、
をコンピュータに実現させ、
前記第1の画面を介して第1の指示が取得される場合に、
前記第1の取得機能は、前記第1のビットマップデータを取得し、
前記第2の取得機能は、前記第1のビットマップデータを用いて前記第2のビットマップデータを取得し、
前記生成機能は、前記第2のビットマップデータを用いて印刷データを生成し、
前記第1の画面を介して第2の指示が取得される場合に、
前記第3の取得機能は、前記第3のビットマップデータを取得し、
前記生成機能は、前記第3のビットマップデータを用いて印刷データを生成する、コンピュータプログラム。
【請求項8】
請求項7に記載のコンピュータプログラムであって、
前記ユーザインタフェース画面は、印刷すべき印刷画像と前記印刷画像を印刷する印刷媒体とのいずれかの前記特定方向の長さを指定する指示を取得するための第2の画面を含み、
前記ユーザインタフェース機能は、前記第2の画面を介して指定される前記特定方向の長さが基準長さより長い場合に、前記ビットマップデータの種別に関する指示を取得する、コンピュータプログラム。
【請求項9】
請求項7または8に記載のコンピュータプログラムであって、
前記ユーザインタフェース画面は、印刷すべき印刷画像と前記印刷画像を印刷する印刷媒体とのいずれかの前記特定方向の長さを指定する指示を取得するための第2の画面と、印刷すべき印刷画像を示すプレビュー画像を含む第3の画面と、前記第3の画面を印刷前に表示するか否かの指示を取得するための第4の画面と、を含み、
前記ユーザインタフェース機能は、前記第2の画面を介して指定される前記特定方向の長さが基準長さより長い場合に、前記第4の画面を表示して前記第3の画面を印刷前に表示するか否かの指示を取得する、コンピュータプログラム。
【請求項10】
請求項7~9のいずれかに記載のコンピュータプログラムであって、さらに、
生成された前記第3のビットマップデータによって示される画像の前記特定方向の画素数が前記特定数より多い場合に、前記第3のビットマップデータを解析することによって、前記第3のビットマップデータによって示される画像の前記特定方向の端部に前記特定方向の長さが所定長以上の単色領域があるか否かを判定する判定機能をコンピュータに実現させ、
前記ユーザインタフェース機能は、前記第3のビットマップデータによって示される画像の前記特定方向の端部に前記所定長以上の単色領域がある場合に、ユーザへの警告のためのメッセージを表示する、コンピュータプログラム。
【請求項11】
請求項10に記載のコンピュータプログラムであって、
前記ユーザインタフェース機能は、前記警告のためのメッセージを、前記第3のビットマップデータに基づいて印刷すべき印刷画像を示すプレビュー画像とともに表示する、コンピュータプログラム。
【請求項12】
印刷データを生成する印刷データ生成装置であって、
ビットマップ画像の特定方向の画素数が特定数以下になるように、前記ビットマップ画像を示す第1のビットマップデータの生成条件を決定する生成条件決定部と、
前記生成条件を用いて、前記生成条件を満たす前記第1のビットマップデータを取得する第1の取得機能であって、取得される前記第1のビットマップデータは、アプリケーションプログラムによって生成されるベクトルデータに基づいて生成されるデータである、前記第1の取得部と、
印刷条件を示す条件情報に基づいて、前記第1のビットマップデータを拡大するための拡大条件を決定する拡大条件決定部と、
前記拡大条件を用いて、第2のビットマップデータを取得する第2の取得機能であって、取得される前記第2のビットマップデータは、前記第1のビットマップデータを前記拡大条件に基づいて拡大することによって生成されるデータである、前記第2の取得部と、
前記第2のビットマップデータを用いて印刷データを生成する生成部と、
を備える、印刷データ生成装置。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、印刷実行部を制御する技術に関する。
【背景技術】
【0002】
印刷ヘッドの主走査を複数回に亘って実行して印刷を行うインクジェット方式のシリアルプリンタにおいて、A4、B5、L判等の定型の用紙よりも印刷時の搬送方向の長さが長い用紙(長尺用紙とも呼ぶ)を用いて印刷を行う技術が知られている。例えば、特許文献1には、ロール紙に対して余白を生じさせない印刷(いわゆる長尺縁なし印刷)を行うインクジェットプリンタが開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
長尺用紙を用いる印刷を行うためには、印刷データの生成に用いられるビットマップデータのサイズも大きくなり得る。このために、アプリケーションが長尺用紙に対応するサイズのビットマップデータが生成されることを想定していない場合などには、印刷データを生成する過程において、アプリケーションによって生成されるベクトルデータを用いて、ビットマップデータを生成する処理が適切に動作しない可能性があった。この場合には、当該ベクトルデータに基づく印刷データを適切に生成することができない可能性があった。
【0005】
本明細書は、アプリケーションによって生成されるベクトルデータに基づく印刷データを適切に生成する技術を開示する。
【課題を解決するための手段】
【0006】
本明細書に開示された技術は、以下の適用例として実現することが可能である。
【0007】
[適用例1]コンピュータプログラムであって、
ビットマップ画像の特定方向の画素数が特定数以下になるように、前記ビットマップ画像を示す第1のビットマップデータの生成条件を決定する生成条件決定機能と、
前記生成条件を用いて、前記生成条件を満たす前記第1のビットマップデータを取得する第1の取得機能であって、取得される前記第1のビットマップデータは、アプリケーションプログラムによって生成されるベクトルデータに基づいて生成されるデータである、前記第1の取得機能と、
印刷条件を示す条件情報に基づいて、前記第1のビットマップデータを拡大するための拡大条件を決定する拡大条件決定機能と、
前記拡大条件を用いて、第2のビットマップデータを取得する第2の取得機能であって、取得される前記第2のビットマップデータは、前記第1のビットマップデータを前記拡大条件に基づいて拡大することによって生成されるデータである、前記第2の取得機能と、
前記第2のビットマップデータを用いて印刷データを生成する生成機能と、
をコンピュータに実現させる、コンピュータプログラム。
【0008】
アプリケーションプログラムによって生成されるベクトルデータに基づいて、特定方向の画素数が特定数より多い画像を示すビットマップデータを生成すると、画像の一部が欠けるなどの不具合が発生する場合がある。上記構成によれば、特定方向の画素数が特定数以下になるように決定される生成条件が決定されるので、このような不具合が発生することを抑制することができる。そして、第1のビットマップデータを拡大することによって生成される第2のビットマップデータを用いて、印刷データが生成されるので、アプリケーションによって生成されるベクトルデータに基づく印刷データを適切に生成することができる。
【0009】
なお、本明細書に開示の技術は、種々の態様で実現することが可能であり、例えば、画像処理方法および画像処理装置、印刷方法および印刷装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体(例えば、一時的ではない記録媒体)、等の形態で実現することができる。
【図面の簡単な説明】
【0010】
【
図1】実施例の印刷システム1000の構成を示すブロック図。
【
図4】印刷指示を入力するためのUI画面の一例を示す図。
【
図6】第2実施例のUI画面の一例を示す第1の図。
【
図7】第2実施例のUI画面の一例を示す第2の図。
【
図8】第3実施例のプレビュー推奨画面WI4cの一例を示す図。
【発明を実施するための形態】
【0011】
A.第1実施例:
A-1: 印刷システム1000の構成
次に、実施の形態を実施例に基づき説明する。
図1は、実施例の印刷システム1000の構成を示すブロック図である。
【0012】
印刷システム1000は、プリンタ200と、本実施例の画像処理装置としての端末装置300と、を含んでいる。プリンタ200と、端末装置300と、は、有線または無線のネットワークNWを介して、通信可能に接続されている。
【0013】
端末装置300は、プリンタ200のユーザが使用する計算機であり、例えば、パーソナルコンピュータやスマートフォンである。端末装置300は、端末装置300のコントローラとしてのCPU310と、ハードディスクドライブなどの不揮発性記憶装置320と、RAMなどの揮発性記憶装置330と、マウスやキーボードなどの操作部360と、液晶ディスプレイなどの表示部370と、通信部380と、を備えている。通信部380は、ネットワークNWに接続するための有線または無線のインタフェースを含む。
【0014】
揮発性記憶装置330は、CPU310のためのバッファ領域331を提供する。不揮発性記憶装置320には、複数個のコンピュータプログラム、具体的には、アプリケーションプログラムAPと、プリンタドライバプログラムDPと、ラスタライズプログラムRPと、OSプログラムOPと、が格納されている。
【0015】
アプリケーションプログラムAPは、画像データを処理する機能をCPU310に実現させるプログラムであり、例えば、文書作成機能を実現させるプログラムや、文書閲覧機能を実現させるプログラムである。アプリケーションプログラムAPは、プリンタドライバプログラムDPを起動して、該アプリケーションが扱う画像データによって示される画像の印刷をプリンタドライバプログラムDPに指示する機能を実現させるプログラムを含んでいる。以下では、アプリケーションプログラムAPを実行することによってCPU310が実現する機能を「アプリケーション」とも呼ぶ。アプリケーションプログラムAPは、例えば、サーバからダウンロードされる形態、あるいは、DVD-ROMなどに格納される形態で、アプリケーションプログラムAPの製造者によって提供される。
【0016】
プリンタドライバプログラムDPは、アプリケーションの指示に従って、アプリケーションから取得される画像データを用いて、プリンタ200に画像を印刷させる機能をCPU310に実現させるプログラムである。以下では、プリンタドライバプログラムDPを実行することによってCPU310が実現する機能を「プリンタドライバ」とも呼ぶ。プリンタドライバプログラムDPは、例えば、サーバからダウンロードされる形態、あるいは、DVD-ROMなどに格納される形態で、プリンタ200の製造者によって提供される。
【0017】
OSプログラムOPは、オペレーティングシステム(OS)としての機能をCPU310に実現させるプログラムである。実現する。OSは、本実施例では、Windows(登録商標)である。OSプログラムは、Android(登録商標)、iOS(登録商標)などの他のプログラムであっても良い。
【0018】
ラスタライズプログラムRPは、所定の記述言語によって記述された画像データ(ベクトルデータとも呼ぶ)をRGB画像データなどのビットマップデータに変換する処理(ラスタライズ)を実行する機能を、CPU310に実現させるプログラムである。ベクトルデータは、描画命令の集合である。本実施例では、ラスタライズプログラムRPは、WindowsOSのコンポーネントとして提供されているGDI(Graphic Device Interface)である。ラスタライズプログラムRPは、他のOSプログラムに対応するプログラムであっても良い。以下では、ラスタライズプログラムRPを実行することによって、CPU310が実現する機能を「ラスタライザ」とも呼ぶ。OSプログラムOPおよびラスタライズプログラムRPは、例えば、端末装置300の製造時に不揮発性記憶装置220にインストールされる形態で、OSプログラムOPの製造者によって提供される。OSプログラムOPおよびラスタライズプログラムRPは、サーバからダウンロードされる形態、あるいは、DVD-ROMなどに格納される形態で提供されても良い。
【0019】
プリンタ200は、例えば、印刷実行部としての印刷機構100と、印刷機構100のための制御装置としてのCPU210と、ハードディスクドライブなどの不揮発性記憶装置220と、ハードディスクやフラッシュメモリなどの揮発性記憶装置230と、ユーザによる操作を取得するためのボタンやタッチパネルなどの操作部260と、液晶ディスプレイなどの表示部270と、通信部280と、を備えている。プリンタ200は、通信部280を介して、外部装置、例えば、ユーザの端末装置(図示省略)と通信可能に接続される。
【0020】
揮発性記憶装置230は、CPU210が処理を行う際に生成される種々の中間画像データを一時的に格納するバッファ領域231を提供する。不揮発性記憶装置220には、コンピュータプログラムCPが格納されている。コンピュータプログラムCPは、本実施例では、プリンタ200を制御するための制御プログラムである。コンピュータプログラムCPは、プリンタ200の出荷時に不揮発性記憶装置220に格納されて提供され得る。これに代えて、コンピュータプログラムCPは、サーバからダウンロードされる形態で提供されても良いし、DVD-ROMなどに格納される形態で提供されてもよい。CPU210は、コンピュータプログラムCPを実行することにより、例えば、印刷機構100を制御して後述する印刷処理を実行する。
【0021】
印刷機構100は、シアン(C)、マゼンタ(M)、イエロ(Y)、ブラック(K)の各インク(液滴)を吐出して印刷を行う。印刷機構100は、印刷ヘッド110とヘッド駆動部120と主走査部130と搬送部140とを備えている。
【0022】
図2は、印刷機構100の概略構成を示す図である。
図2(A)に示すように、主走査部130は、印刷ヘッド110を搭載するキャリッジ133と、キャリッジ133を主走査方向(
図2のX軸方向)に沿って往復動可能に保持する摺動軸134と、を備えている。主走査部130は、図示しない主走査モータの動力を用いて、キャリッジ133を摺動軸134に沿って往復動させる。これによって、用紙Mに対して主走査方向に沿って印刷ヘッド110を往復動させる主走査が実現される。
【0023】
搬送部140は、用紙Mを保持しつつ、主走査方向と交差する搬送方向AR(
図2の+Y方向)に用紙Mを搬送する。
図2(A)に示すように、用紙台145と、上流ローラ対142と、下流ローラ対141と、を備えている。以下では、搬送方向ARの上流側(-Y側)を、単に、上流側とも呼び、搬送方向ARの下流側(+Y側)を単に下流側とも呼ぶ。
【0024】
上流ローラ対142は、印刷ヘッド110よりも上流側(-Y側)で用紙Mを保持し、下流ローラ対141は、印刷ヘッド110よりも下流側(+Y側)で用紙Mを保持する。用紙台145は、上流ローラ対142と、下流ローラ対141と、の間の位置であって、かつ、印刷ヘッド110のノズル形成面111と対向する位置に配置されている。図示しない搬送モータによって下流ローラ対141と上流ローラ対142とが駆動されることによって、用紙Mが搬送される。
【0025】
ヘッド駆動部120(
図1)は、主走査部130が印刷ヘッド110の主走査を行っている最中に、印刷ヘッド110に駆動信号を供給して、印刷ヘッド110を駆動する。印刷ヘッド110は、駆動信号に従って、搬送部140によって搬送される用紙上にインクを吐出してドットを形成する。
【0026】
図2(B)は、-Z側(
図2における下側)から見た印刷ヘッド110の構成が図示されている。
図2(B)に示すように、印刷ヘッド110のノズル形成面111には、複数のノズルからなる複数のノズル列、すなわち、上述したC、M、Y、Kの各インクを吐出するノズル列NC、NM、NY、NKが形成されている。各ノズル列は、搬送方向ARに沿って並ぶ複数個のノズルNZを含んでいる。複数個のノズルNZは、搬送方向AR(+Y方向)の位置が互いに異なり、搬送方向ARに沿って所定のノズル間隔NTで並ぶ。ノズル間隔NTは、複数のノズルNZの中で搬送方向ARに隣り合う2個のノズルNZ間の搬送方向ARの長さである。
【0027】
CPU210は、以上のような構成の印刷機構100を制御して印刷を実行させる。すなわち、CPU210は、主走査部130に主走査を行わせつつ、印刷ヘッド110にインクを吐出させて用紙Mにドットを形成する部分印刷と、搬送部140による副走査(用紙Mの搬送)と、を交互に複数回実行することで、用紙Mに印刷画像を印刷する。
【0028】
A-2.印刷処理
ユーザは、端末装置300にて実行中のアプリケーションが処理している画像データに基づいて、画像を印刷する際に、アプリケーションに対して印刷指示を入力する。印刷指示が入力されると、アプリケーションは、プリンタドライバを起動する。すなわち、CPU310は、プリンタドライバプログラムDPを実行する。プリンタドライバ(CPU310)は、印刷処理を開始する。
【0029】
図3は、第1実施例の印刷処理のフローチャートである。S10では、プリンタドライバは、ユーザインタフェース画面(UI画面)を表示部370に表示する。
【0030】
図4は、印刷指示を入力するためのUI画面の一例を示す図である。
図4(A)のUI画面WI1は、印刷に関連する複数個の設定項目のそれぞれについて、対応する複数個の選択肢の中から、1個の有効な選択肢を指定するための入力要素を含んでいる。具体的には、UI画面WI1は、複数個の選択肢から印刷に関する条件情報を入力するプルダウンメニューPM1と、複数個のラジオボタンRB1~RB6と、複数個のボタンBTs、BT1、BT2と、を含む。
【0031】
プルダウンメニューPM1は、印刷媒体としての用紙Mのサイズの指定を入力するための入力要素である。本実施例では、選択肢として、A4、A3などの定型の短尺用紙と、長尺用紙(例えば、297mm×1200mmの用紙)と、ユーザ定義サイズの用紙と、を選択することができる。ユーザ定義サイズの用紙は、予めユーザが登録したサイズの用紙である。ユーザは、ボタンBTsを押下すると表示される別の後述するUI画面WI2(
図4(B))を介して、任意のサイズの用紙を登録することができる。
【0032】
ラジオボタンRB1、RB2は、用紙を縦方向として印刷するか横方向として印刷するかの指示を入力するための入力要素である。ラジオボタンRB3、RB4は、印刷のカラーモードの指定を入力するための入力要素である。カラーモードの選択肢は、本実施例では、モノクロモードとカラーモードとの2種類である。ラジオボタンRB5、RB6は、印刷のモードの指定を入力するための入力要素である。印刷モードの選択肢は、本実施例では、通常モードと、高画質モードと、の2種類である。高画質モードで印刷される画像は、通常モードで印刷される画像よりも画質が高い。
【0033】
図4(B)のUI画面WI2は、ユーザが用紙Mのサイズを登録するための画面である。UI画面WI2は、2個のラジオボタンRB7、RB8と、2個の入力欄IS1、IS2と、2個のボタンBT3、BT4と、を含む。
【0034】
ラジオボタンRB7、RB8は、用紙Mのサイズを入力する際に用いられる単位の指定を入力するための入力要素である。単位の選択肢は、本実施例では、ミリとインチとの2種類である。入力欄IS1は、用紙の幅を数値で入力するための入力要素である。入力IS2は、用紙の高さを数値で入力するための入力要素である。
【0035】
UI画面WI2において、OKボタンBT3が押下されると、その時点でラジオボタンRB7、RB8を介して選択されている単位と、2個の入力欄IS1、IS2に入力されている数値と、によって示されるサイズが登録される。
【0036】
UI画面WI1において、印刷ボタンBT1が押下されると、S15にて、プリンタドライバは、UI画面WI1を介して、印刷に関連する条件を示す印刷条件情報を取得する。印刷ボタンBT1が押下された時点でUI画面WI1にて指定されている選択肢を示す情報が、対応する設定項目の有効な印刷条件情報として取得される。上述したように、印刷条件情報は、用紙Mのサイズを示す情報や用紙方向を示す情報や印刷モードを示す情報を含む。
【0037】
S20では、プリンタドライバは、条件情報から用紙Mの搬送方向ARの長さBを特定する。具体的には、用紙Mのサイズを示す情報と用紙方向(縦方向または横方向)を示す情報とに基づいて、該用紙Mの搬送方向ARの長さBが特定される。用紙方向として縦方向が指定されている場合には、用紙Mの高さが、用紙の搬送方向ARの長さであり、用紙方向として横方向が指定されている場合には、用紙Mの幅が、用紙の搬送方向ARの長さである。A3、A4、長尺用紙の用紙Mが指定されている場合には、これらの定型用紙の予め記憶された幅または高さ(単位は、例えば、mm)のうち、搬送方向ARの長さを示す値が特定される。ユーザ定義サイズが指定されている場合には、ユーザによって登録された用紙Mの幅または高さのうち、搬送方向ARの長さを示す値が特定される。
【0038】
S25では、プリンタドライバは、特定された用紙Mの搬送方向ARの長さBは、基準長Aより長いか否かを判断する。基準長Aは、印刷画像の搬送方向ARの長さ(単位は、例えば、画素数)の上限値に対応する用紙Mの搬送方向ARの長さである。本実施例では、上限値は、2byteで表現可能な整数の最大値(32767)である。基準長Aは、搬送方向ARの印刷解像度Cに応じた値であり、印刷解像度Cごとに予め記憶されている。プリンタドライバは、選択された印刷モードに基づいて搬送方向ARの印刷解像度を決定し、該印刷解像度に対応する基準長Aを用いて、本ステップの判断を行う。例えば、搬送方向ARの印刷解像度が600dpiである場合には、基準長Aは、約1400mmである。このように、本実施例では、用紙Mの搬送方向ARの長さが基準長Aより長いことは、印刷画像の搬送方向ARの長さが上限値より長いことと同義である。
【0039】
用紙Mの搬送方向ARの長さBが基準長A以下である場合には(S25:NO)、S30にて、プリンタドライバは、ラスタライズのための解像度を含むラスタライズ条件を決定する。この場合には、印刷解像度をそのまま用いてラスタライズを行ったとしても、生成されるビットマップ画像の搬送方向ARの画素数は上限値を超えることはない。このために、プリンタドライバは、ラスタライズのための解像度を印刷解像度に決定する。したがって、ラスタライズのための搬送方向ARの解像度Dは、搬送方向ARの印刷解像度Cに決定される(D=C)。なお、ラスタライズ条件は、他の条件、例えば、ラスタライズのための主走査方向の解像度、サイズ(主走査方向および搬送方向ARの画素数)、色数(階調数、モノクロ/カラーなど)を含む。これらの条件は、S15にて取得された印刷条件情報に基づいて決定される。
【0040】
S35では、プリンタドライバは、決定されたラスタライズ条件に基づいて、OSに中間画像データを生成させる。中間画像データは、ラスタライザが解釈可能な描画命令で記述されたベクトルデータであり、本実施例では、EMF(Enhanced Metafile)と呼ばれる形式のファイルである。具体的には、プリンタドライバは、OSに対して、ラスタライズ条件を渡して、中間画像データの生成を指示する。OSは、アプリケーションから印刷すべき画像を示すベクトルデータ(描画命令群)を取得し、該ベクトルデータとプリンタドライバから取得したラスタライズ条件とを用いて、中間画像データを生成する。
【0041】
S40では、プリンタドライバは、OSによって生成された中間画像データに基づくビットマップデータを、ラスタライザに生成させる。ラスタライザは、プリンタドライバからの指示に応じて、中間画像データをビットマップデータに変換する。本実施例では、ビットマップデータは、RGB値を画素ごとに含むRGB画像データである。RGB値は、例えば、赤と緑と青との3個の成分値を含むRGB表色系の色値である。生成されるビットマップデータによって示されるビットマップ画像の搬送方向ARの画素数は、上述した上限値以下である。
【0042】
用紙Mの搬送方向ARの長さBが基準長Aより長い場合には(S25:YES)、S45にて、プリンタドライバは、ラスタライズのための解像度を含むラスタライズ条件を決定する。この場合には、印刷解像度をそのまま用いてラスタライズを行うと、生成されるビットマップ画像の搬送方向ARの画素数は上限値を超える。このために、プリンタドライバは、生成されるビットマップ画像の搬送方向ARの画素数が上限値を超えないように、ラスタライズのための解像度を決定する。本実施例では、ラスタライズのための搬送方向ARの解像度Dは、基準長Aを用紙Mの搬送方向ARの長さBで除した値に、搬送方向ARの印刷解像度Cを乗じた値に決定される。すなわち、ラスタライズのための搬送方向ARの解像度Dは、以下の式(1)を用いて算出される。
D=[(A/B)×C] …(1)
【0043】
これによって、印刷解像度をそのまま用いてラスタライズを行う場合と比較して、搬送方向ARに(A/B)だけ縮小されたビットマップ画像が生成される。なお、本実施英では、ラスタライズのための主走査方向の解像度も、印刷解像度をそのまま用いてラスタライズを行う場合と比較して、主走査方向に(A/B)だけ縮小されるように決定される。
【0044】
S50では、S35と同様に、プリンタドライバは、決定されたラスタライズ条件に基づいて、OSに中間画像データを生成させる。S55では、プリンタドライバは、OSによって生成された中間画像データに基づくビットマップデータを、ラスタライザに生成させる。ラスタライザは、プリンタドライバからの指示に応じて、中間画像データをビットマップデータ(本実施例ではRGB画像データ)に変換する。生成されるビットマップデータによって示されるビットマップ画像のサイズは、印刷すべき画像のサイズよりも小さい。具体的には、ビットマップ画像の搬送方向ARおよび主走査方向の画素数は、印刷すべき画像の搬送方向ARおよび主走査方向の画素数の(A/B)倍である。ビットマップ画像の搬送方向ARの画素数は、上述した上限値と一致する。
【0045】
S60では、プリンタドライバは、生成されたビットマップデータの拡大率Eを決定する。拡大率Eは、拡大後のビットマップデータのサイズが印刷すべき画像のサイズになるように決定される。本実施例では、拡大率Eは、用紙Mの搬送方向ARの長さBを基準長Aで除した値に決定される。すなわち、拡大率Eは、以下の式(2)を用いて算出される。
E=(B/A) …(2)
【0046】
S60では、プリンタドライバは、決定された拡大率Eを用いて、ビットマップデータを拡大して、拡大済みのビットマップデータを生成する。拡大済みのビットマップデータによって示される拡大済ビットマップ画像のサイズは、印刷すべき画像のサイズである。拡大処理は、例えば、バイキュービック法やバイリニア法などの補間演算を用いて実行される。
【0047】
S70では、プリンタドライバは、S40にて生成されたビットマップデータ、または、S65にて生成された拡大済みのビットマップデータを用いて、印刷画像を示す印刷データを生成する。具体的には、プリンタドライバは、ビットマップデータ(RGB画像データ)に対して色変換処理を実行する。色変換処理は、RGB画像データに含まれる複数個の画素のRGB値をCMYK値に変換する処理である。CMYK値は、印刷に用いられるインクに対応する成分値(本実施例では、C、M、Y、Kの成分値)を含むCMYK表色系の色値である。色変換処理は、例えば、RGB値とCMYK値との対応関係を規定する公知のルックアップテーブルを参照して実行される。プリンタドライバは、色変換処理済みの対象画像データに対して、ハーフトーン処理を実行して、印刷データ(ドットデータとも呼ぶ)を生成する。印刷データは、CMYKのそれぞれの色成分について、ドット形成状態を画素ごとに表すデータである。印刷データの各画素の値は、例えば、「ドット無し」と「ドット有り」の2階調、あるいは、「ドット無し」「小」「中」「大」の4階調のドットの形成状態を示す。ハーフトーン処理は、ディザ法や誤差拡散法などの公知の手法を用いて実行される。
【0048】
S75では、プリンタドライバは、印刷データを用いてプリンタ200に印刷を実行させる。例えば、プリンタドライバは、印刷データを分割して、複数回の部分印刷をプリンタ200に実行させるための部分印刷データを生成する。プリンタドライバは、該部分印刷データに用紙Mの搬送量、主走査の速度などを示す制御データを付加して、プリンタ200に送信する。プリンタ200は、部分印刷データおよび制御データに従って、用紙Mに画像を印刷する。
【0049】
以上説明した本実施例によれば、プリンタドライバプログラムDPは、ビットマップ画像の搬送方向ARの画素数が上限値以下になるように、ラスラタイズ条件を決定する機能(
図3のS45)と、ラスタライズ条件を用いて、ラスタライズ条件を満たすビットマップデータを取得する機能(
図3のS50、S55)と、印刷条件情報に基づいて、ビットマップデータを拡大するための拡大条件を決定する機能(
図3のS60)と、拡大条件を用いて、拡大済みのビットマップデータを取得する機能(
図3のS65)と、拡大済みのビットマップデータを用いて印刷データを生成する機能(
図3のS70)と、をCPU310に実現させる。
【0050】
例えば、アプリケーションプログラムAP、OSプログラムOP、ラスタライズプログラムRPのいずれかの仕様によって、もしくは、アプリケーションプログラムAP、OSプログラムOP、ラスタライズプログラムRPの組み合わせによっては、上限値を超える搬送方向ARの画素数のビットマップデータの生成が適切に行えない場合がある。長尺用紙を用いる印刷では、長尺用紙に対応する搬送方向ARの画素数が上限値を超える場合がある。このような場合に、ラスタライズプログラムRPによって長尺用紙に対応する画素数のビットマップデータが生成されると、生成されるビットマップデータによって示される画像の一部に欠けなどの不具合が生じ得る。本実施例によれば、ビットマップ画像の搬送方向ARの画素数が上限値以下になるように、ラスラタイズ条件が決定されるので、ラスタライズプログラムRPによって生成されるビットマップデータの搬送方向ARの画素数は、上限値以下に抑えられる。したがって、このような不具合が発生することを抑制することができる。そして、該ビットマップデータを拡大することによって生成される拡大済みのビットマップデータを用いて、印刷データが生成されるので、アプリケーションによって生成されるベクトルデータに基づく印刷データを適切に生成することができる。
【0051】
さらに、本実施例によれば、プリンタドライバは、
図3のS45にて、ビットマップ画像の搬送方向ARの画素数が上限値と一致するように、生成条件を決定する。この結果、
図3のS55にて、過度に小さなサイズのビットマップデータが生成されることを抑制できる。過度に小さなサイズのビットマップデータが生成されると、拡大済みのビットマップデータによって示される画像の画質が低下し、ひいては、印刷される画像の画質が低下し得る。本実施例によれば、印刷データを用いて印刷される画像の画質が低下することを抑制することができる。
【0052】
さらに、本実施例によれば、S15にて取得される印刷条件情報は、用紙Mの搬送方向ARの長さを示す情報を含む(
図4)。プリンタドライバは、長さ情報によって特定される搬送方向ARの長さが基準長さAより長い場合に(
図3のS25にてYES)、ビットマップ画像の搬送方向ARの画素数が上限値以下になるように、ラスタライズ条件を決定する(
図3のS45)。そして、プリンタドライバは、印刷すべき印刷画像の搬送方向ARの長さに対応する搬送方向ARの画素数を有する拡大済みのビットマップデータが生成されるように、拡大条件を決定する(
図3のS60)。この結果、長尺印刷のように、用紙Mの搬送方向ARの長さが比較的長い場合であっても、アプリケーションによって生成されるベクトルデータに基づく印刷データを適切に生成することができる。
【0053】
さらに、
図3のS45にて決定されるラスタライズ条件は、ビットマップデータを生成するための搬送方向ARの解像度Dを含み、
図3のS60にて決定される拡大条件は、ビットマップデータを拡大するための拡大率Eを含む。解像度Dと拡大率Eとは、上限値に対応する基準長さをAとし、用紙Mの搬送方向ARの長さをBとし、印刷画像の搬送方向ARの印刷解像度をCとするとき、D=[(A/B)×C]、E=(B/A)の式を用いて算出される。この結果、解像度D、拡大率Eを適切に決定することができる。
【0054】
さらに、本実施例によれば、プリンタドライバは、ベクトルデータをビットマップデータに変換する外部の変換プログラムであるラスタライズプログラムRPに、ビットマップデータを生成させることによって、ビットマップデータを取得する(
図3のS50)。この結果、アプリケーションによって生成されるベクトルデータに基づく、印刷データを適切に生成することができる。また、プリンタドライバプログラムDPに、ラスタライズ機能を組み込む必要がないので、プリンタドライバプログラムDPの開発工数を低減できる。
【0055】
さらに、本実施例によれば、プリンタドライバは、ラスタライズプログラムRPによって生成されるビットマップデータに対して、自身で拡大処理を実行して、拡大済みのビットマップデータを生成することによって、拡大済みのビットマップデータを取得する。この結果、ラスタライズプログラムRPだけでは適切に生成することができないサイズのビットマップデータを適切に生成することができる。したがって、アプリケーションによって生成されるベクトルデータに基づく印刷データを適切に生成することができる。
【0056】
以上の説明から解るように、本実施例の
図3のS55にて生成されるビットマップデータは、第1のビットマップデータの例であり、
図3のS65にて生成される拡大済みのビットマップデータは、第2のビットマップデータの例である。また、本実施例の搬送方向ARは、特定方向の例であり、搬送方向ARの画素数の上限値は、特定数の例である。
【0057】
B.第2実施例
図5は、第2実施例の印刷処理のフローチャートである。
図6、
図7は、第2実施例のUI画面の一例を示す図である。詳細は後述するが、これらのUI画面を介して、プリンタドライバは、ユーザによって入力される様々な指示を取得することができる。第2実施例では、
図3の印刷処理に代えて、
図5の印刷処理が実行される。第2実施例のその他の構成(例えば、
図1の構成)は、第1実施例と同一である。印刷処理は、第1実施例と同様に、端末装置300のCPU310によって実行される。
【0058】
S100では、プリンタドライバは、UI画面を表示部370に表示する。具合的には、先ず、
図6(A)のメイン画面WI1bが表示部370に表示される。メイン画面WI1bは、
図4(A)のUI画面WI1と同様に、複数個の選択肢から印刷に関する条件情報を入力するための入力要素であるプルダウンメニューPM1および複数個のラジオボタンRB1~RB6と、複数個のボタンBTs、BT1、BT2と、を含む。ボタンBTsが押下されると、第1実施例と同様に、
図4(B)のUI画面WI2が表示される。ユーザは、UI画面WI2(
図4(B))を介して、第1実施例と同様に、任意のサイズの用紙をユーザ定義サイズの用紙として登録することができる。
【0059】
図6(A)のメイン画面WI1bは、さらに、詳細設定ボタンBTdと、チェックボックスCB1と、を含んでいる。詳細設定ボタンBTdが押下されると、プリンタドライバは、
図6(B)の詳細設定画面WI3bを表示部370に表示する。チェックボックスCB1は、後述する印刷プレビューを表示するためのUI画面であるプレビュー画面WI5b(
図7(B))を実際に印刷が実行される前に表示する機能(プレビュー機能とも呼ぶ)を有効にするか否かを入力するための入力要素である。
【0060】
図6(B)の詳細設定画面WI3bは、印刷に関する詳細な設定を入力するためのUI画面である。詳細設定画面WI3bは、項目リストLSと、詳細設定領域SAと、OKボタンBT5と、を含む。項目リストLSは、複数個の設定項目(例えば、
図6(B)のIT1、IT2)を含むリストである。詳細設定領域SAには、項目リストLSにおいて選択枠SFを用いて設定されている設定項目について、詳細な設定を入力するための入力要素やメッセージが表示される。
【0061】
設定項目IT1は、解像度を調整する解像度調整機能を有効にするか否かを設定するための項目である。解像度調整機能は、ビットマップデータを生成する際に、第1実施例にて説明した
図3のS20~S65を実行する機能である。
【0062】
すなわち、解像度調整機能が有効である場合には、用紙Mの搬送方向ARの長さBが基準長Aより長い場合に(
図3のS25にてYES)、ビットマップ画像の搬送方向ARの画素数が上限値を超えないように、ラスタライズのための搬送方向ARの解像度Dを含むラスタライズ条件が決定される(
図3のS45)。そして、該ラスタライズ条件に基づいてラスタライズ処理が実行されて印刷すべき画像よりも小さな画像を示すビットマップデータが生成され(
図3のS50、S55)、該ビットマップデータを拡大率Eに従って拡大することで、印刷すべき画像のサイズのビットマップ画像を示すビットマップデータが生成される(
図3のS60、S65)。
【0063】
解像度調整機能が無効である場合には、用紙Mの搬送方向ARの長さBが基準長Aより長い場合であっても、
図3のS30~S40によって、ビットマップデータが生成される。したがって、解像度調整機能が無効である場合には、ラスタライズ処理によって生成されるビットマップデータによって示されるビットマップ画像の搬送方向ARの画素数が上限値を超える場合がある。したがって、解像度調整機能が無効である場合には、アプリケーションによっては、用紙Mの搬送方向ARの長さBが基準長Aより長い場合にビットマップデータによって示される画像の一部に欠けなどの不具合が生じる可能性がある。
【0064】
図6(B)には、項目リストLSにおいて設定項目IT1が選択されている状態が図示されている。この状態において、詳細設定領域SAは、チェックボックスCB1、CB2と、メッセージMS1、MS2と、を含んでいる。チェックボックスCB2は、解像度調整機能を有効にするか否かを入力するための入力要素である。チェックボックスCB1は、メイン画面WI1bに含まれるチェックボックスCB1と同一の入力要素であり、プレビュー機能を有効にするか否かを入力するための入力要素である。メッセージMS1は、解像度調整機能を説明するメッセージである。メッセージMS2は、画像の一部に欠けなどの不具合が生じる場合に、解像度調整機能を有効にすることで、不具合を解消できることを示すメッセージである。
【0065】
詳細設定画面WI3bにおいてOKボタンBT5が押下されると、プリンタドライバは、その時点における詳細設定領域SAにおけるチェックボックスCB1、CB2の入力状態に従って、プレビュー機能と解像度調整機能とを、それぞれ、有効および無効のいずれかに設定する。プリンタドライバは、さらに、詳細設定画面WI3bを消去して、メイン画面WI1bが表示された状態に戻す。
【0066】
S105では、プリンタドライバは、UI画面WI2を介してユーザ定義サイズの用紙が新たに登録されたか否かを判断する。例えば、UI画面WI2(
図4(B))の入力欄IS1、IS2に数値が入力され、UI画面WI2のOKボタンBT3が押下された場合に、ユーザ定義サイズの用紙が登録されたと判断される。ユーザ定義サイズの用紙が登録されない場合には(S105:NO)、プリンタドライバは、S130に処理を進める。
【0067】
ユーザ定義サイズの用紙が登録された場合には(S105:YES)、S120にて、プリンタドライバは、登録されたユーザ定義サイズの用紙の搬送方向ARの長さBは、基準長Aより長いか否かを判断する。基準長Aは、第1実施例と同様に、印刷画像の搬送方向ARの長さ(単位は、例えば、画素数)の上限値に対応する用紙Mの搬送方向ARの長さである。ユーザ定義サイズの用紙の搬送方向ARの長さBが基準長A以下である場合には(S120:NO)、プリンタドライバは、S130に処理を進める。
【0068】
ユーザ定義サイズの用紙の搬送方向ARの長さBが基準長Aより長い場合には(S120:YES)、S125にて、プリンタドライバは、プレビュー推奨画面WI4b(
図7(A))を表示部370に表示する。
図7(A)のプレビュー推奨画面WI4bは、プレビュー機能を有効にすることをユーザに対して推奨するためのUI画面である。プレビュー推奨画面WI4bは、例えば、メッセージMS3~MS5と、YESボタンBT6と、NOボタンBT7と、を含む。メッセージMS3は、用紙Mの搬送方向ARの長さBが基準長Aより長い場合に、印刷される画像に不具合が発生し得ることを警告するメッセージである。メッセージMS4は、プレビュー機能を有効にして、印刷される画像を事前に確認することを推奨するメッセージである。メッセージMS5は、プレビュー機能を有効にするか否かを確認するメッセージである。
【0069】
プレビュー推奨画面WI4bにおいてYESボタンBT6が押下された場合には、プリンタドライバは、プレビュー機能を有効に設定する。プレビュー推奨画面WI4bにおいてNOボタンBT7が押下された場合には、プリンタドライバは、プレビュー機能を無効に設定する。
【0070】
S130では、プリンタドライバは、印刷指示が入力されたか否かを判断する。例えば、メイン画面WI1bにおいて、印刷ボタンBT1が押下された場合に、印刷指示が入力されたと判断される。印刷指示が入力されない場合には(S130:NO)、プリンタドライバは、S100に戻って、メイン画面WI1bなどのUI画面の表示を維持する。印刷指示が入力された場合には(S130:YES)、プリンタドライバは、S135に処理を進める。
【0071】
S135では、プリンタドライバは、
図3のS15と同様に、メイン画面WI1bなどのUI画面を介して、印刷に関連する条件を示す印刷条件情報を取得する。
【0072】
S140では、プリンタドライバは、上述した解像度調整機能が有効であるか否かを判断する。解像度調整機能が有効である場合には(S140:YES)、S147にて、プリンタドライバは、
図3のS20~S65を実行して、アプリケーションによって生成されるベクトルデータに基づくビットマップデータを取得する。すなわち、この場合には、上述のように、用紙Mの搬送方向ARの長さBが基準長Aより長い場合に(
図3のS25にてYES)、
図3のS45~S65の処理にて、ビットマップデータが生成され、用紙Mの搬送方向ARの長さBが基準長A以下である場合に(
図3のS25にてNO)、
図3のS30~S40の処理にて、ビットマップデータが生成される。ビットマップデータが生成されると、プリンタドライバは、S180に処理を進める。
【0073】
解像度調整機能が無効である場合には(S140:NO)、S145にて、プリンタドライバは、
図3のS30~S40を実行して、アプリケーションによって生成されるベクトルデータに基づくビットマップデータを取得する。すなわち、この場合には、上述のように、用紙Mの搬送方向ARの長さBが基準長Aより長くても基準長A以下であっても、
図3のS30~S40によって、ビットマップデータが生成される。
【0074】
S150では、プリンタドライバは、プレビュー機能は有効であるか否かを判断する。プレビュー機能が無効である場合には(S150:NO)、プリンタドライバは、S180に処理を進める。プレビュー機能が有効である場合には(S150:YES)、S155にて、プリンタドライバは、
図7(B)のプレビュー画面WI5bを表示部370に表示する。なお、この時点では、
図7(B)の警告画面WI6bは、表示されない。
図7(B)のプレビュー画面WI5bは、プレビュー画像としてのビットマップ画像RIと、印刷ボタンBT8と、キャンセルボタンBT9と、を含んでいる。ビットマップ画像RIは、S145にて取得されたビットマップデータによって示される画像である。
図7(B)のビットマップ画像RIは、正常領域NSと、白色領域WSと、を含んでいる。正常領域NSは、
図7(B)においてハッチングされた部分であり、文字、写真、描画(グラフィック)などのオブジェクトを含む部分である。白色領域WSは、
図7(B)においてハッチングされていない部分であり、白色の単色領域(ホワイトスペースとも呼ぶ)である。白色領域WSは、ラスタライズ処理の不具合によって画像の欠けが発生した場合に現れる領域であり、不具合がない場合には、現れない領域である。
【0075】
S160では、プリンタドライバは、ビットマップデータを解析する。例えば、プリンタドライバは、ビットマップ画像RIのうち、印刷時の搬送方向ARの一端(
図7(B)の下端)から、他端に向かって、白色ラスタラインWLを探索する。白色ラスタラインWLは、印刷時の搬送方向ARと直交する方向(
図7(B)の左右方向)の一端から他端まで延びるラスタラインであり、白色画素のみで構成されるラスタラインである。
図7(B)のビットマップ画像RIには、下端に位置する1本の白色ラスタラインWLのみが図示されている。白色領域WSは、搬送方向ARに並ぶ複数本の白色ラスタラインWLによって構成される領域である。
【0076】
S165では、プリンタドライバは、S160での解析結果に基づいて、ビットマップ画像RIが白色領域WSを含むか否かを判断する。プリンタドライバは、所定数以上の白色ラスタラインWLが、ビットマップ画像RIの下端において検出される場合に、ビットマップ画像RIは白色領域WSを含むと判断する。プリンタドライバは、所定数以上の白色ラスタラインWLが、ビットマップ画像RIの下端において検出されない場合に、ビットマップ画像RIは白色領域WSを含まないと判断する。
【0077】
ビットマップ画像RIが白色領域WSを含む場合には(S165:YES)、S170にて、プリンタドライバは、
図7(B)の警告画面WI6bを表示部370に表示する。ビットマップ画像RIが白色領域WSを含まない場合には(S165:NO)、S170はスキップされる。すなわち、この場合には、警告画面WI6bは表示されない。
図7(B)の警告画面WI6bは、例えば、プレビュー画面WI5bとともに、表示される。
図7(B)の警告画面WI6bは、メッセージMS6、MS7と、OKボタンBT10と、を含んでいる。
【0078】
メッセージMS6は、ビットマップ画像RIの下端において白色領域WSが検出された旨を示すメッセージである。メッセージMS7は、プレビュー画面WI5bにてビットマップ画像RIを確認すること、および、ビットマップ画像RIに不具合がある場合には、解像度調整機能を有効にして、再度、印刷をやり直すこと、をユーザに促すメッセージである。警告画面WI6bにおいてOKボタンBT10が押下されると、プリンタドライバは、警告画面WI6bを表示部370から消去する。
【0079】
S175では、プリンタドライバは、印刷続行指示が入力されたか印刷中断指示が入力されたかを判断する。プレビュー画面WI5bにおいて印刷ボタンBT8が押下された場合には、印刷続行指示が入力されたと判断される。プレビュー画面WI5bにおいてキャンセルボタンBT9が押下された場合には、印刷中断指示が入力されたと判断される。
【0080】
印刷続行指示が入力された場合には(S175:YES)、S180にて、プリンタドライバは、S145またはS147にて生成されたビットマップデータを用いて、印刷画像を示す印刷データを生成する。印刷データの生成処理は、例えば、
図3のS70と同様に、色変換処理とハーフトーン処理とを含む。
【0081】
S185では、プリンタドライバは、
図3のS75と同様に、印刷データを用いてプリンタ200に印刷を実行させる。具体的には、プリンタドライバは、複数回の部分印刷をプリンタ200に実行させるための部分印刷データに制御データを付加して、プリンタ200に送信し、印刷処理を終了する。
【0082】
印刷中断指示が入力された場合には(S175:NO)、プリンタドライバは、S180、S185を実行することなく、印刷処理を終了する。
【0083】
印刷処理が終了されると、例えば、端末装置300は、アプリケーションが起動され、プリンタドライバが起動されていない状態に戻る。印刷が実行されることなく印刷処理が終了された場合には、ユーザは、例えば、アプリケーションに対して印刷指示を入力することで、プリンタドライバを再度、起動させることができる。そして、ユーザは、例えば、解像度調整機能を有効にして、プリンタドライバに、再度、印刷を実行させることができる。
【0084】
以上説明した第2実施例によれば、プリンタドライバは、解像度調整機能が有効であるか否かに応じて、生成条件が異なる2種類のビットマップデータを取得できる。例えば、用紙Mの搬送方向ARの長さBが基準長Aより長い場合において、解像度調整機能が有効である場合には、
図3のS45~S55によってビットマップデータが取得され(
図5のS147)、解像度調整機能が無効である場合には、
図3のS30~S40によってビットマップデータが取得される(
図5のS145)。解像度調整機能が無効である場合に取得されるビットマップデータは、解像度調整機能が有効である場合に取得されるビットマップデータよりも解像度が高く(換言すれば画素数が多い)、拡大処理(
図3のS60、S65)は不要である。このために、解像度調整機能が有効である場合と無効である場合とでは、印刷される画像の見栄えが異なる場合がある。また、解像度調整機能が無効である場合でもアプリケーションやラスタライザによっては、画像の欠けなどの不具合が発生しない場合もある。このために、解像度調整機能を有効とするか無効とするかは、ユーザの意思に委ねられることが好ましいと考えられる。本実施例によれば、プリンタドライバは、詳細設定画面WI3bを表示して、ユーザから解像度調整機能を有効とするか無効とするかの指示を取得する(
図5のS100、
図6(B))。そして、取得される指示に応じて、生成条件が異なる2種類のビットマップデータのいずれか一方を取得して、印刷データを生成する(
図5のS140、S145、S147)。アプリケーションによって生成されるベクトルデータに基づく印刷データをユーザの指示に応じて適切に生成することができる。
【0085】
さらに、本実施例によれば、プリンタドライバは、
図4(B)のUI画面WI2を介して指定される用紙Mの搬送方向ARの長さBが基準長Aより長い場合に(
図5のS120にてYES)、
図7(A)のプレビュー推奨画面WI4bを表示してプレビュー機能を有効にするか無効にするかの指示、換言すれば、
図7(B)のプレビュー画面WI5bを印刷前に表示するか否かの指示を取得する(
図5のS125)。用紙Mの搬送方向ARの長さBが基準長Aより長い場合には、上述のように、ビットマップ画像の一部が欠けるなどの不具合が発生する場合がある。このような場合に、プレビュー機能を有効にするか無効にするかの指示を取得するので、画像の一部が欠けるなどの不具合が発生する可能性がある場合に、ユーザによる事前の確認を促進することができる。したがって、画像の一部が欠けるなどの不具合が発生した画像が実際に印刷されることを適切に抑制することができる。
【0086】
さらに、本実施例では、解像度調整機能が無効である場合には(
図5のS140にてNO)、ラスタライザによって生成されるビットマップ画像の特定方向ARの画素数が特定数より多くなり得る。このような場合に、プリンタドライバは、ビットマップデータを解析することによって、ビットマップ画像RIの特定方向ARの端部に特定方向ARの長さが所定長以上の白色領域WSがあるか否かを判定する(
図5のS160、S165)。プリンタドライバは、所定長以上の白色領域WSがある場合に(
図5のS165にてYES)、ユーザへの警告のためのメッセージMS6を含む警告画面WI6bを表示する(
図5のS170)。所定長以上の白色領域WSがある場合には、画像の一部が欠けるなどの不具合が発生している可能性が高い。本実施例によれば、画像の一部が欠けるなどの不具合が発生している可能性が高い場合に、警告のためのメッセージMS6を適切に表示することができる。
【0087】
さらに、
図7(B)に示すように、警告画面WI6bは、プレビュー画面WI5bとともに表示される。この結果、ユーザは、警告のためのメッセージMS6を見た後に、プレビュー画面WI5bにおいてビットマップ画像RIを確認することができる。ビットマップ画像RIに画像の一部が欠けるなどの不具合が発生していることをユーザが確認すれば、ユーザは印刷を中断するなどの対応を取ることができる。したがって、不具合が発生している画像が誤って印刷されることを適切に抑制することができる。
【0088】
さらに、本実施例の詳細設定画面WI3bは、解像度調整機能を有効にするか否かを入力するためのチェックボックスCB2とともに、プレビュー機能を有効にするか否かを入力するためのチェックボックスCB1を含んでいる。解像度調整機能を無効にする場合には、画像の一部が欠けるなどの不具合が発生する可能性があるために、上述のようにプレビュー機能を有効にすることが好ましい。本実施例によれば、ユーザは、1つの詳細設定画面WI3bを介して、解像度調整機能を無効に設定する指示とともに、プレビュー機能を有効にする指示を入力することができるので、ユーザの利便性を向上することができる。
【0089】
以上の説明から解るように、本実施例の
図5のS147に含まれる
図3のS55にて生成されるビットマップデータは、第1のビットマップデータの例であり、
図5のS147に含まれる
図3のS65にて生成される拡大済みのビットマップデータは、第2のビットマップデータの例である。また、
図5のS145に含まれる
図3のS40にて生成されるビットマップデータは、第3のビットマップデータの例である。また、本実施例の詳細設定画面WI3bは、第1の画面の例であり、UI画面WI2は第2の画面の例であり、プレビュー画面WI5bは、第3の画面の例である。本実施例のプレビュー推奨画面WI4bは、第4の画面の例である。
【0090】
C.第3実施例
図8は、第3実施例のプレビュー推奨画面WI4cの一例を示す図である。第3実施例では、
図5のS125にて、
図7(A)のプレビュー推奨画面WI4bに代えて、
図8のプレビュー推奨画面WI4cが表示される点が、第2実施例と異なる。第3実施例の他の構成は、第2実施例と同一である。
【0091】
図8のプレビュー推奨画面WI4cは、メッセージMS3、MS4、MS8と、チェックボックスCB1、CB2と、OKボタンBT11と、を含んでいる。
図8のメッセージMS3、MS4は、
図7(A)のプレビュー推奨画面WI4bに含まれる同符号のメッセージMS3、MS4と同一である。メッセージMS8は、印刷される画像の一部に欠けなどの不具合が生じる場合に、解像度調整機能を有効にすることで、不具合を解消できることを示すメッセージである。
【0092】
チェックボックスCB1は、プレビュー機能を有効にするか否かを入力するための入力要素である。チェックボックスCB2は、解像度調整機能を有効にするか否かを入力するための入力要素である。プレビュー推奨画面WI4cにおいてOKボタンBT11が押下されると、その時点におけるチェックボックスCB1、CB2の入力状態に従って、プレビュー機能と解像度調整機能とが、それぞれ、有効および無効のいずれかに設定される。
【0093】
第3実施例によれば、プレビュー推奨画面WI4cを介して、プレビュー機能を有効にするか否かの指示をユーザに入力させることができるとともに、解像度調整機能を有効にするか否かの指示をユーザに入力させることができる。この結果、ユーザの利便性をさらに向上することができる。
【0094】
すなわち、本実施例によれば、プリンタドライバは、UI画面WI2(
図4(B))を介して指定される用紙Mの搬送方向ARの長さが基準長Aより長い場合に(
図5のS120にてYES)、プレビュー推奨画面WI4cを介して解像度調整機能を有効にするか否かの指示を取得することができる(
図5のS125)。上述のように、用紙Mの搬送方向ARの長さが基準長Aより長い場合には、解像度調整機能が無効であると、ビットマップ画像の一部が欠けるなどの不具合が発生する場合がある。このような場合に、解像度調整機能を有効にするか否かの指示を入力可能なプレビュー推奨画面WI4cが表示されるので、ユーザは、画像の一部が欠けるなどの不具合が発生し得るタイミングで、適切に当該不具合を解消できる解像度調整機能を有効にする指示を入力することができる。したがって、プリンタドライバは、適切なタイミングでユーザから当該指示を取得でき、画像の一部が欠けるなどの不具合が発生することを適切に抑制することができる。
【0095】
D.変形例
(1)上記各実施例では、
図3のS20では、用紙Mの搬送方向ARの長さが特定される。これに代えて、S20では、印刷画像の搬送方向ARの長さが特定されても良い。この場合には、例えば、用紙Mの搬送方向ARの長さから余白の長さを減じた値が、印刷画像の搬送方向ARの長さとして特定される。印刷画像の搬送方向ARの長さの単位は、mmであっても良いし、画素数であっても良い。この場合には、S25、S45、S60にて用いられる基準長Aは、印刷画像の搬送方向ARの長さの上限値である。
【0096】
用紙Mの搬送方向ARの長さに代えて、印刷画像の搬送方向ARの長さが用いられる場合であっても、印刷画像の搬送方向ARの長さをBとし、印刷画像の搬送方向ARの長さの上限値を基準長Aとし、印刷画像の搬送方向ARの印刷解像度をCとすれば、ラスタライズのための解像度Dと拡大率Eとは、D=[(A/B)×C]、E=(B/A)の式を用いて算出される。
【0097】
(2)上記各実施例では、
図3のS55にて生成されるビットマップ画像の搬送方向ARの画素数が、ちょうど上限値と一致するように、S45にてラスタライズ条件が決定されている。これに代えて、S55にて生成されるビットマップ画像の搬送方向ARの画素数が、ちょうど上限値よりも少なくなるように、S45のラスタライズ条件が決定されても良い。
【0098】
(3)上記各実施例では、印刷条件情報に基づいて、印刷画像の搬送方向ARの長さが基準長Aより長い場合に、ラスタライズのための解像度Dと、拡大率Eと、が、D=[(A/B)×C]、E=(B/A)の式を用いて決定される。これに代えて、例えば、印刷画像の搬送方向ARの長さに関わらずに、常に、印刷画像の搬送方向ARの長さの半分のサイズのビットマップデータが作成されるように、ラスタライズのための解像度Dが決定され、常に、拡大率Eは2倍であっても良い。すなわち、D=C/2、E=2であっても良い。
【0099】
(4)ラスタライズ条件は、上記各実施例では、ラスタライズのための解像度Dを含んでいる。これに限らず、ラスライズ条件は、ラスタライズプログラムRPの仕様に応じて適宜に変更されても良い。例えば、ラスタライズ条件は、ビットマップデータの縦方向および横方向の画素数を指定するだけでも良い。
【0100】
(5)上記各実施例では、
図3のS50にて、OSに中間画像データを生成させ、S55にて、ラスタライザに中間画像データに基づくビットマップデータを生成させている。これに代えて、プリンタドライバは、自身でベクトルデータを解釈してラスタライズ処理を実行してビットマップデータを生成しても良い。そして、S65にて、自身が生成したビットマップデータを拡大しても良い。
【0101】
(6)上記実施例では、
図3のS65にて、プリンタドライバは、ラスタライザによって生成されたビットマップデータに対して、自身で拡大処理を実行して、拡大済みのビットマップデータを生成している。これに代えて、プリンタドライバは、自身とは異なる別のプログラム(例えば、画像処理アプリケーション)に拡大処理を実行させることによって、拡大済みのビットマップデータを取得しても良い。
【0102】
(7)印刷媒体として、用紙Mに代えて、他の媒体、例えば、OHP用のフィルム、CD-ROM、DVD-ROMが採用されても良い。
【0103】
(8)上記各実施例のプリンタ200は、インクジェット方式の印刷機構100を備えている。これに代えて、プリンタ200は、トナーを用いて画像を形成する電子写真式の印刷機構100を備えても良い。
【0104】
(9)上記各実施例では、
図3の印刷処理を実行する装置は、端末装置300のCPU310である。これに代えて、
図3の印刷処理を実行する装置は、プリンタ200のCPU210であっても良い。あるいは、
図3の印刷処理を実行する装置は、例えば、プリンタや端末装置から画像データを取得して該画像データを用いて印刷ジョブを生成するサーバであっても良い。このようなサーバは、ネットワークを介して互いに通信可能な複数個の計算機であっても良い。
【0105】
(10)上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。例えば、
図3の印刷処理のうち、ビットマップデータの拡大処理(
図3のS65)や、印刷データの生成(
図3のS70)のうち、ハーフトーン処理や色変換処理は、例えば、CPU310の指示に従って動作する専用のハードウェア回路(例えば、ASIC)によって実現されてもよい。
【0106】
(11)上記第2実施例のS120では、ユーザ定義サイズの用紙の搬送方向ARの長さが基準長Aより長いか否かが判断される。これに代えて、S120では、プリンタドライバは、印刷画像の搬送方向ARの長さが、所定の基準長より長いか否かが判断されても良い。この場合には、例えば、UI画面WI2を介して登録されたユーザ定義サイズの用紙の搬送方向ARの長さから余白の長さを減じた値が、印刷画像の搬送方向ARの長さとして特定されても良い。あるいは、UI画面WI2を介して登録されるユーザ定義サイズは、用紙の長さに代えて、印刷画像の長さであっても良い。この場合には、印刷画像の搬送方向ARの長さとして、UI画面WI2を介して登録された印刷画像の搬送方向ARの長さが用いられる。
【0107】
(12)上記第2実施例の各種のUI画面の態様は、一例であり、適宜に変更され得る。例えば、解像度調整機能を有効にするか無効にするかのチェックボックスCB2に代えて、例えば、第1のラスタライズモードと、第1のラスタライズモードよりもラスタライズ時の解像度が低い第2のラスタライズモードと、を選択する形式のラジオボタンが採用されても良い。この場合には、例えば、第1のラスタライズモードが選択される場合に、上記実施例にて解像度調整機能が無効であるときの処理が実行され、第2のラスタライズモードが選択される場合に、上記実施例にて解像度調整機能が有効であるときの処理が実行される。
【0108】
例えば、解像度調整機能を有効にするか無効にするかのチェックボックスCB2は、詳細設定画面WI3bに代えて、メイン画面WI1bに含まれても良い。
【0109】
例えば、警告画面WI6bに含まれるメッセージMS6は、プレビュー画面WI5bの内部に表示されても良い。
【0110】
例えば、警告画面WI6bは、プレビュー画面WI5bが表示されない場合、すなわち、プレビュー機能が無効である場合においても表示されても良い。
【0111】
上記第2実施例では、プレビュー推奨画面WI4b、WI4bは、搬送方向ARの長さが基準長Aより長いユーザ定義サイズの用紙が、UI画面WI2を介して登録されたタイミングで表示されている。これに代えて、搬送方向ARの長さが基準長Aより長いユーザ定義サイズの用紙が登録され、かつ、プルダウンメニューPM1にてユーザ定義サイズの用紙が選択された状態で、印刷ボタンBT1が押下されたタイミングで、プレビュー推奨画面WI4b、WI4bが表示されても良い。
【0112】
上記第2実施例にて表示されるUI画面の一部は、適宜に省略されても良い。例えば、プレビュー推奨画面WI4b、WI4bの表示と、警告画面WI6bの表示と、の一方あるいは両方は、省略されても良い。
【0113】
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
【符号の説明】
【0114】
100…印刷機構,110…印刷ヘッド,111…ノズル形成面,120…ヘッド駆動部,130…主走査部,133…キャリッジ,134…摺動軸,140…搬送部,141…下流ローラ対,142…上流ローラ対,145…用紙台,200…プリンタ,210…CPU,220…不揮発性記憶装置,230…揮発性記憶装置,231…バッファ領域,260…操作部,270…表示部,280…通信部,AR…搬送方向,AP,DP,OP,RP,CP…コンピュータプログラム,M…用紙,NC,NK,NY,NM…ノズル列,NZ…ノズル,WI1,WI2,WI1b,WI3b~WI6,WI4c…UI画面