JP7172672B2 - アプリケーションプログラム、情報処理装置、および印刷方法 - Google Patents
アプリケーションプログラム、情報処理装置、および印刷方法 Download PDFInfo
- Publication number
- JP7172672B2 JP7172672B2 JP2019017443A JP2019017443A JP7172672B2 JP 7172672 B2 JP7172672 B2 JP 7172672B2 JP 2019017443 A JP2019017443 A JP 2019017443A JP 2019017443 A JP2019017443 A JP 2019017443A JP 7172672 B2 JP7172672 B2 JP 7172672B2
- Authority
- JP
- Japan
- Prior art keywords
- image data
- program
- processing
- general
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
- G06F3/1205—Improving or facilitating administration, e.g. print management resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
- G06F3/1206—Improving or facilitating administration, e.g. print management resulting in increased flexibility in input data format or job format or job type
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1229—Printer resources management or printer maintenance, e.g. device status, power levels
- G06F3/123—Software or firmware update, e.g. device firmware management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1244—Job translation or job parsing, e.g. page banding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1253—Configuration of print job parameters, e.g. using UI at the client
Description
本明細書に開示される技術分野は、プリンタに印刷を行わせる印刷指示を出力するアプリケーションプログラム、情報処理装置、および印刷方法に関する。
パーソナルコンピュータ等の情報処理装置からプリンタを制御する技術として、情報処理装置にプリンタドライバをインストールし、プリンタドライバによって印刷データを生成し、その印刷データをプリンタに送信する構成が広く知られている(例えば、特許文献1)。プリンタドライバは、プリンタのメーカから提供され、そのプリンタが有する各種の機能に対応しており、そのプリンタを十分に利用することができる。
近年、前述したプリンタドライバを利用せず、オペレーティングシステム(OS)に標準に組み込まれている汎用印刷プログラムによってプリンタを制御する技術が実用化されている。この技術では、OSとOS標準の汎用印刷プログラムとの関連付けを行い、以後、そのプリンタに対する印刷指示を受け付けた場合に、プリンタドライバを用いずに、OS標準の汎用印刷プログラムによる印刷が可能になる。
前述したOS標準の汎用印刷プログラムによる印刷であっても、プリンタドライバと同様に画像データに拡縮処理や合成処理等の加工を施した印刷データを生成する加工機能をサポートすることが望まれる。このような加工機能をサポートした場合、ユーザの設定ミス等によってユーザの意図しない加工が施される可能性があるが、そのような加工が施された印刷データをプリンタに送信してもユーザの希望する印刷物が出力されず、消耗品を無駄に消費してしまう。
本明細書は、OS標準の汎用印刷プログラムが組み込まれた情報処理装置において、ユーザの意図しない加工が施された画像に基づく印刷を低減する技術を開示する。
上述した課題の解決を目的としてなされたアプリケーションプログラムは、情報処理装置のコンピュータによって実行可能であり、前記情報処理装置と接続するプリンタに印刷を行わせる印刷指示を出力するアプリケーションプログラムであって、前記コンピュータに、画像データを取得する画像データ取得処理と、前記画像データ取得処理にて取得された画像データによって示される画像の印刷を前記プリンタに行わせる印刷指示があった場合に、前記情報処理装置のオペレーティングシステムにあらかじめ組み込まれた汎用印刷プログラムに対して、前記印刷指示があったことを示す通知を入力する印刷指示入力処理を実行させ、前記情報処理装置には、前記プリンタに対応するサポートプログラムが組み込まれており、前記サポートプログラムは、画像に加工を施す加工機能を有するものであり、前記汎用印刷プログラムは、前記印刷指示があったことを示す前記通知が入力された場合に前記サポートプログラムを動作させ、前記サポートプログラムは、前記画像データ取得処理にて取得された画像データであって、前記汎用印刷プログラムが出力する中間画像データ又は印刷データに対して前記加工機能による加工を施した加工済み画像データを生成し、前記汎用印刷プログラムは、前記サポートプログラムから提供された前記加工済み画像データに基づく画像の印刷を前記プリンタに行わせるための処理を行い、さらに前記コンピュータに、前記サポートプログラムの前記加工機能による加工に用いる加工設定を取得する加工設定取得処理と、前記プリンタによって印刷される画像の表示指示を受け付けた場合に、前記汎用印刷プログラムに、前記画像データ取得処理にて取得された画像データから中間画像データ又は印刷データを生成させ、前記生成された中間画像データ又は印刷データと前記加工設定取得処理にて取得した前記加工設定に基づく加工を施させる加工要求を、前記サポートプログラムに入力する加工要求処理と、を実行させ、前記サポートプログラムは、前記加工要求が入力された場合に、前記画像データ取得処理にて取得された画像データに対して前記加工機能による加工を施した加工済み画像データを生成し、さらに前記コンピュータに、前記加工要求処理での前記加工要求に基づいて前記サポートプログラムにて生成された前記加工済み画像データを前記サポートプログラムから取得し、取得した前記加工済み画像データによって示される画像を前記情報処理装置の表示デバイスに表示させるプレビュー表示処理を実行させる、ことを特徴とする。
上記構成を有するアプリケーションプログラムを実行する情報処理装置は、アプリケーションプログラムから直接、印刷時に画像を加工するサポートプログラムに対して加工要求を入力し、サポートプログラムから出力された加工済み画像データを取得してプレビュー表示する。これにより、ユーザは、印刷指示を情報処理装置に入力する前に、印刷時に生成される画像と同等の加工画像を確認することができ、ユーザの意図しない加工が施された画像の印刷を低減することができる。
上記装置の機能を実現するための制御方法、コンピュータプログラム、および当該コンピュータプログラムを格納するコンピュータにて読取可能な記憶媒体も、新規で有用である。
本明細書に開示される技術によれば、OS標準の汎用印刷プログラムが組み込まれた情報処理装置において、ユーザの意図しない加工が施された画像に基づく印刷を低減する技術が実現される。
以下、実施の形態のプログラムを利用する印刷システムについて、添付図面を参照しつつ詳細に説明する。本形態は、パーソナルコンピュータ(以下、「PC」とする)とプリンタとを含む印刷システムを具体化した実施の形態を開示するものである。
本形態のプログラムが実行される印刷システムの構成の例を、図1に示す。図1に示すシステムには、PC1と、プリンタ2と、プリンタ3と、が含まれる。PC1は、情報処理装置の一例である。プリンタ2およびプリンタ3は、印刷機能を有する装置であり、ローカル通信またはネットワーク通信を介して、PC1と通信可能である。
PC1は、例えば、図1に示すように、コントローラ10と、ユーザインタフェース(以下、「UI」とする)20と、通信インタフェース(以下、「通信IF」とする)30と、を備えている。UI20及び通信IF30は、コントローラ10に電気的に接続されている。
UI20は、各種の表示を行い、ユーザの指示入力を受け付けるハードウェアを含む。UI20は、表示機能と入力受付機能との両方の機能を有するタッチパネルであっても良いし、表示機能を有するディスプレイと入力受付機能を有するキーボードやマウス等との組合せであっても良い。
通信IF30は、プリンタ2やプリンタ3との通信を行うためのハードウェアや、インターネットへのアクセスを行うためのハードウェアを含む。通信IF30は、通信方式の異なる複数のインタフェースを含んでいても良い。通信方式としては、例えば、ネットワーク通信、USB通信がある。また、有線通信であっても無線通信であってもよい。
コントローラ10は、CPU11と、メモリ12と、を含む。CPU11は、コンピュータの一例である。メモリ12は、ROMと、RAMと、不揮発性メモリと、を含み、各種のアプリケーションプログラム(以下、「アプリ」とする)などのプログラムや各種のデータなどを記憶する。なお、本明細書では、メモリの詳細を区別しない。CPU11は、メモリ12から読み出したプログラムに従って、また、ユーザの指示に基づいて、各種の処理を実行する。なお、図1中のコントローラ10は、PC1の制御に利用されるハードウェアやソフトウェアを纏めた総称であって、実際にPC1に存在する単一のハードウェアを表すとは限らない。
メモリ12の一例は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、non-transitoryな媒体である。non-transitoryな媒体には、上記の例の他に、CD-ROM、DVD-ROM等の記録媒体も含まれる。また、non-transitoryな媒体は、tangibleな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、non-transitoryなコンピュータが読み取り可能なストレージ媒体には含まれない。
メモリ12には、例えば、図1に示すように、汎用印刷プログラム41を含むオペレーティングシステム(以下、「OS」とする)21と、補助プログラム42と、編集アプリ43と、が記憶されている。補助プログラム42は、サポートプログラムの一例である。補助プログラム42は、例えば、マイクロソフト社が公開した仕様に基づいてプリンタベンダによって作成された、ハードウェアサポートアプリ(略称、HSA)である。OS21は、例えば、マイクロソフトウィンドウズ(登録商標)、MacOS(登録商標)、Linux(登録商標)である。なお、メモリ12には、図示したもの以外にも、接続されているプリンタの情報を含む各種のデータや、ブラウザ等の各種のプログラムが記憶されている。
汎用印刷プログラム41は、PC1からプリンタ2等の各種のプリンタで印刷を実行させるためのアプリであり、OS21にあらかじめ組み込まれているOS標準の汎用印刷プログラムである。本形態の汎用印刷プログラム41は、編集アプリ43等から印刷実行通知を受け取ると、印刷実行通知に付加された印刷対象の画像データに基づいて、プリンタが対応可能な印刷データを生成するプログラムである。
汎用印刷プログラム41は、各プリンタのベンダによって提供される複数種類のモデルのプリンタに適用可能な汎用のアプリであり、各モデルに共通する動作を各プリンタに行わせるプログラムである。あるいは、汎用印刷プログラム41は、OS21にあらかじめ組み込むために、各プリンタのベンダによってOS21のベンダに提供されるプログラム、例えば、OS21にあらかじめ組み込むために提供されるプリンタドライバの一種であっても良い。
補助プログラム42は、汎用印刷プログラム41の動作に付随してOS21からの指示に基づいて処理を実行するプログラムであり、対象のハードウェアの制御をサポートするアプリである。補助プログラム42は、例えば、汎用印刷プログラム41から起動される。補助プログラム42は、プリンタ2等のベンダによってプリンタのタイプごとに用意されるプログラムである。例えば、インクジェットプリンタ用の補助プログラム42やレーザプリンタ用の補助プログラム42が用意される。プリンタのタイプごとに限らず、プリンタのモデルごとやプリンタのモデルのシリーズごとに用意される補助プログラム42が有っても良い。尚、補助プログラム42は、プリンタ2等のベンダによってプリンタのモデルごと、或いは、モデルのシリーズごとに用意されるプログラムであっても良い。
プリンタのベンダは、OS21のベンダが指定する手順に従って、補助プログラム42をOS21のベンダが提供するプラットフォームに登録する。OS21は、PC1に新たにプリンタ2が接続され、そのプリンタ2に対応する補助プログラム42がプラットフォームに登録されている場合には、当該補助プログラム42を補助プログラム42が格納されているサーバからダウンロードしてPC1に組み込む。
そして、OS21は、組み込んだ補助プログラム42の識別情報を新たに接続されたプリンタのプリンタ情報に対応付けて、メモリ12に記憶させる。複数のモデルのプリンタが接続されているPC1では、各モデルのタイプに対応するそれぞれの補助プログラムが組み込まれ、各プリンタと各補助プログラムとを対応付ける情報がメモリ12に記憶される。つまり、メモリ12には、PC1に接続されている各プリンタのプリンタ情報として、当該プリンタのモデル情報やアクセス情報とともに、対応する補助プログラム42の情報が記憶される。
編集アプリ43は、例えば、画像データや文書データの作成や編集を行うためのアプリである。編集アプリ43は、例えば、マイクロソフト ワード(登録商標)、パワーポイント(登録商標)である。また、プリンタ2やプリンタ3のベンダから提供されるアプリであってもよい。編集アプリ43は、プリンタ2に所定の動作を行わせる指示を含むユーザ操作を受け付ける。具体的には、編集アプリ43は、UI20を介して、例えば、プリンタ2に印刷を実行させる印刷指示を受け付ける。
なお、実施の形態における処理およびフローチャートの各処理ステップは、基本的に、補助プログラム42などのプログラムに記述された命令に従ったCPU11の処理を示す。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「取得」、「受付」、「制御」等の処理は、CPU11の処理を表している。CPU11による処理は、OS21のAPIを用いたハードウェア制御も含む。本明細書では、OS21の詳細な記載を省略して各プログラムの動作を説明する。すなわち、以下の説明において、「プログラムBがハードウェアCを制御する」という趣旨の記載は、「プログラムBがOS21のAPIを用いてハードウェアCを制御する」ことを指してもよい。また、プログラムに記述された命令に従ったCPU11の処理を、省略した文言で記載することがある。例えば、「CPU11が行う」のようにプログラムを省略して記載することがある。また、プログラムに記述された命令に従ったCPU11の処理を、「プログラムAが行う」のようにCPUを省略した文言で記載することがある。
なお、「取得」は要求を必須とはしない概念で用いる。すなわち、CPU11が要求することなくデータを受信するという処理も、「CPU11がデータを取得する」という概念に含まれる。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。また、「要求する」、「指示する」とは、要求していることを示す情報や、指示していることを示す情報を相手に出力することを示す概念である。また、要求していることを示す情報や指示していることを示す情報のことを、単に、「要求」、「指示」とも記載する。
また、CPU11による、情報Aは事柄Bであることを示しているか否かを判断する処理を、「情報Aから、事柄Bであるか否かを判断する」のように概念的に記載することがある。CPU11による、情報Aが事柄Bであることを示しているか、事柄Cであることを示しているか、を判断する処理を、「情報Aから、事柄Bであるか事柄Cであるかを判断する」のように概念的に記載することがある。
次に、本形態の補助プログラム42の構成、および補助プログラム42の動作を含む印刷手順の一例について、図2のシーケンス図を参照して説明する。補助プログラム42は、編集アプリ43等を介して、補助プログラム42に対応するプリンタが指定された状態で汎用印刷プログラム41を使用して印刷する印刷指示を受け付けた場合に、汎用印刷プログラム41から実行指示されるプログラムである。以下では、PC1がUI20を介して、例えば、編集アプリ43にて、印刷対象の画像データが指定された状態で、汎用印刷プログラム41を介してのプリンタ2での印刷実行の指示を受け付けた場合であって、プリンタ2のモデルのタイプに対応する補助プログラム42がPC1に組み込まれている場合について説明する。
まず、編集アプリ43は、UI20を介して、印刷対象の画像の指定と、印刷実行の指示入力を受け付ける(矢印A)。編集アプリ43が表示した画像は、印刷対象の画像の例である。編集アプリ43は、例えば、編集アプリ43にて編集された文書や、編集アプリ43にて読み込んだ写真などを画像として表示する。そして、印刷指示を受け付けた編集アプリ43は、受け付けた印刷指示の内容を示す印刷実行通知をOS21に渡す。なお、図2では、OS21の動作を省略して示している。
OS21は、汎用印刷プログラム41を使用する印刷実行通知を受け付けた場合、汎用印刷プログラム41を実行させ、汎用印刷プログラム41に印刷実行通知を渡す(矢印B)。汎用印刷プログラム41は、印刷実行通知にて、印刷指示に含まれる各種の情報、例えば、印刷させるプリンタを示す情報、アプリにて設定された印刷パラメータを示す情報、印刷対象となる画像データを示す情報、印刷を指示したユーザを識別する情報を、取得できる。なお、後述するように、これらの情報は、補助プログラム42でも使用される。
汎用印刷プログラム41は、印刷実行通知に含まれる画像データの形式を中間画像データの形式に変換することで中間画像データを生成し、中間画像データを含む印刷ジョブを生成する(矢印C)。編集アプリ43に含まれる画像データは種々のタイプのものであり、汎用印刷プログラム41は、受け取った画像データを、印刷データの生成に適した中間画像データに変換する。なお、印刷実行通知に含まれる画像データが印刷データの生成に適したデータであれば、中間画像データの生成を省略し、そのまま中間画像データとしても良い。中間画像データは、例えば、XPSデータである。
さらに、汎用印刷プログラム41は、印刷実行通知に含まれる情報に基づいて、印刷を実行させる装置として指定されているプリンタを特定する。汎用印刷プログラム41は、例えば、プリンタ2が指定されている場合、メモリ12に記憶されているプリンタ情報に含まれるプリンタのモデル情報に基づいて、プリンタ2のモデルを特定する。そして、印刷指示にて指定されたプリンタであるプリンタ2に対応する補助プログラム42がメモリ12に記憶されていることから、汎用印刷プログラム41による印刷データの生成を開始する前に、汎用印刷プログラム41は、補助プログラム42の処理の実行命令を出力し、補助プログラム42を動作させることが可能である。この場合、補助プログラム42への実行命令が汎用印刷プログラム41から出力される。
補助プログラム42は、本形態では、中間画像データの画像を編集する処理が行われる。具体的には、汎用印刷プログラム41から補助プログラム42に対して、編集処理の実行命令が出力され(矢印D)、補助プログラム42は、汎用印刷プログラム41から印刷パラメータや中間画像データを取得し、印刷パラメータの設定に応じた加工を中間画像データの画像に施す(矢印E)。この印刷パラメータの設定に応じて加工を施された加工済み中間画像データは、「加工済み画像データ」の一例である。画像の加工としては、例えば画像の集約や分割、画像の拡大や縮小、ウォータマーク等の画像の合成が該当する。補助プログラム42は、各処理を終了する際、終了通知を汎用印刷プログラム41に通知する。
そして、補助プログラム42は、編集処理の終了を示す終了通知を汎用印刷プログラム41に返して処理を終了する(矢印F)。補助プログラム42は、処理後のデータを汎用印刷プログラム41に提供する。
本形態では、汎用印刷プログラム41は、中間画像データを生成した後、必要に応じて補助プログラム42を動作させ、その後、その中間画像データに基づいて印刷データを生成する(矢印G)。汎用印刷プログラム41によって生成される印刷データは、各種のプリンタにて印刷に使用できる形式の印刷データである。印刷データは、例えば、PWGRasterデータ、またはPDFデータである。
汎用印刷プログラム41は、印刷データを生成した後、プリンタ2に対して印刷命令を送信する(矢印H)。これにより、印刷命令を受信したプリンタ2では、印刷命令に付された印刷データに従って、印刷データの画像の印刷が実行される。プリンタ2は、コマンドが付加された印刷データを受信した場合、印刷の実行に際して、コマンドによって示される動作を行う。
尚、補助プログラム42は、印刷データを編集する処理を行っても良い。この場合、補助プログラム42は、印刷データ編集処理として、例えば、印刷データの編集を行う。補助プログラム42は、例えば、プリンタ2に特有な機能を実行させるためのコマンドを印刷データに付加する。プリンタ2に特有な機能としては、例えば、トナーセーブ設定、フィニッシャの設定、がある。プリンタ2が自身でウォータマークやヘッダ/フッタ等を画像に付加できる機能を有している場合、印刷データ編集処理では、これらの機能を実行させるコマンドを印刷データに付加しても良い。このように、補助プログラム42が、後述するように汎用印刷プログラム41を介さずに印刷データをプリンタ2に送信する場合は、補助プログラム42が、汎用印刷プログラム41が生成する印刷データと異なるデータ形式に印刷データを変換して、送信しても良い。
編集アプリ43は、例えば、補助プログラム42と同じベンダから提供され、プリンタ2のタイプに対応している。編集アプリ43は、設定画面をUI20に表示させ、印刷パラメータの設定を受け付ける。
なお、印刷パラメータには、汎用印刷プログラム41による印刷データの生成に用いられる汎用パラメータと、汎用印刷プログラム41による印刷データの生成には用いられない固有パラメータとがある。汎用パラメータは、例えば、用紙サイズ、印刷解像度、カラー/モノクロ、であり、固有パラメータは、例えば、給紙トレイの設定、両面/片面、集約印刷、ウォータマークの付加、である。補助プログラム42は、印刷パラメータに関する設定画面を介して汎用パラメータの編集も固有パラメータの編集も行うことができる。一方、一般的な編集アプリは、汎用パラメータの編集は受け付けるが、固有パラメータの編集は受け付けないものが多い。しかし、編集アプリ43は、補助プログラム42と同じベンダから提供され、同じタイプのプリンタ2に対応しているため、補助プログラム42と同様に、汎用パラメータの編集も、固有パラメータの編集も受け付けることができる。
汎用のパラメータは、編集アプリ43と汎用印刷プログラム41と補助プログラム42との間で相互にやり取りができるパラメータである。
一方、固有のパラメータは、汎用印刷プログラム41と補助プログラム42との間及び編集アプリ43と汎用印刷プログラム41との間でやり取りできないパラメータである。編集アプリ43は、汎用印刷プログラム41を介さず、メモリ12内の編集アプリ43用の記憶領域に固有のパラメータを記憶し、編集および読み出しを行う。編集アプリ43用の記憶領域は、例えば、OS21によって準備されるレジストリであっても良い。なお、汎用印刷プログラム41が、固有のパラメータをも扱うことのできる場合は、補助プログラム42は、汎用印刷プログラム41を介して、固有のパラメータを受け取ってもよい。
補助プログラム42は、信号を送受信するインタフェースを複数備える。インタフェースは、たとえば、補助プログラム42が実行可能な処理毎に設けられていてもよいし、信号の種類に応じて設けられていてもよい。
本形態では、補助プログラム42は、編集アプリ43から出力された実行命令を受ける第1のインタフェースと、汎用印刷プログラム41から出力された実行命令を受ける第2のインタフェースを備える。補助プログラム42は、第1のインタフェースを介して、編集アプリ43から中間画像データの編集処理を実行する実行命令を受けた場合、その中間画像データの画像を印刷パラメータに基づいて編集し、編集した中間画像データを編集アプリ43に送る。一方、補助プログラム42は、第2のインタフェースを介して、編集アプリ43から中間画像データの編集処理を実行する実行命令を受けた場合、その中間画像データの画像を印刷パラメータに基づいて編集し、編集した中間画像データを汎用印刷プログラム41に送る。
本形態の編集アプリ43は、印刷プレビュー機能を有している。以下、編集アプリ43が印刷プレビュー機能を動作させるための処理について、図3に示すシーケンス図を参照して説明する。尚、図3中、図2に対応する処理については、図2と同じ符号を付している。
図3に示すように、編集アプリ43は、例えば、画像データを取得し(矢印X12)、印刷パラメータを取得する(矢印X14)。矢印X12に示す処理と矢印X14に示す処理とは逆順であっても良い。矢印X12の処理は、「画像データ取得処理」の一例である。矢印X14の処理は、加工設定取得処理の一例である。X14の処理にて取得した印刷パラメータは、「加工設定」の一例である。編集アプリ43は、例えば、印刷パラメータ設定画面を介して、印刷パラメータを取得する。印刷パラメータ設定画面は、汎用パラメータと固有パラメータの両方に関する設定を受け付けるものである。編集アプリ43は、後の補助プログラム42の処理に用いるために、印刷パラメータ設定画面にて受け付けた固有パラメータを、編集アプリ43と補助プログラム42が共有するメモリ12の記憶領域に記憶する。また、編集アプリ43は、印刷パラメータ設定画面を介して受け付けた汎用パラメータを、編集アプリ43と補助プログラム42が共有するメモリ12の記憶領域に記憶しても良い。
印刷パラメータを設定するための印刷パラメータ設定画面の一例を、図4を参照して説明する。図4は、中間画像データに合成するウォータマークに関する設定を行うためのウォータマーク設定画面DA10である。ウォータマーク設定画面DA10は、例えば、編集アプリ43の印刷設定画面から、プリンタ2に固有の設定としてウォータマークが選択された場合に表示されるダイアログである。ウォータマーク設定画面DA10は、例えば、スタイル選択領域SA10と、文字設定領域SA12と、画像ファイル設定領域SA14と、位置設定領域SA16とを備える。
スタイル選択領域SA10は、ウォータマークを文字と画像ファイルの何れにするかを選択するものである。文字設定領域SA12は、スタイル選択領域SA10にて文字が選択された場合に、文字の各種設定を行うものである。文字の各種設定には、例えば、表示内容、フォント、スタイル、サイズ、色の設定などが含まれる。画像ファイル設定領域SA14は、スタイル選択領域SA10にて画像ファイルが選択された場合に、画像ファイルの各種設定を行うものである。画像ファイルの各種設定には、例えば、画像ファイルの保存場所、画像の拡大・縮小率、透明度などが含まれる。位置設定領域SA16は、ウォータマークの印刷位置を設定するものである。
ウォータマーク設定画面DA10には、印刷ボタンA10と、キャンセルボタンA12と、印刷プレビューボタンA14が設けられている。印刷ボタンA10は、編集アプリ43において設定された印刷パラメータに基づいて印刷を実行する印刷指示を受け付けるための操作ボタンである。キャンセルボタンA12は、ウォータマークの設定を中止する指示を受け付けるための操作ボタンである。印刷プレビューボタンA14は、印刷パラメータ設定画面によって設定された印刷パラメータに従って加工された中間画像データをUI20に表示させるプレビュー指示を、受け付けるための操作ボタンである。
図3に戻り、編集アプリ43は、印刷プレビューボタンA14が押下され、プレビュー指示を受け付けると(X16)、中間画像データの生成を汎用印刷プログラム41に依頼する(矢印X22)。このとき、編集アプリ43は、矢印X12の処理にて取得した画像データを依頼に付加する。また、編集アプリ43は、矢印X14の処理にて取得した印刷パラメータのうち汎用パラメータのみを依頼に付加する。依頼には、印刷のために中間画像データを作成する依頼ではないことを示すフラグ、あるいは、プレビュー表示のために中間画像データを生成する依頼であることを示すフラグが、付されていてもよい。
汎用印刷プログラム41は、依頼を受けたことに応じて、画像データを印刷パラメータに基づいて中間画像データに変換し(矢印X24)、編集アプリ43に返す(矢印X26)。汎用印刷プログラム41は、汎用パラメータを処理できるが、固有パラメータを処理できない。そのため、汎用印刷プログラム41は、依頼に付加された汎用パラメータを用いて画像データを加工し、中間画像データを生成する。よって、汎用印刷プログラム41から編集アプリ43に出力された中間画像データは、ウォータマークなどのプリンタ2に特有の機能が反映されておらず、汎用印刷プログラム41が編集アプリ43から印刷実行通知を受けて補助プログラム42に出力する中間画像データと同じ形式である。
編集アプリ43は、汎用印刷プログラム41から中間画像データを受けると、補助プログラム42の第1インタフェースを介して編集処理の実行命令を直接入力する(矢印X32)。つまり、編集アプリ43は、プレビュー表示用に中間画像データを加工する処理の実行を、補助プログラム42に要求する。実行命令には、印刷のために中間画像データを編集する編集処理を実行させる実行命令ではないことを示すフラグ、あるいは、プレビュー表示のために中間画像データを編集する編集処理を実行させる実行命令であることを示すフラグが、付されていてもよい。このように編集アプリ43が入力する実行命令は、以下の説明において、「加工要求」ともいう。加工要求は、汎用印刷プログラム41から出力された中間画像データと、X14にて取得した印刷パラメータとが付される。X36の処理は「加工要求処理」の一例である。中間画像データは、汎用印刷プログラム41が作成したものであるため、補助プログラム42は、印刷時に汎用印刷プログラム41から受ける中間画像データと同じ形式で編集アプリ43から中間画像データを受けることができる。
補助プログラム42は、第1のインタフェースを介して加工要求を受けると、加工要求に付加された中間画像データを、加工要求に付加された印刷パラメータに基づいて編集する(X34)。この場合に使用される印刷パラメータは、固有パラメータを含む。よって、補助プログラム42は、固有パラメータに基づいて中間画像データを加工することができる。例えば、図4のウォータマーク設定画面DA10によって設定された印刷パラメータが実行命令に付加されている場合、補助プログラム42は、その印刷パラメータに従ってウォータマークを中間画像データに合成する。本形態では、第1のインタフェースを介して編集処理の実行命令を受けた場合、第2のインタフェースを介して実行される編集処理と同様の処理が実行されることになる。
なお、編集アプリ43が、矢印X14の処理にて取得した固有パラメータを、編集アプリ43と補助プログラム42がメモリ12の共有する記憶領域に記憶させた場合、編集アプリ43は、その共有する記憶領域を介して、固有パラメータを補助プログラム42に渡してもよい。つまり、編集アプリ43は、固有パラメータを含まない加工要求を補助プログラム42に渡し、補助プログラム42は、編集アプリ43と補助プログラム42が共有する記憶領域から固有パラメータを読み出して中間画像データを加工するようにしてもよい。
また、汎用パラメータの中には、補助プログラム42が中間画像データを加工する際に必要なものがある。よって、矢印X32の処理では、汎用パラメータと固有パラメータの両方を加工要求に付してもよい。この場合、補助プログラム42は、矢印X44の処理にて、矢印X32の処理にて受け取った汎用パラメータと固有パラメータの両方を用いて中間画像データを加工する。
また、編集アプリ43が、プレビュー表示用の中間画像データを補助プログラム42に生成させる場合、プレビュー表示用の中間画像データの品質を、印刷表示用の中間画像データの品質より低くしても良い。
例えば、編集アプリ43が、印刷のために中間画像データを編集する実行命令ではないことを示すフラグ、あるいは、プレビュー表示のために中間画像データを編集する編集処理を実行させる実行命令であることを示すフラグを加工要求に付している場合、補助プログラム42は、矢印X34の処理において、印刷用の中間画像データよりも品質がやや落ちるものの、処理負荷が軽い中間画像データを作成してもよい。例えば、補助プログラム42が、汎用パラメータで設定されている印刷解像度よりも低い印刷解像度で、プレビュー表示用の中間画像データを生成するようにしてもよい。
また例えば、編集アプリ43は、矢印X22の処理にて、矢印X14の処理で取得した印刷パラメータによって設定されている品質よりもやや低い品質の印刷パラメータを、汎用印刷プログラム41に渡してもよい。そして、編集アプリ43は、矢印X32の処理では、矢印X14の処理で取得した印刷パラメータによって設定されている品質よりもやや低い品質の印刷パラメータを、補助プログラム42に渡してもよい。
補助プログラム42は、中間画像データを加工すると、その加工済み中間画像データを付した終了通知を編集アプリ43に送る(矢印X36)。編集アプリ43は、補助プログラム42によって編集された加工済み中間画像データを受けると、その加工済み中間画像データをUI20に表示する(矢印X38)。矢印X36、矢印X38の処理は、「プレビュー表示処理」の一例である。補助プログラム42が実行命令に応じて編集した加工済み中間画像データは、「加工済み画像データ」の一例である。編集アプリ43が図3に示す矢印X14の処理において編集する印刷パラメータと、補助プログラム42が図2に示す矢印Eの編集処理において編集する印刷パラメータとの条件が同じ場合、補助プログラム42が実行命令に応じて編集したプレビュー表示用の中間画像データは、印刷時に補助プログラム42が汎用印刷プログラム41からの実行命令に応じて編集した印刷用の中間画像データと同じになる。よって、編集アプリ43は、印刷時に中間画像データを編集する汎用印刷プログラム41と別のプログラムによってプレビュー用の画像を作成する場合と比較して、より正確なプレビュー用の画像をUI20に表示させることができる。
印刷プレビュー画面の一例を図5に示す。例えば、編集アプリ43は、図4のウォータマーク設定画面DA10の設定内容に応じて中間画像データの画像にウォータマークを合成した加工画像データを補助プログラム42から受け取ると、図5に示す印刷プレビュー画面DA20を、UI20を介してPC1に表示させる。印刷プレビュー画面DA20は、プレビュー画像PR20と、印刷実行ボタンA20と、再編集ボタンA22と、印刷キャンセルボタンA24が表示されている。
プレビュー画像PR20は、印刷画像のイメージを表示するものである。プレビュー画像PR20としては、例えば、ウォータマークの表示内容「COPY」を、設定されたフォント、サイズ、文字色等で表示し、更に、「45°」傾けた状態で、画像データに重ねたものが表示される。
印刷実行ボタンA20は、印刷の実行を指示する操作を受け付けるものである。再編集ボタンA22は、ウォータマークを再編集する指示を受け付けるものである。印刷キャンセルボタンA24は、印刷をキャンセルする指示を受け付けるものである。よって、印刷プレビュー画面DA20は、ユーザが印刷画像を直接確認して、意図した画像であるか否かを判断した結果を、受け付けることができる。尚、印刷実行ボタンA20,再編集ボタンA22、印刷キャンセルボタンA24は、印刷プレビュー画面と別のUI20に表示させても良い。この指示を受け付けるUI20は、例えば、印刷プレビュー画面を表示した後に表示される。
図3に戻り、編集アプリ43は、印刷実行ボタンA20が押下され、印刷指示を受け付けると(矢印A)、本加工要求を補助プログラム42に送る(矢印X42)。本加工要求は、印刷のために中間画像データを加工することを要求するものである。本加工要求には、プレビュー表示のために中間画像データを編集する編集処理を実行させる実行命令ではないことを示すフラグ、あるいは、印刷のために中間画像データを編集する編集処理を実行させる実行命令であることを示すフラグが、付されていてもよい。
本加工要求には、少なくとも、固有パラメータを含む印刷パラメータが付加されている。矢印X12~X38の処理が必ず行われるとは限らないので、正確に固有パラメータを編集アプリ43から補助プログラム42に渡すためである。一方、汎用パラメータは、別途、汎用印刷プログラム41から補助プログラム42に送られるため、本加工要求に付加される必要はない。また、編集アプリ43が後述する印刷実行通知(矢印B)よりも前に本加工要求を補助プログラム42に送るのは、汎用印刷プログラム41からの実行命令より先に固有パラメータを補助プログラム42に確実に伝えるためである。
編集アプリ43は、印刷実行ボタンA20が押下され、印刷指示を受け付けた場合、矢印X32の処理にて加工要求に付した印刷パラメータと同じ印刷パラメータを本加工要求に付し、補助プログラム42に渡す。尚、編集アプリ43は、再編集ボタンA22が押下された場合、印刷パラメータを変更する入力を受け付けた後、変更後の印刷パラメータを付した本加工要求を補助プログラム42に渡す。編集アプリ43は、印刷キャンセルボタンA24が押下された場合、矢印A以降の処理を行わない。つまり、編集アプリ43は、補助プログラム42に本加工要求を補助プログラム42に渡さない。
本加工要求を補助プログラム42に渡した編集アプリ43は、印刷実行通知を汎用印刷プログラム41に送信する(矢印B)。印刷実行通知には、矢印X12にて取得した画像データが付加される。また、印刷実行通知には、矢印X14にて取得した印刷パラメータのうち汎用パラメータのみが付加される。
汎用印刷プログラム41は、印刷実行通知を受けるのに応じて、印刷実行通知に付加された画像データと汎用パラメータを用いて、印刷のための中間画像データを生成する(矢印C)。尚、編集アプリ43が、矢印X38の処理によってプレビュー表示を行った後、印刷パラメータの変更を受け付けることなく印刷実行ボタンA20を押下され、印刷指示を受け付けた場合、汎用印刷プログラム41は、矢印Cの処理にて生成された印刷用の中間画像データも、矢印X24の処理にて生成された表示用の中間画像データと同様の形式になる。
汎用印刷プログラム41は、中間画像データを生成した後、補助プログラム42に中間画像データを編集する処理を実行する実行命令を送る(矢印D)。実行命令には、汎用印刷プログラム41が矢印Cの処理にて印刷用に生成した中間画像データであって、表示用の中間画像データと同様の形式である中間画像データが付加される。
補助プログラム42は、中間画像データを編集する処理の実行命令を第2のインタフェースを介して受けると、本加工要求に付加された固有パラメータに基づいて、実行命令に付加された中間画像データを編集する(矢印X44)。編集アプリ43が、矢印X38の処理によってプレビュー表示を行った後、印刷パラメータの変更を受け付けることなく印刷実行ボタンA20を押下され、印刷指示を受け付けた場合、補助プログラム42は、矢印X34の処理と同じ条件で中間画像データを処理するため、ユーザが直接確認した画像を含むように中間画像データを編集する。
尚、例えば、編集アプリ43が、プレビュー表示用の中間画像データを補助プログラム42に生成させる場合、編集アプリ43は、矢印X42の処理において、矢印X14の処理で取得した印刷パラメータによって設定されている品質で印刷パラメータを補助プログラム42に渡す。この場合、補助プログラム42は、矢印X44の処理にて、渡された品質の印刷パラメータに従って中間画像データを生成する。
補助プログラム42は、上述したように、中間画像データの編集が終了したことを示す終了通知を、補助プログラム42が加工した中間画像データと共に受けとると(矢印F)、印刷データを生成し(矢印G)、印刷命令をプリンタ2に出力する(矢印H)。
続いて、本印刷システムの特徴部分の制御手順を、図6に基づいて説明する。本処理は、編集アプリ43が、印刷プレビューボタンA14を押下され、プレビュー表示指示を受け付けたことを契機に(図3に示す矢印X16)、PC1のCPU11にて実行される。
図6に示すように、CPU11は、現在の編集アプリ43の表示内容に対する中間画像データの作成を汎用印刷プログラム41に依頼する(S4)。S4の処理は、加工要求処理の一例である。例えば、図4に示すウォータマーク設定画面DA10に表示される印刷プレビューボタンA14が押下された場合、ウォータマーク設定画面DA10を含む印刷設定画面に設定された印刷パラメータに対する中間画像データの生成を、編集アプリ43から汎用印刷プログラム41に依頼する。汎用印刷プログラム41は、印刷パラメータのうち、認識可能な汎用パラメータに基づいて中間画像データを生成し、編集アプリ43に返す。
編集アプリ43は、汎用印刷プログラム41から中間画像データを受信すると(S6)、第1のインタフェースによって補助プログラム42の編集処理を実行する(S8)。すなわち、編集アプリ43は、補助プログラム42に対して編集処理を実行する加工要求を出力する。編集処理には、編集アプリ43が汎用印刷プログラム41から取得した中間画像データと、編集アプリ43によって取得された印刷パラメータとが用いられる。
編集アプリ43は、補助プログラム42から編集された中間画像データ、つまり、加工済み中間画像データを受信すると(S10)、編集された中間画像データを、UI20を介してPC1に表示させ(S12)、処理を終了する。S12の処理は、プレビュー表示処理の一例である。
以上、詳細に説明したように、本形態の編集アプリ43を実行するPC1は、編集アプリ43から直接、印刷時に画像を加工する補助プログラム42に対して編集処理を実行する実行命令を入力し、補助プログラム42から出力された中間画像データを取得してプレビュー表示する。つまり、編集アプリ43は、印刷指示を受け付けた場合と同じ処理を補助プログラム42に行わせ、プレビュー用の画像を取得し、UI20に表示させる。これにより、ユーザは、印刷指示をPC1に入力する前に、印刷時に生成される画像と同等の加工画像を確認することができ、ユーザの意図しない加工が施された画像の印刷を低減することができる。
上記説明では、編集アプリ43がプレビュー表示を行う場合、汎用印刷プログラム41に中間画像データの生成を依頼し、汎用印刷プログラム41が依頼に従って生成した中間画像データを補助プログラム42によって加工した加工済み中間画像データをUI20に表示させた(図3の矢印X22~X38参照)。これに対して、例えば図7に示すシーケンス図に示すように、編集アプリ43は、汎用印刷プログラム41に印刷データの生成を依頼し(矢印Y22)、編集アプリ43が受け付けた画像データと編集アプリ43が受け付けた汎用パラメータに基づいて汎用印刷プログラム41に印刷データを生成させ(矢印Y24)、その印刷データを汎用印刷プログラム41から受け取るようにしても良い(矢印Y26)。その後、編集アプリ43は、矢印X32以降の処理と同様に、矢印Y32以降の処理を行う。この際、編集アプリ43は、中間画像データに変えて印刷データを用いて加工要求(Y32)を行う。また、実行命令には、矢印Gの処理で生成された印刷データを付加し、終了通知にはY44にて加工された加工済み印刷データが付加される。尚、加工済み印刷データは、加工済み画像データの一例である。
また、上記説明では、編集アプリ43は、印刷プレビュー画面DA20の印刷実行ボタンA20が押下された場合、汎用印刷プログラム41に通常の印刷動作を行わせた。これに対して、例えば図8に示す変形例のように、編集アプリ43は、印刷プレビュー画面DA20の印刷実行ボタンA20が押下され、印刷実行指示を受け付けた場合(矢印A)、印刷実行通知に矢印X36の処理において受けた中間画像データを付加してもよい。このとき、印刷実行指示には、付加した中間画像データが編集済みであることを示すフラグを付ける。汎用印刷プログラム41は、フラグ付きの印刷実行指示を受け付けると、中間画像データの編集を省略し、印刷実行指示に付加された中間画像データに基づいて印刷データを生成し(矢印Gy)、生成した印刷データを含む印刷命令をプリンタ2に送信する(矢印H)。これによれば、汎用印刷プログラム41は、補助プログラム42に中間画像データの編集処理を行わせずにプリンタ2に印刷を行わせることができ、印刷システムの制御をシンプルにすることができる。
更に、図8の処理においても、図3に示す処理と同様、矢印X22~X36の処理で扱う中間画像データを印刷データとしても良い。この場合、編集アプリ43は、矢印Byの処理において、加工済み印刷データを印刷実行通知に付加する。この印刷実行通知を受けた汎用印刷プログラム41は、印刷データを生成せずに、印刷命令をプリンタ2に出力することができる。
なお、本明細書に開示される実施の形態は単なる例示にすぎず、本発明を何ら限定するものではない。したがって本明細書に開示される技術は当然に、その要旨を逸脱しない範囲内で種々の改良、変形が可能である。例えば、PC1に接続される装置は、プリンタに限らず、複合機、複写機、FAX装置、等印刷機能を有する装置であればよい。また、PC1に接続されるプリンタは、図示の例に限らず、1台でも良いし、3台以上でもよい。
例えば、実施の形態では、編集アプリ43が矢印X14の処理により印刷パラメータを直接取得している。これに対して、編集アプリ43が画像データを取得した後(矢印X12)、編集アプリ43から補助プログラム42に印刷パラメータの取得を依頼しても良い。つまり、編集アプリ43は、補助プログラム42に印刷パラメータ編集処理を実行させて印刷パラメータを取得しても良い。
例えば、実施の形態では、編集アプリ43が汎用印刷プログラム41から中間画像データを取得し、その中間画像データを付加した実行命令を補助プログラム42に送信した。これに対して、編集アプリ43は、編集アプリ43等の汎用印刷プログラム41と別のプログラムを用いて中間画像データを生成し、それを実行命令に付加しても良い。但し、実施の形態のように、編集アプリ43が汎用印刷プログラム41によって生成された中間画像データを汎用印刷プログラム41から取得し、実行命令に付加することにより、より正確なプレビュー画像をPC1に表示させることができる。
例えば、補助プログラム42は、汎用印刷プログラム41用の関数と、編集アプリ43用の関数とが別々にあっても良いし、同じ関数で汎用印刷プログラム41用と編集アプリ43用とで引数が異なる構成としても良い。また、汎用印刷プログラム41用のオブジェクト定義クラスと編集アプリ43用のオブジェクト定義クラスとが別々にある構成でもよいし、同じオブジェクト定義クラスで汎用印刷プログラム41と編集アプリ43で入力される引数が異なる構成であっても良い。
例えば、実施の形態では、補助プログラム42が編集アプリ43から中間画像データを受ける第1のインタフェースと、汎用印刷プログラム41から中間画像データを受ける第2のインタフェースとを備えた。これに対して、補助プログラム42は、UI20に表示させるための中間画像データを要求する第1のインタフェースと、プリンタ2に印刷させるための中間画像データを要求する第2のインタフェースを備えていても良い。この場合、補助プログラム42は、編集アプリ43から第1のインタフェースを介して中間画像データを受けた場合、中間画像データを編集して編集アプリ43に提供し、汎用印刷プログラム41から第2のインタフェースを介して中間画像データを受けた場合、加工済み中間画像データを生成して汎用印刷プログラム41に提供し、汎用印刷プログラム41が加工済み中間画像データに基づく画像の印刷をプリンタ2に行わせる処理を行うと良い。
また、印刷パラメータ決定処理を実行するモジュールは、補助プログラム42に限らず、汎用印刷プログラム41を用いた印刷を行う際に、OS21または汎用印刷プログラム41から指示を受け付けるプログラムであればよい。例えば、マイクロソフト社が仕様公開した印刷ワークフロー アプリ(Print workflow)でも良い。
また、実施の形態では、編集アプリ43の動作として、印刷プレビューを表示する動作のみを詳細に記載しているが、編集アプリ43は、さらに他の役割を有していても良い。
実施の形態では、編集アプリ43が矢印X14の処理にて設定画面を介して加工設定を受け付ける際に、設定画面が汎用パラメータと固有パラメータの両方を受け付けることとした。これに対して、固有パラメータだけを他の手段で設定してもよい。例えば、固有パラメータは、補助プログラム42が表示するUI20を介して設定され、補助プログラム42用の記憶領域に記憶されてもよい。この場合、補助プログラム42は、例えば、矢印X34の処理や矢印X44の処理などを行う場合に補助プログラム42用の記憶領域から固有パラメータを読み出し、読み出した固有パラメータに応じて中間画像データや印刷データの加工を行うようにしてもよい。なお、逆に、汎用パラメータだけを他の手段で設定するようにしてもよい。
編集アプリ43が、表示用の中間画像データ又は印刷データを生成する依頼(矢印X22,Y22の処理参照)に汎用パラメータを付加せず、汎用印刷プログラム41が、メモリ12に記憶された汎用パラメータを読み出して中間画像データ又は印刷データを加工するようにしてもよい。
また、実施の形態に開示されている任意のフローチャートにおいて、任意の複数のステップにおける複数の処理は、処理内容に矛盾が生じない範囲で、任意に実行順序を変更できる、または並列に実行できる。
また、実施の形態に開示されている処理は、単一のCPU、複数のCPU、ASICなどのハードウェア、またはそれらの組み合わせで実行されてもよい。また、実施の形態に開示されている処理は、その処理を実行するためのプログラムを記録した記録媒体、または方法等の種々の態様で実現することができる。
1 PC
2 プリンタ
11 CPU
12 メモリ
21 OS
41 汎用印刷プログラム
42 補助プログラム
2 プリンタ
11 CPU
12 メモリ
21 OS
41 汎用印刷プログラム
42 補助プログラム
Claims (11)
- 情報処理装置のコンピュータによって実行可能であり、前記情報処理装置と接続するプリンタに印刷を行わせる印刷指示を出力するアプリケーションプログラムであって、
前記コンピュータに、
画像データを取得する画像データ取得処理と、
前記画像データ取得処理にて取得された画像データによって示される画像の印刷を前記プリンタに行わせる印刷指示があった場合に、前記情報処理装置のオペレーティングシステムにあらかじめ組み込まれた汎用印刷プログラムに対して、前記印刷指示があったことを示す通知を入力する印刷指示入力処理を実行させ、前記情報処理装置には、前記プリンタに対応するサポートプログラムが組み込まれており、前記サポートプログラムは、画像に加工を施す加工機能を有するものであり、前記汎用印刷プログラムは、前記印刷指示があったことを示す前記通知が入力された場合に前記サポートプログラムを動作させ、前記サポートプログラムは、前記画像データ取得処理にて取得された画像データであって、前記汎用印刷プログラムが出力する中間画像データ又は印刷データに対して前記加工機能による加工を施した加工済み画像データを生成し、前記汎用印刷プログラムは、前記サポートプログラムから提供された前記加工済み画像データに基づく画像の印刷を前記プリンタに行わせるための処理を行い、
さらに前記コンピュータに、
前記サポートプログラムの前記加工機能による加工に用いる加工設定を取得する加工設定取得処理と、
前記プリンタによって印刷される画像の表示指示を受け付けた場合に、前記汎用印刷プログラムに、前記画像データ取得処理にて取得された画像データから中間画像データ又は印刷データを生成させ、
前記生成された中間画像データ又は印刷データと前記加工設定取得処理にて取得した前記加工設定に基づく加工を施させる加工要求を、前記サポートプログラムに入力する加工要求処理と、を実行させ、前記サポートプログラムは、前記加工要求が入力された場合に、前記画像データ取得処理にて取得された画像データに対して前記加工機能による加工を施した加工済み画像データを生成し、
さらに前記コンピュータに、
前記加工要求処理での前記加工要求に基づいて前記サポートプログラムにて生成された前記加工済み画像データを前記サポートプログラムから取得し、取得した前記加工済み画像データによって示される画像を前記情報処理装置の表示デバイスに表示させるプレビュー表示処理を実行させる、
ことを特徴とするアプリケーションプログラム。 - 請求項1に記載するアプリケーションプログラムにおいて、
前記加工要求処理では、
前記中間画像データを、前記加工要求と関連付けて前記サポートプログラムに入力する、
ことを特徴とするアプリケーションプログラム。 - 請求項2に記載するアプリケーションプログラムにおいて、
前記加工要求処理では、
前記サポートプログラムの第1のインタフェースを介して前記中間画像データを入力し、
前記サポートプログラムは、
前記アプリケーションプログラムから中間画像データを受けるための前記第1のインタフェースと、前記汎用印刷プログラムから中間画像データを受けるための第2のインタフェースと、を有しており、
前記アプリケーションプログラムから前記第1のインタフェースを介して前記中間画像データを受けた場合、前記第1のインタフェースを介して受けた前記中間画像データによって示される画像に加工を施した加工済み画像データを生成し、生成した前記加工済み画像データを前記アプリケーションプログラムに提供し、
前記汎用印刷プログラムから前記第2のインタフェースを介して前記中間画像データを受けた場合、前記第2のインタフェースを介して受けた前記中間画像データによって示される画像に加工を施した加工済み画像データを生成し、生成した前記加工済み画像データを前記汎用印刷プログラムに提供し、前記汎用印刷プログラムは、前記サポートプログラムから前記加工済み画像データを取得した後、取得した前記加工済み画像データに基づく画像の印刷を前記プリンタに行わせるための処理を行う、
ことを特徴とするアプリケーションプログラム。 - 請求項2に記載するアプリケーションプログラムにおいて、
前記加工要求処理では、
前記サポートプログラムの第1のインタフェースを介して前記中間画像データを入力し、
前記サポートプログラムは、
前記表示デバイスに表示させるための前記中間画像データを前記アプリケーションプログラムに要求する前記第1のインタフェースと、前記プリンタに印刷させるための前記中間画像データを前記汎用印刷プログラムに要求する第2のインタフェースと、を有しており、
前記アプリケーションプログラムから前記第1のインタフェースを介して前記中間画像データを受けた場合、前記第1のインタフェースを介して受けた前記中間画像データによって示される画像に加工を施した加工済み画像データを生成し、生成した前記加工済み画像データを前記アプリケーションプログラムに提供し、
前記汎用印刷プログラムから前記第2のインタフェースを介して前記中間画像データを受けた場合、前記第2のインタフェースを介して受けた前記中間画像データによって示される画像に加工を施した加工済み画像データを生成し、生成した前記加工済み画像データを前記汎用印刷プログラムに提供し、前記汎用印刷プログラムは、前記サポートプログラムから前記加工済み画像データを取得した後、取得した前記加工済み画像データに基づく画像の印刷を前記プリンタに行わせるための処理を行う、
ことを特徴とするアプリケーションプログラム。 - 請求項1から請求項3のいずれか1つに記載するアプリケーションプログラムにおいて、
前記コンピュータに、
前記プレビュー表示処理にて画像を表示させた状態で前記印刷指示を受け付けた場合に、前記画像データ取得処理にて取得した前記画像データに基づく印刷を行う前記印刷指示を前記汎用印刷プログラムに出力する印刷要求処理を実行させ、前記汎用印刷プログラムは、前記印刷指示があった場合に、前記サポートプログラムを動作させ、前記サポートプログラムに前記加工済み画像データを生成させる、
ことを特徴とするアプリケーションプログラム。 - 情報処理装置のコンピュータによって実行可能であり、前記情報処理装置と接続するプリンタに対応するサポートプログラムであって、
前記サポートプログラムは、
画像に加工を施す加工機能を有するものであり、
さらに前記サポートプログラムは、
前記情報処理装置に組み込まれるアプリケーションプログラムから中間画像データを受けるための第1のインタフェースと、前記情報処理装置のオペレーティングシステムにあらかじめ組み込まれた汎用印刷プログラムから中間画像データを受けるための第2のインタフェースと、を有しており、
前記コンピュータに、
前記アプリケーションプログラムから前記第1のインタフェースを介して前記中間画像データを受けた場合、前記第1のインタフェースを介して受けた前記中間画像データに対して前記加工機能による加工を施した加工済み画像データを生成し、生成した前記加工済み画像データを前記アプリケーションプログラムに提供し、
前記汎用印刷プログラムから前記第2のインタフェースを介して前記中間画像データを受けた場合、前記第2のインタフェースを介して受けた前記中間画像データに対して前記加工機能による加工を施した加工済み画像データを生成し、生成した前記加工済み画像データを前記汎用印刷プログラムに提供し、前記汎用印刷プログラムは、前記サポートプログラムから前記加工済み画像データを取得した後、取得した前記加工済み画像データに基づく画像の印刷を前記プリンタに行わせるための処理を行う、
ことを特徴とするサポートプログラム。 - 情報処理装置のコンピュータによって実行可能であり、前記情報処理装置と接続するプリンタに対応するサポートプログラムであって、
前記サポートプログラムは、
画像に加工を施す加工機能を有するものであり、
さらに前記サポートプログラムは、
前記情報処理装置の表示デバイスに表示させるための加工済み画像データを、前記コンピュータによって実行可能であって前記情報処理装置と接続するプリンタに印刷を行わせる印刷指示を出力するアプリケーションプログラムに要求する第1のインタフェースと、前記プリンタに印刷させるための加工済み画像データを、前記情報処理装置のオペレーティングシステムにあらかじめ組み込まれた汎用印刷プログラムに要求する第2のインタフェースと、を有しており、
前記コンピュータに、
前記情報処理装置と接続するプリンタに印刷を行わせる印刷指示を出力するアプリケーションプログラムから前記第1のインタフェースを介して中間画像データを受けた場合、前記第1のインタフェースを介して受けた前記中間画像データに対して前記加工機能による加工を施した前記加工済み画像データを生成し、生成した前記加工済み画像データを前記アプリケーションプログラムに提供し、
前記情報処理装置のオペレーティングシステムにあらかじめ組み込まれた汎用印刷プログラムから前記第2のインタフェースを介して中間画像データを受けた場合、前記第2のインタフェースを介して受けた前記中間画像データに対して前記加工機能による加工を施した前記加工済み画像データを生成し、生成した前記加工済み画像データを前記汎用印刷プログラムに提供し、前記汎用印刷プログラムは、前記サポートプログラムから前記加工済み画像データを取得した後、取得した前記加工済み画像データに基づく画像の印刷を前記プリンタに行わせるための処理を行う、
ことを特徴とするサポートプログラム。 - コンピュータを備える情報処理装置であって、
前記情報処理装置には、前記情報処理装置と接続するプリンタに印刷を行わせる印刷指示を出力するアプリケーションプログラムと、前記プリンタに対応するサポートプログラムと、が組み込まれ、
前記情報処理装置のオペレーティングシステムは、あらかじめ組み込まれたプログラムである汎用印刷プログラムを有しており、
前記コンピュータは、
画像データを取得する画像データ取得処理と、
前記画像データ取得処理にて取得された画像データによって示される画像の印刷を前記プリンタに行わせる印刷指示があった場合に、前記汎用印刷プログラムに対して、前記印刷指示があったことを示す通知を入力する印刷指示入力処理を実行し、前記汎用印刷プログラムは、前記印刷指示があったことを示す前記通知が入力された場合に前記サポートプログラムを動作させ、前記サポートプログラムは、画像に加工を施す加工機能を有しており、
さらに前記コンピュータは、
前記サポートプログラムを動作させることによって、前記画像データ取得処理にて取得された画像データであって、前記汎用印刷プログラムが出力する中間画像データ又は印刷データに対して前記加工機能による加工を施した加工済み画像データを生成する第1生成処理を実行し、前記汎用印刷プログラムは、前記サポートプログラムから提供された前記加工済み画像データに基づく画像の印刷を前記プリンタに行わせるための処理を行い、
さらに前記コンピュータは、
前記サポートプログラムの前記加工機能による加工に用いる加工設定を取得する加工設定取得処理と、
前記プリンタによって印刷される画像の表示指示を受け付けた場合に、前記汎用印刷プログラムに、前記画像データ取得処理にて取得された画像データから中間画像データ又は印刷データを生成させるデータ生成処理と、
前記プリンタによって印刷される画像の表示指示を、前記アプリケーションプログラムを介して受けた場合に、前記画像データ取得処理にて取得された画像データによって示される画像に、前記加工設定取得処理にて取得した前記加工設定に基づく前記加工を施させる加工要求を、前記サポートプログラムに入力する加工要求処理と、
前記サポートプログラムに前記加工要求が入力された場合に、前記サポートプログラムを動作させることによって、前記画像データ取得処理にて取得された画像データに対して前記加工機能による加工を施した加工済み画像データを生成する第2生成処理と、
前記第2生成処理によって生成された前記加工済み画像データを前記サポートプログラムから前記アプリケーションプログラムに受け渡し、前記加工済み画像データによって示される画像を、前記アプリケーションプログラムを介して前記情報処理装置の表示デバイスに表示させるプレビュー表示処理と、
を実行する、
ことを特徴とする情報処理装置。 - 情報処理装置にプリンタが接続され、
前記情報処理装置には、前記プリンタに印刷を行わせる印刷指示を出力するアプリケーションプログラムと、前記プリンタに対応するサポートプログラムと、が組み込まれ、
前記情報処理装置のオペレーティングシステムは、あらかじめ組み込まれたプログラムである汎用印刷プログラムを有しており、
前記情報処理装置で生成された印刷データに基づく印刷を、前記プリンタに実行させる印刷方法において、
画像データを取得する画像データ取得ステップと、
前記画像データ取得ステップにて取得された画像データによって示される画像の印刷を前記プリンタに行わせる印刷指示があった場合に、前記汎用印刷プログラムに対して、前記印刷指示があったことを示す通知を入力する印刷指示入力ステップを含み、前記汎用印刷プログラムは、前記印刷指示があったことを示す前記通知が入力された場合に前記サポートプログラムを動作させ、前記サポートプログラムは、画像に加工を施す加工機能を有しており、
さらに、
前記サポートプログラムを動作させることによって、前記画像データ取得ステップにて取得された画像データであって、前記汎用印刷プログラムが出力する画像データである中間画像データ又は印刷データに対して前記加工機能による加工を施した加工済み画像データを生成する第1生成ステップを含み、前記汎用印刷プログラムは、前記サポートプログラムから提供された前記加工済み画像データに基づく画像の印刷を前記プリンタに行わせるための処理を行い、
さらに、
前記サポートプログラムの前記加工機能による加工に用いる加工設定を取得する加工設定取得ステップと、
前記プリンタによって印刷される画像の表示指示を受け付けた場合に、前記汎用印刷プログラムに、前記画像データ取得ステップにて取得された画像データから中間画像データ又は印刷データを生成させるデータ生成ステップと、
前記プリンタによって印刷される画像の表示指示を、前記アプリケーションプログラムを介して受けた場合に、前記画像データ取得ステップにて取得された画像データによって示される画像に、前記加工設定取得ステップにて取得した前記加工設定に基づく加工を施させる加工要求を、前記サポートプログラムに入力する加工要求ステップと、
前記サポートプログラムに前記加工要求が入力された場合に、前記サポートプログラムを動作させることによって、前記画像データ取得ステップにて取得された画像データに対して前記加工機能による加工を施した加工済み画像データを生成する第2生成ステップと、
前記第2生成ステップによって生成された前記加工済み画像データを前記サポートプログラムから前記アプリケーションプログラムに受け渡し、前記加工済み画像データによって示される画像を、前記アプリケーションプログラムを介して前記情報処理装置の表示デバイスに表示させるプレビュー表示ステップと、
を含む、
ことを特徴とする印刷方法。 - 請求項1に記載するアプリケーションプログラムにおいて、
前記加工要求処理では、
前記印刷データを、前記加工要求と関連付けて前記サポートプログラムに入力する、
ことを特徴とするアプリケーションプログラム。 - 請求項10に記載するアプリケーションプログラムにおいて、
前記加工要求処理では、
前記サポートプログラムの第1のインタフェースを介して前記印刷データを入力し、
前記サポートプログラムは、
前記アプリケーションプログラムから印刷データを受けるための前記第1のインタフェースと、前記汎用印刷プログラムから印刷データを受けるための第2のインタフェースと、を有しており、
前記アプリケーションプログラムから前記第1のインタフェースを介して前記印刷データを受けた場合、前記第1のインタフェースを介して受けた前記印刷データによって示される画像に加工を施した前記加工済み画像データとしての加工済み印刷データを生成し、生成した前記加工済み印刷データを前記アプリケーションプログラムに提供し、
前記汎用印刷プログラムから前記第2のインタフェースを介して前記印刷データを受けた場合、前記第2のインタフェースを介して受けた前記印刷データによって示される画像に加工を施した加工済み印刷データを生成し、生成した前記加工済み印刷データを前記汎用印刷プログラムに提供し、前記汎用印刷プログラムは、前記サポートプログラムから前記加工済み印刷データを取得した後、取得した前記加工済み印刷データに基づく画像の印刷を前記プリンタに行わせるための処理を行う、
ことを特徴とするアプリケーションプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019017443A JP7172672B2 (ja) | 2019-02-01 | 2019-02-01 | アプリケーションプログラム、情報処理装置、および印刷方法 |
US16/747,941 US11231886B2 (en) | 2019-02-01 | 2020-01-21 | Non-transitory computer-readable recording medium, information processing apparatus and printing method |
PCT/JP2020/002921 WO2020158714A1 (ja) | 2019-02-01 | 2020-01-28 | アプリケーションプログラム、情報処理装置、および印刷方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019017443A JP7172672B2 (ja) | 2019-02-01 | 2019-02-01 | アプリケーションプログラム、情報処理装置、および印刷方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020126370A JP2020126370A (ja) | 2020-08-20 |
JP7172672B2 true JP7172672B2 (ja) | 2022-11-16 |
Family
ID=71837442
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019017443A Active JP7172672B2 (ja) | 2019-02-01 | 2019-02-01 | アプリケーションプログラム、情報処理装置、および印刷方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11231886B2 (ja) |
JP (1) | JP7172672B2 (ja) |
WO (1) | WO2020158714A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022114317A (ja) * | 2021-01-26 | 2022-08-05 | ブラザー工業株式会社 | サポートプログラム |
JP2022114316A (ja) * | 2021-01-26 | 2022-08-05 | ブラザー工業株式会社 | サポートプログラム |
JP2022167593A (ja) * | 2021-04-23 | 2022-11-04 | キヤノン株式会社 | 電子機器及びアクセサリとその制御方法、通信システム、プログラム |
JP2023049476A (ja) * | 2021-09-29 | 2023-04-10 | ブラザー工業株式会社 | サポートプログラム |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013058090A (ja) | 2011-09-08 | 2013-03-28 | Canon Inc | 情報処理装置、情報処理方法、及びプログラム |
JP2015041268A (ja) | 2013-08-22 | 2015-03-02 | 株式会社リコー | プログラム、情報処理装置および画像処理システム |
JP2018156636A (ja) | 2017-03-17 | 2018-10-04 | 株式会社リコー | 情報処理装置、情報処理システム、情報処理方法、及びプログラム |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000298564A (ja) * | 1999-04-13 | 2000-10-24 | Ricoh Co Ltd | 文書印刷処理方法 |
MX2007006388A (es) * | 2004-11-30 | 2007-06-20 | Panduit Corp | Sistema y metodo de etiquetado basado en el mercado. |
JP6631278B2 (ja) | 2016-01-29 | 2020-01-15 | ブラザー工業株式会社 | ドライバプログラム、及びドライバプログラムとプリンタとのセット |
US10191697B2 (en) | 2017-03-17 | 2019-01-29 | Ricoh Company Ltd. | Information processing apparatus, information processing system, and information processing method |
-
2019
- 2019-02-01 JP JP2019017443A patent/JP7172672B2/ja active Active
-
2020
- 2020-01-21 US US16/747,941 patent/US11231886B2/en active Active
- 2020-01-28 WO PCT/JP2020/002921 patent/WO2020158714A1/ja active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013058090A (ja) | 2011-09-08 | 2013-03-28 | Canon Inc | 情報処理装置、情報処理方法、及びプログラム |
JP2015041268A (ja) | 2013-08-22 | 2015-03-02 | 株式会社リコー | プログラム、情報処理装置および画像処理システム |
JP2018156636A (ja) | 2017-03-17 | 2018-10-04 | 株式会社リコー | 情報処理装置、情報処理システム、情報処理方法、及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
WO2020158714A1 (ja) | 2020-08-06 |
US20200249882A1 (en) | 2020-08-06 |
JP2020126370A (ja) | 2020-08-20 |
US11231886B2 (en) | 2022-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7172672B2 (ja) | アプリケーションプログラム、情報処理装置、および印刷方法 | |
JP7172800B2 (ja) | サポートプログラム、情報処理装置、および印刷方法 | |
JP7435697B2 (ja) | サポートプログラム、情報処理装置、および印刷方法 | |
WO2020158716A1 (ja) | サポートプログラム、情報処理装置、および印刷方法 | |
JP2023073347A (ja) | サポートプログラム、情報処理装置、および印刷方法 | |
JP5834526B2 (ja) | 印刷制御プログラム、情報処理装置及び印刷装置 | |
JP7293804B2 (ja) | サポートプログラム、情報処理装置、および印刷方法 | |
JP7259373B2 (ja) | サポートプログラム、情報処理装置、および印刷方法 | |
JP7268375B2 (ja) | サポートプログラム、情報処理装置、および印刷方法 | |
JP5042926B2 (ja) | 印刷設定装置,プログラム,および記録媒体 | |
JP2014056424A (ja) | 印刷制御装置、印刷制御方法及び印刷制御システム | |
JP2010045781A (ja) | 情報処理装置、情報処理方法、およびプログラム | |
JP2023147323A (ja) | サポートプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220111 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20221004 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221017 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7172672 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |