IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ブラザー工業株式会社の特許一覧

特許7589448サポートプログラム、情報処理装置、および印刷方法
<>
  • 特許-サポートプログラム、情報処理装置、および印刷方法 図1
  • 特許-サポートプログラム、情報処理装置、および印刷方法 図2
  • 特許-サポートプログラム、情報処理装置、および印刷方法 図3
  • 特許-サポートプログラム、情報処理装置、および印刷方法 図4
  • 特許-サポートプログラム、情報処理装置、および印刷方法 図5
  • 特許-サポートプログラム、情報処理装置、および印刷方法 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-18
(45)【発行日】2024-11-26
(54)【発明の名称】サポートプログラム、情報処理装置、および印刷方法
(51)【国際特許分類】
   G06F 3/12 20060101AFI20241119BHJP
   B41J 29/38 20060101ALI20241119BHJP
【FI】
G06F3/12 337
G06F3/12 328
G06F3/12 315
G06F3/12 356
B41J29/38 206
【請求項の数】 5
(21)【出願番号】P 2020086100
(22)【出願日】2020-05-15
(65)【公開番号】P2021179912
(43)【公開日】2021-11-18
【審査請求日】2023-04-11
(73)【特許権者】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110000291
【氏名又は名称】弁理士法人コスモス国際特許商標事務所
(72)【発明者】
【氏名】細溝 仁人
(72)【発明者】
【氏名】村田 希如
【審査官】征矢 崇
(56)【参考文献】
【文献】特開2019-175330(JP,A)
【文献】特開2000-163225(JP,A)
【文献】特開2016-012189(JP,A)
【文献】特開2006-127478(JP,A)
【文献】特開2006-215752(JP,A)
【文献】特開2018-190285(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F3/12
B41J29/00-29/70
(57)【特許請求の範囲】
【請求項1】
情報処理装置のコンピュータによって実行可能であり、前記情報処理装置と接続するプリンタに対応するサポートプログラムであって、
前記コンピュータに、
前記情報処理装置のオペレーティングシステムにあらかじめ組み込まれ、プリンタメーカから提供されるプリンタドライバを用いない印刷プログラムを介して前記プリンタによる印刷を行わせる印刷指示があった場合に、前記印刷指示に対応する印刷データが生成される前に、第1条件を満たすか否かを判断する第1判断処理を実行させ、前記第1条件は、プレビュー処理を実行させるための設定が有効であることを示す条件であり、前記プレビュー処理は、前記情報処理装置の表示デバイスに、印刷対象の画像を表示させ、印刷を行うか否かの選択を受け付ける処理であり、
さらに前記コンピュータに、
前記第1条件を満たさない場合、前記印刷指示に対応する前記印刷データが生成される前に、前記情報処理装置の通信インタフェースを介して、印刷を開始する前の先行動作を実行させる先行動作コマンドを前記プリンタに出力するコマンド出力処理を実行させ、前記プリンタは、前記先行動作コマンドに対応する前記先行動作を行う機能を有し、
前記第1条件を満たす場合、前記印刷指示に対応する前記印刷データが生成された後、前記プレビュー処理を実行させ、前記プレビュー処理にて印刷を行う前記選択を受け付けた場合にさらに、前記コマンド出力処理を実行させ、
さらに前記コンピュータに、
前記コマンド出力処理の実行後に、前記印刷指示に対応する前記印刷データに基づく印刷画像データが前記プリンタに送信されるように制御させる、
ことを特徴とするサポートプログラム。
【請求項2】
請求項1に記載するサポートプログラムにおいて、
前記コンピュータに、
前記印刷指示があった場合に、第2条件を満たすか否かを判断する第2判断処理を実行させ、前記第2条件は、前記印刷画像データを受信した前記プリンタにおいて、所定の条件が満たされた後に印刷が開始されることを示す条件であり、
さらに前記コンピュータに、
前記第2条件を満たす場合、前記印刷画像データが前記プリンタに送信される場合であっても、前記コマンド出力処理を実行させず、
前記第2条件を満たさない場合、前記印刷画像データの前記プリンタへの送信が開始される前に、前記コマンド出力処理を実行させる、
ことを特徴とするサポートプログラム。
【請求項3】
請求項2に記載するサポートプログラムにおいて、
前記コンピュータに、
前記印刷画像データに関連付けられるパスワードの設定を受け付ける受付処理を実行させ、前記パスワードが設定されている場合、前記プリンタに送信される前記印刷画像データには、前記パスワードが関連付けられ、前記プリンタは、受信した前記印刷画像データに前記パスワードが関連付けられている場合に、前記プリンタに前記パスワードが入力されたことを前記所定の条件として前記印刷画像データを用いた印刷を行う機能を有し、
さらに前記コンピュータに、
前記パスワードが設定されている場合に、前記第2判断処理において前記第2条件を満たすと判断させる、
ことを特徴とするサポートプログラム。
【請求項4】
通信インタフェースと、
コンピュータと、
を備える情報処理装置であって、
前記情報処理装置と接続するプリンタに対応するサポートプログラムが組み込まれ、前記プリンタは、印刷を開始する前の先行動作を行う機能を有し、
前記情報処理装置のオペレーティングシステムは、あらかじめ組み込まれたプログラムであって、プリンタメーカから提供されるプリンタドライバを用いない印刷プログラムを有しており、
前記コンピュータは、
前記印刷プログラムを介して前記プリンタによる印刷を行わせる印刷指示があった場合に、前記印刷指示に対応する印刷データが生成される前に、前記サポートプログラムによって、第1条件を満たすか否かを判断する第1判断処理を実行し、前記第1条件は、プレビュー処理を実行させるための設定が有効であることを示す条件であり、前記プレビュー処理は、前記情報処理装置の表示デバイスに、印刷対象の画像を表示させ、印刷を行うか否かの選択を受け付ける処理であり、
さらに前記コンピュータは、
前記第1条件を満たさない場合、前記印刷指示に対応する前記印刷データが生成される前に、前記サポートプログラムによって、前記情報処理装置の通信インタフェースを介して、前記先行動作を実行させる先行動作コマンドを前記プリンタに出力するコマンド出力処理を実行し、
前記第1条件を満たす場合、前記印刷指示に対応する前記印刷データが生成された後、前記サポートプログラムによって、前記プレビュー処理を実行し、前記プレビュー処理にて印刷を行う前記選択を受け付けた場合にさらに、前記サポートプログラムによって、前記コマンド出力処理を実行し、
さらに前記コンピュータは、
前記コマンド出力処理の実行後に、前記印刷指示に対応する前記印刷データに基づく印刷画像データが前記プリンタに送信されるように制御する、
ことを特徴とする情報処理装置。
【請求項5】
情報処理装置にプリンタが接続され、
前記情報処理装置には、前記プリンタに対応するサポートプログラムが組み込まれ、前記プリンタは、印刷を開始する前の先行動作を行う機能を有し、
前記情報処理装置のオペレーティングシステムは、あらかじめ組み込まれたプログラムであって、プリンタメーカから提供されるプリンタドライバを用いない印刷プログラムを有しており、
前記情報処理装置から前記プリンタに印刷を実行させる印刷方法において、
前記印刷プログラムを介して前記プリンタによる印刷を行わせる印刷指示があった場合に、前記印刷指示に対応する印刷データが生成される前に、前記サポートプログラムによって、第1条件を満たすか否かを判断し、前記第1条件は、プレビューを実行させるための設定が有効であることを示す条件であり、前記プレビューでは、前記サポートプログラムによって、前記情報処理装置の表示デバイスに、印刷対象の画像を表示させ、印刷を行うか否かの選択を受け付け、
さらに、
前記第1条件を満たさない場合、前記印刷指示に対応する前記印刷データが生成される前に、前記サポートプログラムによって、前記情報処理装置の通信インタフェースを介して、前記先行動作を実行させる先行動作コマンドを前記プリンタに出力し、
前記第1条件を満たす場合、前記印刷指示に対応する前記印刷データが生成された後、前記プレビューを行い、前記プレビューにて印刷を行う前記選択を受け付けた場合にさらに、前記サポートプログラムによって、前記情報処理装置の前記通信インタフェースを介して、前記先行動作コマンドを前記プリンタに出力し、
さらに、
前記先行動作コマンドの出力後に、前記印刷指示に対応する前記印刷データに基づく印刷画像データが前記プリンタに送信されるように、前記情報処理装置を制御する、
ことを特徴とする印刷方法。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書に開示される技術分野は、プリンタの制御をサポートするサポートプログラム、情報処理装置、および印刷方法に関する。
【背景技術】
【0002】
パーソナルコンピュータ(PC)等の情報処理装置からプリンタを制御する技術として、情報処理装置にプリンタドライバをインストールし、プリンタドライバによって印刷データを生成し、その印刷データをプリンタに送信する構成が広く知られている(例えば、特許文献1)。プリンタドライバは、プリンタメーカから提供され、そのプリンタが有する各種の機能に対応しており、そのプリンタを十分に利用することができる。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2017-134718号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
近年、前述したプリンタドライバを利用せず、オペレーティングシステム(OS)に標準に組み込まれている印刷プログラムによってプリンタを制御する技術が実用化されている。この技術では、OSがプリンタを検知するとOS標準の印刷プログラムとの関連付けを行い、以後、そのプリンタに対する印刷指示を受け付けた場合に、プリンタドライバを用いずに、OS標準の印刷プログラムによる印刷が可能になる。
【0005】
しかしながら、OS標準の印刷プログラムによる印刷では、プリンタが有する機能を全て利用できるとは限らない。例えば、プリンタ独自に有する機能についてはサポートされておらず、プリンタが本来有する能力を十分に発揮できていない場合がある。
【0006】
本明細書は、OS標準の印刷プログラムが組み込まれた情報処理装置において、その印刷プログラムによる印刷であっても、プリンタ独自に有する能力を発揮させる技術を開示する。
【課題を解決するための手段】
【0007】
上述した課題の解決を目的としてなされたサポートプログラムは、情報処理装置のコンピュータによって実行可能であり、前記情報処理装置と接続するプリンタに対応するサポートプログラムであって、前記コンピュータに、前記情報処理装置のオペレーティングシステムにあらかじめ組み込まれた印刷プログラムを介して前記プリンタによる印刷を行わせる印刷指示があった場合に、前記印刷プログラムによって前記オペレーティングシステムが生成した印刷データに基づく印刷実行データの前記プリンタへの送信が開始される前に、前記情報処理装置の通信インタフェースを介して、印刷を開始する前の先行動作を実行させる先行動作コマンドを前記プリンタに出力するコマンド出力処理を実行させ、前記プリンタは、前記先行動作コマンドに対応する前記先行動作を行う機能を有している、ことを特徴としている。
【0008】
本明細書に開示されるサポートプログラムは、オペレーティングシステムに組み込まれた印刷プログラムを介してプリンタによる印刷を行わせる印刷指示があった場合に、印刷実行データの送信が開始される前に、その印刷指示の対象となったプリンタに対して、先行動作を実行させる先行動作コマンドを出力する。これにより、情報処理装置が印刷プログラムを介する印刷指示を受け付けた場合でも、プリンタがその印刷指示に基づく印刷を開始する前に、プリンタ独自の先行動作を実行することができ、プリンタ独自に有する能力を発揮させることができる。
【0009】
上記装置の機能を実現するための制御方法、コンピュータプログラム、および当該コンピュータプログラムを格納するコンピュータにて読取可能な記憶媒体も、新規で有用である。
【発明の効果】
【0010】
本明細書に開示される技術によれば、OS標準の印刷プログラムが組み込まれた情報処理装置において、その印刷プログラムによる印刷であっても、プリンタ独自に有する能力を発揮させる技術が実現される。
【図面の簡単な説明】
【0011】
図1】印刷システムの電気的構成を示すブロック図である。
図2】各プログラムによる処理の順序を示す説明図である。
図3】第1の形態における各プログラムの動作の例を示すシーケンス図である。
図4】第1の形態における印刷処理の手順を示すフローチャートである。
図5】第1の形態における後処理の手順を示すフローチャートである。
図6】第2の形態における各プログラムの動作の例を示すシーケンス図である。
【発明を実施するための形態】
【0012】
以下、実施の形態のプログラムを利用する印刷システムについて、添付図面を参照しつつ詳細に説明する。本形態は、パーソナルコンピュータ(以下、「PC」とする)とプリンタとを含む印刷システムを具体化した実施の形態を開示するものである。
【0013】
本形態のプログラムが実行される印刷システムの構成の例を、図1に示す。図1に示すシステムには、PC1と、プリンタ2と、が含まれる。PC1は、情報処理装置の一例である。プリンタ2は、印刷機能を有する装置であり、ローカル通信またはネットワーク通信を介して、PC1と通信可能である。
【0014】
PC1は、例えば、図1に示すように、コントローラ10と、ユーザインタフェース(以下、「UI」とする)20と、通信インタフェース(以下、「通信IF」とする)30と、を備えている。UI20及び通信IF30は、コントローラ10に電気的に接続されている。
【0015】
UI20は、各種の表示を行い、ユーザの指示入力を受け付けるハードウェアを含む。UI20は、表示機能と入力受付機能との両方の機能を有するタッチパネルであっても良いし、表示機能を有するディスプレイと入力受付機能を有するキーボードやマウス等との組合せであっても良い。
【0016】
通信IF30は、プリンタ2との通信を行うためのハードウェアや、インターネットへのアクセスを行うためのハードウェアを含む。通信IF30は、通信方式の異なる複数のインタフェースを含んでいても良い。通信方式としては、例えば、ネットワーク通信、USB通信がある。また、Wi-Fi(登録商標)やBluetooth(登録商標)等の無線通信を行うハードウェアを含んでいても良い。
【0017】
コントローラ10は、CPU11と、メモリ12と、を含む。CPU11は、コンピュータの一例である。メモリ12は、ROMと、RAMと、不揮発性メモリと、を含み、各種のアプリケーションプログラム(以下、「アプリ」とする)などのプログラムや各種のデータなどを記憶する。なお、本明細書では、メモリの詳細を区別しない。CPU11は、メモリ12から読み出したプログラムに従って、また、ユーザの指示に基づいて、各種の処理を実行する。なお、図1中のコントローラ10は、PC1の制御に利用されるハードウェアやソフトウェアを纏めた総称であって、実際にPC1に存在する単一のハードウェアを表すとは限らない。
【0018】
メモリ12の一例は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、non-transitoryな媒体である。non-transitoryな媒体には、上記の例の他に、CD-ROM、DVD-ROM等の記録媒体も含まれる。また、non-transitoryな媒体は、tangibleな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、non-transitoryなコンピュータが読み取り可能なストレージ媒体には含まれない。
【0019】
メモリ12には、例えば、図1に示すように、汎用印刷プログラム41を含むオペレーティングシステム(以下、「OS」とする)21と、補助プログラム42と、編集アプリ43と、が記憶されている。補助プログラム42は、サポートプログラムの一例である。補助プログラム42は、例えば、マイクロソフト社が仕様公開した、ハードウェアサポートアプリ(略称、HSA)である。OS21は、例えば、マイクロソフトウィンドウズ(登録商標)、macOS(登録商標)、Linux(登録商標)である。なお、メモリ12には、図示したもの以外にも、接続されているデバイスの情報を含む各種のデータや、ブラウザ等の各種のプログラムが記憶されている。
【0020】
なお、以下の処理およびフローチャートの各処理ステップは、基本的に、補助プログラム42などのプログラムに記述された命令に従ったCPU11の処理を示す。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「取得」、「受付」、「制御」等の処理は、CPU11の処理を表している。CPU11による処理は、OS21のAPIを用いたハードウェア制御も含む。本明細書では、OS21の詳細な記載を省略して各プログラムの動作を説明する。すなわち、以下の説明において、「プログラムBがハードウェアCを制御する」という趣旨の記載は、「プログラムBがOS21のAPIを用いてハードウェアCを制御する」ことを指してもよい。また、プログラムに記述された命令に従ったCPU11の処理を、省略した文言で記載することがある。例えば、「CPU11が行う」のようにプログラムを省略して記載することがある。また、プログラムに記述された命令に従ったCPU11の処理を、「プログラムAが行う」のようにCPUを省略した文言で記載することがある。
【0021】
なお、「取得」は要求を必須とはしない概念で用いる。すなわち、CPU11が要求することなくデータを受信するという処理も、「CPU11がデータを取得する」という概念に含まれる。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。また、「要求する」、「指示する」とは、要求していることを示す情報や、指示していることを示す情報を相手に出力することを示す概念である。また、要求していることを示す情報や指示していることを示す情報のことを、単に、「要求」、「指示」とも記載する。
【0022】
また、CPU11による、情報Aは事柄Bであることを示しているか否かを判断する処理を、「情報Aから、事柄Bであるか否かを判断する」のように概念的に記載することがある。CPU11による、情報Aが事柄Bであることを示しているか、事柄Cであることを示しているか、を判断する処理を、「情報Aから、事柄Bであるか事柄Cであるかを判断する」のように概念的に記載することがある。
【0023】
汎用印刷プログラム41は、PC1からプリンタ2等の各種のプリンタで印刷を実行させるためのアプリであり、OS21にあらかじめ組み込まれているOS標準の印刷プログラムである。本形態の汎用印刷プログラム41は、印刷対象の画像データに基づいて、プリンタが対応可能な印刷データを生成するプログラムである。汎用印刷プログラム41は、印刷プログラムの一例である。
【0024】
汎用印刷プログラム41は、各デバイスのベンダによって提供される複数種類のモデルのプリンタに適用可能な汎用のアプリであり、各モデルに共通する動作を各プリンタに行わせるプログラムである。あるいは、汎用印刷プログラム41は、OS21にあらかじめ組み込むために、各デバイスのベンダによってOS21のベンダに提供されるプログラム、例えば、OS21にあらかじめ組み込むために提供されるプリンタドライバの一種であっても良い。
【0025】
一方、OS21に組み込むための汎用印刷プログラム41をOS21のベンダに提供した後に各デバイスのベンダが開発したプログラムは、インストールするという形でPC1に追加することができる。以下では、OS21にあらかじめ組み込まれたプログラムではなく、インストールによって追加できるプリンタドライバを、単に「プリンタドライバ」とする、あるいは、「ベンダドライバ」とする。つまり、プリンタドライバは、OS21にあらかじめ組み込まれているプログラムではなく、使用するためには所定の手順によってOS21にインストールする必要があるプログラムである。例えば、UI20を介して指示されたインストーラ、あるいは、OS21が、プリンタドライバをOS21にインストールする。プリンタドライバは、プリンタの各モデルに個別に対応してプリンタのベンダによって用意されるプログラムであり、対応するモデルに固有の機能の指示を受け付けることもできるプログラムであってもよい。
【0026】
なお、プリンタドライバ、すなわちベンダドライバは、OS21にあらかじめ組み込まれた汎用印刷プログラム41よりも高性能である場合がある。高性能である、とは、例えば、汎用印刷プログラム41にて生成された印刷データよりも、プリンタドライバにて生成された印刷データの方が、プリンタにおいて効率よく処理でき、印刷速度が速くなっても良い。また、より少ないメモリで、プリンタが印刷データを処理できても良い。また、プリンタドライバにて生成された印刷データの方が、より発色の良い印刷物をプリンタに印刷させることができても良い。また、プリンタドライバにて生成された印刷データの方が、より高解像度の印刷物をプリンタに印刷させることができても良い。また、汎用印刷プログラム41ではプリンタに指示することができない、プリンタドライバ固有の機能をプリンタドライバがプリンタに指示できても良い。固有の機能とは、例えば、ミラー印刷機能、ネガポジ反転印刷機能、である。
【0027】
補助プログラム42は、汎用印刷プログラム41の動作に応じてOS21からの指示に基づいて処理を実行するプログラムであり、対象のハードウェアの制御をサポートするアプリである。補助プログラム42は、例えば、OS21から起動される。補助プログラム42は、プリンタ2等の各モデルに対応するアプリである。補助プログラム42は、プリンタ2等のデバイスのベンダによって用意される。デバイスのベンダは、OS21のベンダが指定する手順に従って、補助プログラム42をOS21のベンダが提供するプラットフォームに登録する。OS21は、PC1に新たにプリンタ2が接続され、そのプリンタ2に対応する補助プログラム42がプラットフォームに登録されている場合には、当該補助プログラム42を補助プログラム42が格納されているサーバからダウンロードしてPC1に組み込む。
【0028】
そして、OS21は、組み込んだ補助プログラム42の識別情報を新たに接続されたプリンタ2のプリンタ情報に対応付けて、メモリ12に記憶させる。複数のモデルのプリンタが接続されているPC1では、各モデルに対応するそれぞれの補助プログラムが組み込まれ、各プリンタと各補助プログラムとを対応付ける情報がメモリ12に記憶される。つまり、メモリ12には、PC1に接続されている各プリンタのプリンタ情報として、当該プリンタのモデル情報やアクセス情報とともに、対応する補助プログラム42の情報が記憶される。
【0029】
編集アプリ43は、例えば、画像データや文書データの作成や編集を行うためのアプリである。編集アプリ43は、例えば、マイクロソフト ワード(登録商標)、パワーポイント(登録商標)である。編集アプリ43は、プリンタ2に所定の動作を行わせる指示を含むユーザ操作を受け付ける。具体的には、編集アプリ43は、UI20を介して、例えば、プリンタ2に印刷を実行させる印刷指示を受け付ける。
【0030】
続いて、各プログラムによる印刷のための処理の順序について、図2を参照して説明する。以下では、PC1がUI20を介して、編集アプリ43にて、汎用印刷プログラム41を介してのプリンタ2での印刷実行の指示を受け付けた場合について説明する。
【0031】
印刷指示を受け付けた編集アプリ43は、受け付けた印刷指示に基づいて、印刷実行通知をOS21に渡す。印刷実行通知には、例えば、印刷指示にて指定されたプリンタを示す情報、印刷パラメータ、印刷対象の画像データを示す情報が含まれる。
【0032】
次に、OS21は、印刷指示にて指定されたプリンタに対応する補助プログラム42がメモリ12に記憶されていれば、汎用印刷プログラム41による印刷データの生成を開始する前に、補助プログラム42による処理の実行を補助プログラム42に指示する。
【0033】
補助プログラム42には、汎用印刷プログラム41による処理の開始前に実行される前処理と、汎用印刷プログラム41による処理の終了後であってプリンタ2に印刷画像データを送信する前に実行される後処理と、が含まれる。以下では、補助プログラム42の処理のうち、汎用印刷プログラム41による処理の開始前に実行される処理を、「前処理補助プログラム」421による処理として説明し、汎用印刷プログラム41による処理の終了後に実行される処理を、「後処理補助プログラム」422による処理として説明する。
【0034】
本形態のPC1では、印刷指示を受け付けたことに応じて、汎用印刷プログラム41による印刷データの生成が開始される前に、前処理補助プログラム421による前処理が実行される。前処理補助プログラム421は、印刷指示に含まれる各種の情報、例えば、印刷パラメータやプリンタの情報に加え、印刷対象の画像データに基づく中間画像データを、OS21から取得できる。前処理補助プログラム421は、取得した情報と自身のプログラムとに基づいて前処理を実行し、前処理の終了後に終了通知をOS21に返す。前処理補助プログラム421による前処理の詳細については後述する。
【0035】
前処理補助プログラム421から終了通知を受け取ると、OS21は、汎用印刷プログラム41による処理を実行する。汎用印刷プログラム41は、印刷指示に基づいて、印刷データを生成する。
【0036】
印刷データの生成が完了したら、OS21は、生成した印刷データに基づく印刷画像データをプリンタ2に送信する前に、後処理補助プログラム422による後処理を実行する。後処理補助プログラム422は、印刷パラメータやプリンタの情報に加え、生成が終了している印刷データもOS21から取得できる。後処理補助プログラム422は、取得した情報と自身のプログラムとに基づいて後処理を実行し、後処理の終了後に終了通知をOS21に返す。後処理補助プログラム422による後処理の詳細については後述する。
【0037】
OS21は、後処理補助プログラム422から終了通知を受け取ると、通信IF30を介して、印刷パラメータと印刷画像データとを関連付けてプリンタ2に送信する。印刷画像データは、印刷データそのものであってもよいし、印刷データによって示される画像を加工した画像を示すものであってもよい。例えば後処理にてウォータマークを合成する場合、印刷画像データは合成後の画像を示すデータとなる。また、印刷パラメータは、編集アプリ43における設定から前処理補助プログラム421や後処理補助プログラム422にて変更されている場合もある。プリンタ2は、受信した印刷パラメータと印刷画像データとに基づいて、印刷を実行する。
【0038】
続いて、補助プログラム42の動作を含む印刷システムによる印刷手順の、第1の形態について図3のシーケンス図を参照して説明する。なお、以下の説明では、印刷を実行するプリンタとしてプリンタ2が選択されているものとする。
【0039】
まず、編集アプリ43は、UI20を介して、印刷対象の画像データの指定と、印刷パラメータの設定とを受け付ける(矢印A)。印刷パラメータには、例えば部数設定のような一般的な設定の他、プリンタ2やプリンタ2に対応する補助プログラム42に固有の設定が含まれる。
【0040】
編集アプリ43は、プリンタ2やプリンタ2に対応する補助プログラム42に固有の設定を受け付けるために、詳細設定への移行指示を受け付ける。編集アプリ43は、詳細設定への移行指示を受け付けると、印刷パラメータの設定を示す実行命令をOS21に渡し、OS21を介して実行命令を補助プログラム42に出力する(矢印B)。
【0041】
補助プログラム42は、印刷パラメータの設定を示す実行命令に応じて、前処理補助プログラム421による設定処理を実行する(矢印C)。ここでは、印刷パラメータの設定を受け付ける設定画面をUI20に表示させ、印刷パラメータの設定および設定完了の指示を受け付ける。受け付け可能な設定には、補助プログラム42やプリンタ2固有の機能の設定が含まれる。
【0042】
本形態では、補助プログラム42固有の印刷パラメータとして、印刷画像データの送信前に印刷対象の画像をUI20に表示させるプレビュー機能を有効にするか否かの設定と、パスワードの入力を印刷の実行条件をするセキュア印刷の指定と、を受け付ける。セキュア印刷の指定を受け付けた場合、パスワードの設定も受け付ける。入力されたパスワードは、印刷パラメータに含められる。これらの他、補助プログラム42固有の印刷パラメータとして、プリンタドライバと同等の機能の設定を受け付けてもよい。
【0043】
設定完了の指示を受け付けると、補助プログラム42は、終了通知をOS21に渡し、OS21を介して終了通知を編集アプリ43に応答する(矢印D)。なお、編集アプリ43が詳細設定への移行指示を受け付けなかった場合、矢印Bから矢印Dまでの処理は省略される。
【0044】
その後、編集アプリ43は、UI20を介して、印刷実行の指示を受け付ける(矢印E)。そして、編集アプリ43は、印刷実行の指示を受け付けた場合、印刷実行通知をOS21に渡す(矢印F)。印刷実行通知には、設定された印刷パラメータや印刷対象の画像データを示す情報が含まれる。
【0045】
OS21は、編集アプリ43から出力される印刷実行通知を検知すると、印刷実行通知に含まれる情報に基づいて、印刷を実行させる装置として指定されているプリンタを特定する。例えば、汎用印刷プログラム41を用いてプリンタ2にて印刷させることが指定されている場合、当該プリンタ2に対応する補助プログラム42が組み込まれていれば、OS21は、補助プログラム42の処理の実行命令を出力する(矢印G)。
【0046】
補助プログラム42は、自身に対応する実行命令が出力された場合、前処理補助プログラム421または後処理補助プログラム422の処理を実行する。ここでは、OS21は、印刷データの生成を開始する前に、補助プログラム42に前処理の実行命令を出力し、前処理補助プログラム421による前処理を開始させる。
【0047】
前処理補助プログラム421は、OS21から渡されるプリンタ2の情報、印刷パラメータ、画像データを用いて、前処理を実行する(矢印H)。OS21から取得する画像データは、OS21が編集アプリ43から渡された画像データの形式を中間データの形式に変換した中間画像データである。前処理としては、例えば、画像の拡大縮小や集約といった印刷パラメータの設定に基づく画像の加工処理が該当する。また、前処理として、印刷パラメータの設定画面をUI20に表示させ、印刷パラメータの設定変更を受け付けてもよい。前処理の実行が終了した後、前処理補助プログラム421は、終了通知をOS21に渡す(矢印I)。
【0048】
OS21は、前処理補助プログラム421から終了通知を受け取ったことに応じて、汎用印刷プログラム41を使用して印刷データを生成する(矢印J)。汎用印刷プログラム41によって生成される印刷データは、汎用の印刷データであり、各種のプリンタ2にて印刷に使用できる印刷データである。
【0049】
汎用印刷プログラム41による印刷データの生成の終了後、OS21は、再度、補助プログラム42の処理の実行命令を出力する(矢印K)。具体的にOS21は、印刷データの生成を完了した後に、補助プログラム42に後処理の実行命令を出力し、後処理補助プログラム422による後処理を開始させる。
【0050】
後処理補助プログラム422は、OS21から渡されるプリンタ2の情報、印刷パラメータ、印刷データを用いて、後処理補助プログラム422による後処理を実行する。本形態の後処理補助プログラム422は、後処理として、OS21から取得した印刷データに基づく印刷画像データの生成に加え、プレビュー機能が有効になっている場合、生成した印刷画像データによって示される画像をUI20に表示させるプレビュー処理を実行する(矢印L)。
【0051】
プレビュー処理では、後処理補助プログラム422は、UI20を用いて、印刷画像データによって示される画像を表示するとともに、印刷実行かキャンセルかの選択を受け付ける。そして、印刷実行が選択された場合、OS21から取得したプリンタ2のモデル情報およびIPアドレスを使用して、通信IF30を介して、プリンタ2に先行動作の実行を指示する先行動作コマンドをプリンタ2に出力する(矢印M)。先行動作は、印刷画像データの送信前にプリンタ2に印刷のための準備を行わせる動作である。
【0052】
プリンタ2は、PC1から先行動作コマンドを受信することで先行動作を開始する(矢印N)。プリンタ2が先行動作を行うことで、ユーザが印刷指示を入力してから1枚目の印刷が完了するまでの待ち時間を短くできる。
【0053】
先行動作には、例えば、プリンタ2のモデルごとに複数の種類がある。プリンタ2がインクジェット方式のプリンタである場合、例えば、印刷ヘッドの乾燥防止用キャップを外して、印刷開始位置まで印刷ヘッドを移動させる先行動作がある。また、プリンタ2が電子写真方式のプリンタである場合、例えば、定着装置の予熱を開始させる先行動作がある。すなわち、プリンタのモデルごとに実行可能な先行動作が異なることから、先行動作コマンドにも複数の種類が有る。補助プログラム42は、先行動作コマンドをモデル名に対応付けて記憶している。さらに、プリンタ2の印刷方式に関わらず、例えば、印刷パラメータに基づいて給紙トレイを特定し、特定された給紙トレイから用紙を引き出して所定の待機位置まで搬送させる先行動作がある。
【0054】
後処理補助プログラム422は、プリンタ2で対応可能な先行動作コマンドが複数種類ある場合、その複数種類の先行動作コマンドを出力してもよいし、プリンタ2に出力する先行動作コマンドの指定をあらかじめ設定画面等で受け付けてもよい。そして、複数の先行動作をプリンタ2に行わせる場合、複数の先行動作コマンドを順次に送信してもよいし、複数の先行動作コマンドを1つの先行動作コマンドに合成して送信してもよい。プリンタ2は、少なくとも1つの先行動作を行う機能を有し、先行動作コマンドを受信することで、その先行動作コマンドに対応する先行動作を行う。
【0055】
また、プレビュー処理によって印刷実行が選択された場合、後処理補助プログラム422は、終了通知をOS21に渡す(矢印O)。OS21は、後処理補助プログラム422から終了通知を受け取ったことに応じて、印刷画像データをプリンタ2に送信し(矢印P)、印刷実行通知に基づく処理を終了する。印刷画像データを受信したプリンタ2は、受信した印刷画像データに基づく印刷を行う(矢印Q)。
【0056】
一方、プレビュー処理によってキャンセルが選択された場合、後処理補助プログラム422は、キャンセル通知をOS21に渡す(矢印O)。OS21は、後処理補助プログラム422からキャンセル通知を受け取ったことに応じて、印刷画像データをプリンタ2に送信せずに、印刷実行通知に基づく処理を終了する。この場合、プリンタ2での印刷は行われない。
【0057】
なお、後処理補助プログラム422による先行動作コマンドの出力は、図3ではOS21に終了通知を渡す前に行っているが、OS21に終了通知を渡した後であってもよい。また、プレビュー機能が有効になっておらず、プレビュー処理を実行しない場合、後処理補助プログラム422は、プレビューを表示することなく、先行動作コマンドをプリンタ2に出力し、終了通知をOS21に渡す。
【0058】
また、後処理補助プログラム422による後処理では、プリンタ2が着色剤の節約モード等の固有の機能を有している場合、その固有の機能を有効にするためのコマンドをプリンタ2に送信してもよい。
【0059】
続いて、上述した第1の形態の印刷システムを実現する手順のうち、OS21による印刷処理の手順について、図4のフローチャートを参照して説明する。印刷処理は、OS21が編集アプリ43から印刷実行通知を受け付けたこと(図3の矢印F)を契機に、OS21に従って、PC1のCPU11にて実行される。
【0060】
印刷処理では、OS21は、まず、メモリ12に補助プログラム42が有るか否かを判断する(S101)。補助プログラム42は、前述したように、各プリンタに対応するものがデバイスのベンダによって用意され、OS21がプリンタを検出した場合にOS21によってPC1に組み込まれる。
【0061】
プリンタ2に対応する補助プログラム42が用意されていない場合など、補助プログラム42がメモリ12に無いと判断した場合(S101:NO)、OS21は、汎用印刷プログラム41を用いて、印刷データを生成する(S102)。そして、生成された印刷データあるいは印刷データに基づく印刷画像データをプリンタ2に送信し(S103)、印刷処理を終了する。なお、印刷画像データの送信に失敗した場合、OS21は所定のエラー処理を実行するとよい。
【0062】
PC1に補助プログラム42が組み込まれていない場合には、汎用印刷プログラム41によって印刷データが生成されるので、ユーザは、プリンタ2のセットアップを意識することなく、各種のプリンタ2を同じ使い勝手で使用できる。ただし、汎用印刷プログラム41を用いた印刷では、高性能なプリンタドライバによる印刷よりも、印刷に長時間を要する可能性や、印刷物の品質が下がる可能性がある。
【0063】
一方、補助プログラム42が有ると判断した場合(S101:YES)、OS21は、プリンタ2に対応する補助プログラム42に実行命令を出力し、前処理補助プログラム421による前処理を開始させる(S111、図3の矢印G)。これにより、CPU11は、前処理補助プログラム421に従って前処理を実行する。OS21から前処理補助プログラム421の処理を実行する場合、例えば、OS21が前処理補助プログラム421を示す情報を補助プログラム42に入力しても良い。あるいは、OS21が前処理補助プログラム421を示す情報をメモリ12に記憶させてから前処理補助プログラム421に実行命令を出力し、前処理補助プログラム421がその情報を読み出しても良い。あるいは、OS21が、前処理補助プログラム421の前処理を指定した実行命令を出力しても良い。
【0064】
前処理補助プログラム421が前処理の実行を開始した後、OS21は、前処理補助プログラム421から終了通知を受け取った場合、OS21に含まれる汎用印刷プログラム41を用いて、印刷データを生成する(S112、図3の矢印J)。S112は、S102と同様の処理である。なお、前処理補助プログラム421からキャンセル通知を受け取った場合、OS21は、印刷データを生成することなく、印刷処理を終了する。
【0065】
印刷データの生成後、OS21は、生成した印刷データに基づく印刷画像データをプリンタ2に送信する前に、OS21は、プリンタ2に対応する補助プログラム42に実行命令を出力し、後処理補助プログラム422による後処理を開始させる(S113、図3の矢印K)。これにより、CPU11は、後処理補助プログラム422に従って後処理を実行する。
【0066】
後処理補助プログラム422が後処理の実行を開始した後、OS21は、後処理補助プログラム422から受け取った通知が終了通知かキャンセル通知かを判断する(S114)。終了通知を受け取ったと判断した場合(S114:YES)、OS21は、印刷データあるいは印刷データに基づく印刷画像データをプリンタ2に送信し(S103、図3の矢印P)、印刷処理を終了する。キャンセル通知を受け取ったと判断した場合(S114:NO)、OS21は、印刷画像データを送信することなく、印刷処理を終了する。
【0067】
続いて、上述した印刷システムを実現する補助プログラム42による後処理の手順について、図5のフローチャートを参照して説明する。後処理は、補助プログラム42がOS21から実行命令を受け付けたこと(図3の矢印K)を契機に、補助プログラム42の一部である後処理補助プログラム422に従って、PC1のCPU11にて実行される。
【0068】
後処理では、後処理補助プログラム422は、まず、印刷パラメータに従って、汎用印刷プログラム41を用いて生成された印刷データに基づく印刷画像データを生成する(S201)。S201では、例えば印刷データによって示される画像にウォータマークやヘッダないしフッタを合成する加工を行う。なお、印刷データによって示される画像の加工を行わない場合、S201を省略し、印刷データをそのまま印刷画像データとしてもよいし、印刷データの複製を生成してもよい。
【0069】
次に、後処理補助プログラム422は、プレビュー機能が有効か否かを判断する(S202)。プレビュー機能が有効な場合(S202:YES)、後処理補助プログラム422は、S201にて生成した印刷画像データに示される画像をUI20に表示させ、印刷実行かキャンセルかの選択を受け付けるプレビュー表示を行う(S211、図3の矢印L)。S211は、プレビュー処理の一例である。そして、補助プログラム42は、ユーザの選択が印刷実行かキャンセルかを判断する(S212)。
【0070】
印刷実行が選択されたと判断した場合(S212:YES)、あるいはプレビューが無効な場合(S202:NO)、後処理補助プログラム422は、印刷を実行させる装置として指定されているプリンタ2のプリンタ情報を取得し、プリンタ2に先行動作コマンドを出力する(S203、図3の矢印M)。S203は、コマンド出力処理の一例である。具体的に後処理補助プログラム422は、OS21に問い合わせるか、OS21が情報を記憶している記憶場所を参照して、プリンタ2のモデル情報や、IPアドレス等のアクセス情報を取得する。そして、プリンタのモデルや印刷パラメータに適した先行動作コマンドを決定し、アクセス情報を用いて先行動作コマンドを出力する。
【0071】
S202の後、後処理補助プログラム422は、OS21に終了通知を渡し(S204、図3の矢印O)、後処理を終了する。一方、キャンセルが選択されたと判断した場合(S212:NO)、後処理補助プログラム422は、OS21にキャンセル通知を渡し(S213、図3の矢印R)、後処理を終了する。
【0072】
以上、詳細に説明したように、第1の形態の補助プログラム42によれば、汎用印刷プログラム41を介してプリンタ2による印刷を行わせる印刷指示があった場合に、汎用印刷プログラム41によって生成された印刷データに基づく印刷画像データのプリンタ2への送信が開始される前に、その印刷指示の対象となったプリンタ2に対してプリンタ独自の先行動作を実行させる先行動作コマンドを出力する。これにより、PC1が汎用印刷プログラム41を介する印刷指示を受け付けた場合でも、プリンタ2がその印刷指示に基づく印刷を開始する前に、プリンタ独自の先行動作を実行することができ、プリンタ独自に有する能力を発揮させることができる。
【0073】
さらに第1の形態の補助プログラム42は、OS21による印刷データの生成後のプレビュー処理でのユーザの操作を終えた後に、先行コマンドを出力する。すなわち、プレビューが有効であった場合、印刷の実行が印刷データの生成前では確定せず、印刷データの生成後に確定する。そのため、印刷データの生成の後に先行動作コマンドを送信することで、プリンタでの先行動作の無駄を回避できる。また、印刷実行データの送信前にユーザの操作を受け付ける場合、早期に先行動作コマンドを送信しても、ユーザの操作の受け付けの待ち時間が長くなると、先行動作が無駄になる場合がある。そのため、ユーザの操作の後に先行動作コマンドを送信することで、プリンタでの先行動作の無駄を回避できる。
【0074】
続いて、補助プログラム42の動作を含む印刷システムによる印刷手順の、第2の形態について図6のシーケンス図を参照して説明する。第2の形態では、前処理において先行動作コマンドを出力する場合がある点が、第1の形態と異なる。なお、図6に示した各処理のうち、図3に示した第1の形態と同じ処理については同じ符号を付している。また、第2の形態では、図3に示した第1の形態のうち、矢印Aから矢印Gまでは同じであり、説明を省略する。
【0075】
補助プログラム42の前処理補助プログラム421は、OS21から前処理の実行命令が出力された場合(図3の矢印G)、前処理の1つとして、先行動作コマンドの出力を印刷データの生成後とする条件である後出力条件と、先行動作コマンドの出力を制限する条件である制限条件と、の両方とも満たさないか否かの第1出力判断を行う(矢印S)。そして、第1出力判断による条件を満たす場合、すなわち後出力条件と制限条件との両方とも満たさない場合、前処理の中でプリンタ2に先行動作コマンドを出力する(矢印T)。プリンタ2は、PC1から先行動作コマンドを受信することで、先行動作を開始する(矢印U)。一方、第1出力判断による条件を満たさない、すなわち後出力条件と制限条件との少なくとも一方を満たす場合、先行動作コマンドを出力しない。
【0076】
本形態の後出力条件には、プレビュー機能が有効になっていることが該当する。プレビュー処理を実行する場合、印刷がキャンセルされる可能性があり、プレビュー処理の前に先行動作コマンドを出力してもプリンタ2での先行動作が無駄になる場合がある。また、印刷実行が選択された場合であっても、その選択までに時間がかかると、折角の先行動作が無駄になる場合もある。
【0077】
すなわち、印刷実行がキャンセルされること、ユーザ操作の受け付け待ちがあること、の少なくとも一方に関する条件が後出力条件に該当する。後出力条件は、第1条件の一例である。例えば、プレビュー機能の他、印刷画像データの送信前に送信可否のメッセージを表示し、ユーザの入力操作を受け付ける機能を有する場合には、その機能が有効になっていることを後出力条件としてもよい。なお、前処理においてユーザの入力操作による印刷パラメータの変更を受け付ける場合、前処理補助プログラム421は、その受け付けが終了した後に後出力条件の判断を行う。
【0078】
また、本形態の制限条件には、セキュア印刷の指定があることが該当する。セキュア印刷の指定があると、プリンタ2は、印刷画像データを受信した後、パスワードの入力を受け付け、印刷パラメータに含まれるパスワードと一致するパスワードが入力された場合に、その印刷画像データに基づく印刷を行うことになる。つまり、セキュア印刷が指定されている場合、プリンタ2が印刷画像データを受信しても直ぐには印刷が開始されない。そのため、先行動作を行う必要がなく、先行動作コマンドの送信を制限するものと判断できる。
【0079】
すなわち、プリンタ2が印刷画像データを受信しても他の条件を満たさない限り印刷を開始しないことが制限条件に該当する。制限条件は、第2条件の一例である。例えば、セキュア印刷の他、指定された時間に印刷を行わせる予約印刷の指定があることを制限条件としてもよい。あるいはパスワードの入力は無くともユーザからの実行指示の入力操作を待って印刷を開始する印刷であった場合も制限条件に含めてもよい。あるいはプリンタ2が既に印刷を実行していることを制限条件としてもよい。印刷の実行中は先行動作が不要なためである。また、用紙無しや紙詰まり等のエラーで印刷不能になっていることを制限条件としてもよい。先行動作を行ったとしても印刷を直ぐには開始できないためである。
【0080】
前処理の実行が終了した後、前処理補助プログラム421は、終了通知をOS21に渡す(矢印I)。OS21は、前処理補助プログラム421から終了通知を受け取ったことに応じて、汎用印刷プログラム41を使用して印刷データを生成し(矢印J)、補助プログラム42の後処理の実行命令を出力する(矢印K)。
【0081】
補助プログラム42の後処理補助プログラム422は、後処理の実行命令が出力された場合、後処理の1つとして、プレビュー処理を実行する(矢印L)。なお、プレビュー機能が無効になっている場合、プレビュー処理は省略される。
【0082】
さらに、後処理補助プログラム422は、後処理の1つとして、先行動作コマンドを出力する条件である出力実行条件を満たすことと、先行動作コマンドの出力を制限する条件である制限条件を満たさないことと、の両方を満たすか否かの第2出力判断を行う(矢印V)。そして、第2出力判断による条件を満たす場合、後処理の中でプリンタ2に先行動作コマンドを出力する(矢印W)。プリンタ2は、PC1から先行動作コマンドを受信することで、先行動作を開始する(矢印X)。
【0083】
本形態の出力実行条件には、プレビュー処理において印刷実行が選択されたことが該当する。プレビュー処理を実行する場合、印刷データの生成後に印刷を実行するかキャンセルするかを受け付けるため、印刷実行が選択されたことによって先行動作コマンドを送信できるものと判断できる。
【0084】
また、本形態の後処理での制限条件には、前処理での制限条件と同じ条件に加え、前処理において先行動作コマンドを送信していることが該当する。前処理において先行動作コマンドが送信済みの場合、後処理での先行動作コマンドの送信は無駄になる。そのため、先行動作コマンドが送信済みであれば先行動作コマンドの送信が不要と判断できる。
【0085】
プレビュー処理においてキャンセルが選択されることなく後処理の実行を終了する場合、後処理補助プログラム422は、終了通知をOS21に渡す(矢印O)。OS21は、後処理補助プログラム422から終了通知を受け取ったことに応じて、印刷画像データをプリンタ2に送信し(矢印P)、印刷実行通知に基づく処理を終了する。印刷画像データを受信したプリンタ2は、受信した印刷画像データに基づく印刷を開始する(矢印Q)。なお、不図示であるが、キャンセルが選択されて後処理の実行を終了する場合、後処理補助プログラム422は、キャンセル通知をOS21に渡す。OS21は、キャンセル通知を受け取ったことに応じて、印刷画像データを送信することなく、印刷実行通知に基づく処理を終了する。
【0086】
以上、詳細に説明したように、第2の形態の補助プログラム42であっても、汎用印刷プログラム41を介してプリンタ2による印刷を行わせる印刷指示があった場合に、印刷画像データのプリンタ2への送信が開始される前に、補助プログラム42がプリンタ2に先行動作コマンドを出力する。これにより、PC1が汎用印刷プログラム41を介する印刷指示を受け付けた場合でも、プリンタ2がその印刷指示に基づく印刷を開始する前に、プリンタ2がプリンタ独自の先行動作を実行することができ、プリンタ独自に有する能力を発揮させることができる。
【0087】
さらに、本形態の補助プログラム42は、OS21による印刷データの生成前に後出力条件の判断を行い、後出力条件を満たさない場合には、OS21による印刷データの生成前であっても、先行動作コマンドをプリンタ2に送信可能にしている。すなわち、印刷の条件によっては、印刷データの生成前であっても印刷の実行が確定している場合もある。その場合は先行動作コマンドを印刷データの生成前に送信することで、プリンタでの先行動作を早期に開始でき、印刷の開始をより早めることができる。
【0088】
さらに、本形態の補助プログラム42は、制限条件の判断を行い、制限条件を満たす場合には、後出力条件を満たさない場合や出力実行条件を満たす場合であっても、先行動作コマンドをプリンタ2に送信していない。すなわち、印刷の条件によっては、印刷実行データがプリンタ2に送信された後、プリンタ2によって印刷が直ぐに開始されない場合もある。その場合は先行動作コマンドを送信しないことで、プリンタ2での先行動作の無駄を回避できる。
【0089】
なお、本明細書に開示される実施の形態は単なる例示にすぎず、本発明を何ら限定するものではない。したがって本明細書に開示される技術は当然に、その要旨を逸脱しない範囲内で種々の改良、変形が可能である。例えば、PC1に接続されるデバイスは、プリンタに限らず、複合機、複写機、FAX装置など、印刷機能を有する装置であれば、適用可能である。また、PC1に接続されるプリンタは、1台に限らず、複数台でもよい。
【0090】
また、例えば、実施の形態では、補助プログラム42は前処理と後処理との両方を備えているとしたが、補助プログラム42は印刷データの生成後に起動される後処理補助プログラム422の構成のみであってもよい。また、前処理補助プログラム421と後処理補助プログラム422とは、1つのモジュールであってもよいし、別のモジュールであっても良い。
【0091】
また、先行動作コマンドとして、印刷パラメータを送信してもよい。この場合、印刷パラメータを受信したプリンタ2は、例えば、印刷パラメータにカラー印刷の設定が含まれていればカラー印刷の準備動作を実行し、モノクロ印刷の設定であれば黒色のみの準備動作を実行する。
【0092】
また、プリンタ2がレーザプリンタである場合、カラー印刷の準備動作として、色ずれ抑制のためのキャリブレーション処理を行ってもよい。また、プリンタ2がフィニッシャを備えるモデルであり、印刷パラメータにフィニッシャでの処理が含まれている場合、プリンタ2は、印刷パラメータを受信した場合にフィニッシャの準備動作を行うとしても良い。
【0093】
また、前処理と後処理とを実行するモジュールは、補助プログラム42に限らず、OS21の汎用印刷プログラム41にて印刷を行う際に、OS21から指示を受け付けるプログラムであればよい。例えば、マイクロソフト社が仕様公開した印刷ワークフロー アプリ(Print workflow)でも良い。
【0094】
また、実施の形態では、OS21から補助プログラム42の実行命令が出力されることで、補助プログラム42が起動されるとしているが、補助プログラム42の起動タイミングはこれに限らない。例えば、常時起動されている補助プログラム42であってもよく、その場合には、補助プログラム42は、実行命令を受けて前述した動作を行うとすれば良い。
【0095】
また、実施の形態では、印刷指示を受け付ける(矢印E)の前に、補助プログラム42において、固有の印刷パラメータとして、印刷画像データの送信前に印刷対象の画像をUI20に表示させるプレビュー機能を有効にするか否かの設定と、パスワードの入力を印刷の実行条件とするセキュア印刷の指定と、を受け付ける(矢印C)ようにしているが、印刷指示を受け付けた後の前処理(矢印H)の1つとして受け付けてもよい。
【0096】
また、実施の形態では、補助プログラム42が固有の印刷パラメータとして、印刷画像データの送信前に印刷対象の画像をUI20に表示させるプレビュー機能を有効にするか否かの設定と、パスワードの入力を印刷の実行条件とするセキュア印刷の指定と、を受け付けるようにしているが、これらの設定の一部または全てをOS21にて受け付けるようにしてもよい。
【0097】
また、実施の形態に開示されている任意のフローチャートにおいて、任意の複数のステップにおける複数の処理は、処理内容に矛盾が生じない範囲で、任意に実行順序を変更できる、または並列に実行できる。
【0098】
また、実施の形態に開示されている処理は、単一のCPU、複数のCPU、ASICなどのハードウェア、またはそれらの組み合わせで実行されてもよい。また、実施の形態に開示されている処理は、その処理を実行するためのプログラムを記録した記録媒体、または方法等の種々の態様で実現することができる。
【符号の説明】
【0099】
1 PC
2 プリンタ
11 CPU
21 OS
41 汎用印刷プログラム
42 補助プログラム
43 編集アプリ
図1
図2
図3
図4
図5
図6