JP7456529B2 - サポートプログラム、情報処理装置、および印刷方法 - Google Patents

サポートプログラム、情報処理装置、および印刷方法 Download PDF

Info

Publication number
JP7456529B2
JP7456529B2 JP2023020657A JP2023020657A JP7456529B2 JP 7456529 B2 JP7456529 B2 JP 7456529B2 JP 2023020657 A JP2023020657 A JP 2023020657A JP 2023020657 A JP2023020657 A JP 2023020657A JP 7456529 B2 JP7456529 B2 JP 7456529B2
Authority
JP
Japan
Prior art keywords
printer
program
printer driver
support program
driver
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
Application number
JP2023020657A
Other languages
English (en)
Other versions
JP2023062054A (ja
Inventor
和孝 山田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2023020657A priority Critical patent/JP7456529B2/ja
Publication of JP2023062054A publication Critical patent/JP2023062054A/ja
Application granted granted Critical
Publication of JP7456529B2 publication Critical patent/JP7456529B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1225Software update, e.g. print driver, modules, plug-ins, fonts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1211Improving printing performance
    • G06F3/1212Improving printing performance achieving reduced delay between job submission and print start
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1247Job translation or job parsing, e.g. page banding by conversion to printer ready format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1289Remote printer device, e.g. being remote from client or server in server-client-printer device configuration, e.g. the server does not see the printer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1293Printer information exchange with computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Description

本明細書に開示される技術分野は、プリンタの制御をサポートするサポートプログラム、情報処理装置、および印刷方法に関する。
パーソナルコンピュータ等の情報処理装置からプリンタを制御する技術として、情報処理装置にプリンタドライバをインストールし、プリンタドライバによって印刷データを生成し、その印刷データをプリンタに送信する構成が広く知られている(例えば、特許文献1)。プリンタドライバは、プリンタのメーカから提供され、そのプリンタが有する各種の機能に対応しており、そのプリンタを十分に利用することができる。
特開2017-134718号公報
近年、前述したプリンタドライバを利用せず、オペレーティングシステム(OS)に標準に組み込まれている印刷プログラムによってプリンタを制御する技術が実用化されている。この技術では、OSがプリンタを検知するとOS標準の印刷プログラムとの関連付けを行い、以後、そのプリンタに対する印刷指示を受け付けた場合に、プリンタドライバを用いずに、OS標準の印刷プログラムによる印刷が可能になる。
しかしながら、OS標準の印刷プログラムによる印刷では、プリンタが有する機能を全て利用できるとは限らない。そのため、印刷速度や印刷品質がプリンタドライバを用いて印刷する場合と比較して低下し、ユーザに不便を強いる可能性がある。
本明細書は、OS標準の印刷プログラムが組み込まれた情報処理装置において、プリンタの利便性を向上させる技術を開示する。
上述した課題の解決を目的としてなされたサポートプログラムは、情報処理装置のコンピュータによって実行可能であり、前記情報処理装置と接続するプリンタに対応するサポートプログラムであって、前記コンピュータに、前記情報処理装置のオペレーティングシステムにあらかじめ組み込まれた印刷プログラムを介して前記プリンタに印刷を行わせる印刷指示があった場合に、前記情報処理装置のメモリに記憶されているプリンタ情報を取得する取得処理と、前記プリンタに対応するプリンタドライバを特定するドライバ特定情報が前記取得処理によって取得した前記プリンタ情報に含まれている場合であって、前記プリンタ情報の前記ドライバ特定情報によって特定されるプリンタドライバが前記オペレーティングシステムにインストールされていない場合に、前記プリンタドライバの前記オペレーティングシステムへのインストールに関する動作を前記情報処理装置に行わせるインストール処理と、を実行させる、ことを特徴としている。
本明細書に開示されるサポートプログラムは、OS標準の印刷プログラムによる印刷の印刷指示があった場合に、プリンタに対応するプリンタドライバがOSにインストールされていない場合には、情報処理装置にインストールに関する動作を行わせる。従って、次回の印刷からはプリンタドライバを利用することが可能になる可能性が高く、プリンタの利便性が向上する。
上記プログラムが組み込まれた情報処理装置、プログラムを格納するコンピュータにて読取可能な記憶媒体、及びプログラムの機能を実現するための制御方法も、新規で有用である。
本明細書に開示される技術によれば、OS標準の印刷プログラムが組み込まれた情報処理装置において、プリンタの利便性を向上させる技術が実現される。
印刷システムの電気的構成を示すブロック図である。 各プログラムによる処理の順序を示す説明図である。 各プログラムによる動作の例を示すシーケンス図である。 印刷処理の手順を示すフローチャートである。 前処理手順を示すフローチャートである。 後処理の手順を示すフローチャートである。
以下、実施の形態のプログラムを利用する印刷システムについて、添付図面を参照しつつ詳細に説明する。本形態は、パーソナルコンピュータ(以下、「PC」とする)とプリンタとを含む印刷システムを具体化した実施の形態を開示するものである。
本形態のプログラムが実行される印刷システムの構成の例を、図1に示す。図1に示すシステムには、PC1と、プリンタ2と、が含まれる。PC1は、情報処理装置の一例である。プリンタ2は、印刷機能を有する装置であり、ローカル通信またはネットワーク通信を介して、PC1と通信可能である。
PC1は、例えば、図1に示すように、コントローラ10と、ユーザインタフェース(以下、「UI」とする)20と、通信インタフェース(以下、「通信IF」とする)30と、を備えている。UI20及び通信IF30は、コントローラ10に電気的に接続されている。
UI20は、各種の表示を行い、ユーザの指示入力を受け付けるハードウェアを含む。
UI20は、表示機能と入力受付機能との両方の機能を有するタッチパネルであっても良いし、表示機能を有するディスプレイと入力受付機能を有するキーボードやマウス等との組合せであっても良い。
通信IF30は、プリンタ2との通信を行うためのハードウェアや、インターネット100へのアクセスを行うためのハードウェアを含む。通信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には、図示したもの以外にも、接続されているデバイスの情報を含む各種のデータや、ブラウザ等の各種のプログラムが記憶されている。
なお、以下の処理およびフローチャートの各処理ステップは、基本的に、補助プログラム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であるかを判断する」のように概念的に記載することがある。
汎用印刷プログラム41は、PC1からプリンタ2等の各種のプリンタで印刷を実行させるためのアプリであり、OS21にあらかじめ組み込まれているOS標準の印刷プログラムである。本形態の汎用印刷プログラム41は、印刷対象の画像データに基づいて、プリンタが対応可能な印刷データを生成するプログラムである。汎用印刷プログラム41は、印刷プログラムの一例である。
汎用印刷プログラム41は、各デバイスのベンダによって提供される複数種類のモデルのプリンタに適用可能な汎用のアプリであり、各モデルに共通する動作を各プリンタに行わせるプログラムである。あるいは、汎用印刷プログラム41は、OS21にあらかじめ組み込むために、各デバイスのベンダによってOS21のベンダに提供されるプログラム、例えば、OS21にあらかじめ組み込むために提供されるプリンタドライバの一種であっても良い。
一方、OS21に組み込むための汎用印刷プログラム41をOS21のベンダに提供した後に各デバイスのベンダが開発したプログラムは、インストールするという形でPC1に追加することができる。以下では、OS21にあらかじめ組み込まれたプログラムではなく、インストールによって追加できるプリンタドライバを、単に「プリンタドライバ」とする、あるいは、「ベンダドライバ」とする。つまり、プリンタドライバは、OS21にあらかじめ組み込まれているプログラムではなく、使用するためには所定の手順によってOS21にインストールする必要があるプログラムである。例えば、UI20を介して指示されたインストーラ、あるいは、OS21が、プリンタドライバをOS21にインストールする。プリンタドライバは、プリンタの各モデルに個別に対応してプリンタのベンダによって用意されるプログラムであり、対応するモデルに固有の機能の指示を受け付けることもできるプログラムであってもよい。
なお、プリンタドライバ、すなわちベンダドライバは、OS21にあらかじめ組み込まれた汎用印刷プログラム41よりも高性能である場合がある。高性能である、とは、例えば、汎用印刷プログラム41にて生成された印刷データよりも、プリンタドライバにて生成された印刷データの方が、プリンタにおいて効率よく処理でき、印刷速度が速くなっても良い。また、より少ないメモリで、プリンタが印刷データを処理できても良い。また、プリンタドライバにて生成された印刷データの方が、より発色の良い印刷物をプリンタに印刷させることができても良い。また、プリンタドライバにて生成された印刷データの方が、より高解像度の印刷物をプリンタに印刷させることができても良い。また、汎用印刷プログラム41ではプリンタに指示することができない、プリンタドライバ固有の機能をプリンタドライバがプリンタに指示できても良い。固有の機能とは、例えば、ミラー印刷機能、ネガポジ反転印刷機能、である。
補助プログラム42は、汎用印刷プログラム41の起動に付随してOS21からの指示に基づいて処理を実行するプログラムであり、対象のハードウェアの制御をサポートするアプリである。補助プログラム42は、例えば、OS21から起動される。補助プログラム42は、プリンタ2等の各モデルに対応するアプリである。補助プログラム42は、プリンタ2等のデバイスのベンダによって用意される。デバイスのベンダは、OS21のベンダが指定する手順に従って、補助プログラム42をOS21のベンダが提供するプラットフォームに登録する。OS21は、PC1に新たにプリンタ2が接続され、そのプリンタ2に対応する補助プログラム42がプラットフォームに登録されている場合には、当該補助プログラム42を補助プログラム42が格納されているサーバからダウンロードしてPC1に組み込む。
そして、OS21は、組み込んだ補助プログラム42の識別情報を新たに接続されたプリンタ2のプリンタ情報に対応付けて、メモリ12に記憶させる。複数のモデルのプリンタが接続されているPC1では、各モデルに対応するそれぞれの補助プログラムが組み込まれ、各プリンタと各補助プログラムとを対応付ける情報がメモリ12に記憶される。つまり、メモリ12には、PC1に接続されている各プリンタのプリンタ情報として、当該プリンタのモデル情報やアクセス情報とともに、対応する補助プログラム42の情報が記憶される。
編集アプリ43は、例えば、画像データや文書データの作成や編集を行うためのアプリである。編集アプリ43は、例えば、マイクロソフト ワード(登録商標)、パワーポイント(登録商標)である。編集アプリ43は、プリンタ2に所定の動作を行わせる指示を含むユーザ操作を受け付ける。具体的には、編集アプリ43は、UI20を介して、例えば、プリンタ2に印刷を実行させる印刷指示を受け付ける。
次に、各プログラムによる処理の順序について、図2を参照して説明する。以下では、PC1がUI20を介して、例えば、編集アプリ43にて、印刷対象の画像データを指定する指示と、汎用印刷プログラム41を介してのプリンタ2での印刷実行の指示と、を受け付けた場合について説明する。
印刷指示を受け付けた編集アプリ43は、受け付けた印刷指示に基づいて、印刷実行通知をOS21に渡す。印刷実行通知には、例えば、印刷指示にて指定されたプリンタを示す情報、印刷設定、印刷指示にて指定された画像データを示す情報が含まれる。次に、OS21は、印刷指示にて指定されたプリンタであるプリンタ2に対応する補助プログラム42がメモリ12に記憶されていれば、汎用印刷プログラム41による印刷データの生成を開始する前に、補助プログラム42による処理の実行を補助プログラム42に指示する。
補助プログラム42には、汎用印刷プログラム41による処理の開始前に実行される前処理と、汎用印刷プログラム41による処理の終了後であってプリンタ2に印刷データを送信する前に実行される後処理と、が含まれる。以下では、補助プログラム42の処理のうち、汎用印刷プログラム41による処理の開始前に実行される処理を、「前処理補助プログラム」421による処理として説明し、汎用印刷プログラム41による処理の終了後に実行される処理を、「後処理補助プログラム」422による処理として説明する。
本形態のPC1では、印刷指示を受け付けたことに応じて、汎用印刷プログラム41による印刷データの生成が開始される前に、前処理補助プログラム421の処理が実行される。前処理補助プログラム421は、印刷指示に含まれる各種の情報、例えば、印刷設定やプリンタを示す情報を、OS21から取得できる。前処理補助プログラム421は、取得した情報と自身のプログラムとに基づいて前処理を実行し、処理の終了後に終了通知をOS21に返す。前処理補助プログラム421による前処理の詳細については後述する。
前処理補助プログラム421から終了通知を受け取ると、OS21は、汎用印刷プログラム41による処理を実行する。汎用印刷プログラム41は、印刷指示に基づいて、画像データから印刷データを生成する。
印刷データの生成が完了したら、OS21は、生成した印刷データをプリンタ2に送信する前に、後処理補助プログラム422による処理を実行する。後処理補助プログラム422は、印刷設定やプリンタの情報に加え、生成が終了している印刷データもOS21から取得できる。後処理補助プログラム422は、取得した情報と自身のプログラムとに基づいて後処理を実行し、処理の終了後に終了通知をOS21に返す。後処理補助プログラム422による後処理の詳細については後述する。
OS21は、後処理補助プログラム422から終了通知を受け取ると、通信IF30を介して、印刷設定と印刷データをプリンタ2に送信する。なお、印刷設定は、編集アプリ43における設定から、前処理補助プログラム421や後処理補助プログラム422にて変更されている場合もある。プリンタ2は、受信した印刷設定と印刷データとに基づいて、印刷を実行する。
次に、本形態の補助プログラム42の動作を含む印刷手順の概略について図3のシーケンス図を参照して説明する。まず、編集アプリ43は、UI20を介して、印刷対象の画像データの指定と、印刷実行の指示入力を受け付ける(矢印A)。そして、編集アプリ43は、受け付けた指示の内容を示す印刷実行通知をOS21に渡す(矢印B)。
OS21は、編集アプリ43から出力される印刷実行通知を検知すると、印刷実行通知に含まれる情報に基づいて、印刷を実行させる装置として指定されているプリンタを特定する。例えば、汎用印刷プログラム41を用いてプリンタ2にて印刷させることが指定されている場合、当該プリンタ2に対応する補助プログラム42が組み込まれていれば、OS21は、補助プログラム42の処理の実行命令を出力する。OS21が印刷実行通知を検知したことを契機に補助プログラム42への実行命令が出力されることから、OS21による実行命令の出力は、印刷指示を検知したことを通知する検知通知の一例である。
補助プログラム42は、自身に対応する実行命令が出力された場合、前処理補助プログラム421または後処理補助プログラム422の処理を実行する。ここでは、OS21は、汎用印刷プログラム41による印刷データの生成開始前に補助プログラム42に実行命令を出力し、前処理補助プログラム421の処理を開始させる(矢印C)。
本形態の前処理補助プログラム421は、印刷指示にて指定されたプリンタ2のモデル情報をOS21から取得し、プリンタドライバの使用が推奨される特定のモデルであるか否かを判断する(矢印D)。特定のモデルであると判断した場合、前処理補助プログラム421は、プリンタ2のモデル情報に対応するプリンタドライバがPC1にインストールされているか否かを判断する(矢印E)。前処理補助プログラム421は、例えば、OS21に現在組み込まれているプリンタドライバの情報をOS21から取得し、プリンタ2に対応するプリンタドライバの有無を判断する。
本形態の前処理補助プログラム421は、プリンタ2に対応するプリンタドライバ44が、既にOS21にインストールされていると判断した場合、プリンタドライバ44を使用する印刷方法を、デフォルトの印刷方法とするための処理を行う(矢印F)。
OS21にプリンタドライバ44がインストール済みであれば、例えば、編集アプリ43にて印刷させる装置を選択する際に、プリンタドライバ44を使用してプリンタ2にて印刷させる印刷方法と、汎用印刷プログラム41を使用してプリンタ2にて印刷させる印刷方法と、が選択可能である。プリンタドライバ44を使用すれば、プリンタ2に、高性能なプリンタドライバ44を使用した印刷を実行させることができる。前処理補助プログラム421がプリンタドライバ44を使用してプリンタ2にて印刷させる印刷方法をデフォルトの印刷方法とすることで、次回の印刷からは、この経路が選択される可能性が高まる。
一方、本形態の前処理補助プログラム421は、プリンタ2に対応するプリンタドライバ44がインストールされていないと判断した場合、PC1に当該プリンタドライバ44のインストールに関する動作として、プリンタドライバ44のインストーラをダウンロードする(矢印G)。
プリンタドライバは、例えば、PC1がインストーラをダウンロードし、ダウンロードしたインストーラを実行することで、PC1のOS21にインストールできる。プリンタドライバ44のインストーラは、例えば、図1に示したように、インターネット100を介してPC1と通信可能な装置であるサーバ3に格納されている。前処理補助プログラム421は、例えば、ネットワーク上でのプリンタドライバ44のインストーラの格納されている場所を示す情報を取得して、インターネット100を介してサーバ3と通信することで、当該インストーラをダウンロードできる。これにより、PC1は、プリンタ2に対応するプリンタドライバ44をインストール可能である。
PC1のメモリ12には、プリンタ2の情報であるプリンタ情報として、プリンタ2のモデル情報が記憶されている。モデル情報は、対応するプリンタドライバ44を特定する情報であり、ドライバ特定情報の一例である。
そして、例えば、前処理補助プログラム421には、モデルごとのプリンタドライバ44の格納場所の情報が記憶されている。プリンタドライバ44が、例えば、インターネット100を介してアクセス可能なサーバ3に格納されている場合、前処理補助プログラム421には、プリンタドライバ44の格納場所の情報として、プリンタドライバ44のインストーラが格納されている格納場所を示すURLが含まれる。前処理補助プログラム421は、インストーラの格納場所を示すURLを読み出して、インストーラをダウンロードする。
矢印Fまたは矢印Gの後、前処理補助プログラム421は、処理終了をOS21に通知する(矢印H)。なお、OS21は、プリンタドライバ44のインストーラのダウンロードが終了したら、インストーラによるインストール処理の実行を開始させるとよい。これにより、プリンタドライバ44がOS21にインストールされる可能性が高まる。
OS21は、前処理補助プログラム421から終了通知を受け取ったことに応じて、汎用印刷プログラム41を使用して印刷データを生成する(矢印I)。汎用印刷プログラム41によって生成される印刷データは、汎用の印刷データであり、各種のプリンタ2にて印刷に使用できる印刷データである。
汎用印刷プログラム41による印刷データの生成の終了後、OS21は、再度、補助プログラム42の処理の実行命令を出力する。これにより、補助プログラム42は、後処理補助プログラム422の処理を開始する(矢印J)。後処理補助プログラム422は、生成済みの印刷データをOS21から取得し、印刷データのサイズに基づいて、プリンタドライバ44のインストールが必要か否かを判断する(矢印K)。なお、前処理補助プログラム421にてプリンタドライバ44のインストーラのダウンロードを実行した場合には、後処理補助プログラム422は、何もしなくても良い。
後処理補助プログラム422は、例えば、印刷データのサイズが所定のサイズよりも大きい場合、インストールが必要であると判断する。インストールが必要と判断した場合、後処理補助プログラム422は、前処理補助プログラム421と同様の処理を実行する(範囲L)。
そして、後処理補助プログラム422は、処理終了をOS21に通知する(矢印M)。
OS21は、後処理補助プログラム422から終了通知を受け取ったことに応じて、印刷データをプリンタ2に送信し(矢印N)、プリンタ2は印刷を実行する(矢印O)。
続いて、上述した本形態の印刷システムによる動作を実現する印刷処理の手順について、図4のフローチャートを参照して説明する。印刷処理は、編集アプリ43にて、汎用印刷プログラム41を使用してプリンタ2に印刷を実行させる指示である印刷指示の入力を受け付け(図3の矢印A)、OS21が編集アプリ43から印刷実行通知を受け付けたこと(図3の矢印B)を契機に、OS21に従って、PC1のCPU11にて実行される。
印刷処理では、OS21は、まず、メモリ12に補助プログラム42が組み込まれているか否かを判断する(S101)。補助プログラム42は、前述したように、各プリンタに対応するものがデバイスのベンダによって用意され、OS21がプリンタを検出した場合にOS21によってPC1に組み込まれる。プリンタ2に対応する補助プログラム42が用意されていない場合など、補助プログラム42がPC1に組み込まれていないと判断した場合(S101:NO)、OS21は、OS21に含まれる汎用印刷プログラム41を用いて、印刷データを生成する(S102)。
OS21は、S102にて生成された印刷データをプリンタ2に送信し(S103)、印刷処理を終了する。プリンタ2は、PC1から受信した印刷データに従った印刷を実行する。なお、PC1は、印刷データの送信に失敗した場合には、所定のエラー処理を実行するとよい。
PC1に補助プログラム42が組み込まれていない場合には、汎用印刷プログラム41によって印刷データが生成されるので、ユーザは、プリンタ2のセットアップを意識することなく、各種のプリンタ2を同じ使い勝手で使用できる。ただし、汎用印刷プログラム41を用いた印刷では、高性能なプリンタドライバによる印刷よりも、印刷に長時間を要する、または、印刷物の品質が下がる可能性がある。
補助プログラム42がPC1に組み込まれていると判断した場合(S101:YES)、OS21は、プリンタ2に対応する補助プログラム42に実行命令を出力し、前処理補助プログラム421の処理を開始させる(S105、図3の矢印C)。これにより、CPU11は、前処理補助プログラム421に従って前処理を実行する。具体的には、例えば、OS21が前処理補助プログラム421を示す情報を補助プログラム42に入力しても良い。あるいは、OS21が前処理補助プログラム421を示す情報をメモリ12に記憶させてから補助プログラム42に実行命令を出力し、補助プログラム42がその情報を読み出しても良い。あるいは、OS21が、前処理補助プログラム421の処理を指定した実行命令を出力しても良い。
前処理の手順について、図5のフローチャートを参照して説明する。前処理では、補助プログラム42は、印刷指示にて指定された印刷設定に基づいて、印刷を実行させる装置として指定されているプリンタ2のプリンタ情報を取得する(S201)。S201は、取得処理の一例である。前処理補助プログラム421は、自身に対応付けられているプリンタ2のプリンタ情報や、印刷指示にて設定されている各種の情報を、OS21から取得できる。具体的に、補助プログラム42は、OS21に問い合わせるか、OS21が情報を記憶している記憶場所を参照して、プリンタ2のモデル情報やアクセス情報を取得する。
補助プログラム42は、S201にて取得したプリンタ2のモデル情報に基づいて、プリンタ2のモデルが、高性能なプリンタドライバ44を使用した印刷を推奨される、特定のモデルであるか否かを判断する(S202、図3の矢印D)。前処理補助プログラム421には、例えば、プリンタドライバを用いた印刷を推奨するモデルのモデル情報が記憶されている。S202では、補助プログラム42は、S201にて取得したモデル情報と、前処理補助プログラム421に記憶される情報と、に基づいて、S202の判断を行う。
例えば、高性能なプリンタドライバ44が開発されているモデルが、プリンタドライバ44を用いた印刷を推奨されるモデルであっても良い。例えば、プリンタドライバ44を用いることで、汎用印刷プログラム41を用いるよりも、高品質な印刷物を作成できるモデルや高速での印刷が可能なモデルが、プリンタドライバ44を用いた印刷を推奨されるモデルの一例である。
また、汎用印刷プログラム41にて生成された印刷データよりも、プリンタドライバ44にて生成された印刷データの方が、例えば、メモリ容量が小さい、CPUの処理速度が速くない、画処理モジュールの機能が少ない、モデルである低価格少機能モデルでの処理に適切である可能性がある。補助プログラム42は、例えば、プリンタ2のモデルが低価格少機能モデルである場合には、プリンタドライバ44を使用した印刷が推奨されていると判断する。低価格少機能モデルは、第1のモデルの一例であり、メモリ容量が大きい、CPUの処理速度が速い、画処理モジュールの機能が多い、モデルである高級多機能モデルは、第2のモデルの一例である。
そして、高性能なプリンタドライバ44を使用した印刷を推奨されるモデルであると判断した場合(S202:YES)、補助プログラム42は、プリンタドライバ44がインストール済みであるか否かを、OS21から得られるプリンタドライバの情報に基づいて判断する(S203、図3の矢印E)。
プリンタドライバ44がインストール済みではないと判断した場合(S203:NO)、補助プログラム42は、プリンタドライバ44をインストールするための動作を行う。
具体的には、補助プログラム42は、まず、プリンタドライバ44のインストールに関する通知を行う(S204)。例えば、補助プログラム42は、UI20に、プリンタドライバ44の使用を推奨するメッセージを表示させる。
次に、補助プログラム42は、プリンタドライバ44のインストーラが格納されている記憶場所を示す情報を取得する(S205)。前述したように、プリンタドライバ44のインストーラは、例えば、インターネット100を介して通信可能なサーバ3に用意されている。S205では、前処理補助プログラム421にインストーラの格納場所を示すサーバ3のURLを示す情報が含まれていれば、補助プログラム42は、前処理補助プログラム421に含まれているURL情報を読み出す。
補助プログラム42は、S205で読み出したURL情報に基づいて、インターネット100を介してサーバ3にアクセスし(S206)、プリンタドライバ44のインストーラを、ダウンロードすることで取得する(S207、図3の矢印G)。S206でプリンタドライバ44のインストーラが検索できたら、補助プログラム42は、UI20に、プリンタドライバ44のインストーラをダウンロードすることを示すメッセージを表示させてもよい。また、補助プログラム42は、ダウンロードやインストールを実行するか否かを問い合わせるメッセージをUI20に表示させて、ユーザの諾否を得ても良い。
なお、プリンタドライバ44は、ローカルサーバ、あるいはプリンタ2自身のメモリに記憶されている場合もある。補助プログラム42は、S205にて記憶場所の情報が取得できなかった場合、記憶場所の入力を受け付ける画面をUI20に表示させ、ユーザの入力を受け付けても良い。この場合、補助プログラム42は、入力された情報を参照して、記憶場所からインストーラを取得する。
さらに、補助プログラム42は、取得したインストーラに実行を指示することで、インストーラによるプリンタドライバ44のインストールを開始する(S208)。具体的には、補助プログラム42は、ダウンロードしたインストーラの格納場所であるフォルダのパスを示す情報をOS21に渡し、OS21にインストールの実行を指示する。S204とS207とS208との少なくとも一つが、インストール処理の一例である。なお、インストール処理としては、例えば、S204のみでも良い。つまり、前処理では、インストールを推奨するメッセージを表示するだけで、インストールの動作は行わなくても良い。
また、前処理補助プログラム421は、プリンタドライバ44がインストールされていると判断した場合であっても、プリンタドライバ44が最新バージョンではない場合には、プリンタドライバ44のアップデートを行っても良い。例えば、S203にてYESと判断された場合、前処理補助プログラム421は、そのプリンタドライバ44のバージョン情報を取得し、最新バージョンであるか否かを判断しても良い。そして、最新バージョンではないと判断した場合、前処理補助プログラム421は、プリンタドライバ44のアップデートデータを取得して、アップデートを実行してもよい。その場合、前処理補助プログラム421は、例えば、OS21のベンダが提供するアップデートサーバのURLを含み、そのURLによって参照される格納場所からアップデートデータを取得する。
一方、プリンタドライバ44がインストール済みであると判断した場合(S203:YES)、補助プログラム42は、プリンタドライバ44を使用してプリンタ2に印刷させる経路をデフォルトのプリンタとして指定する(S209、図3の矢印F)。S209は、切換処理の一例である。S209では、前処理補助プログラム421は、例えば、OS21にプリンタ2をデフォルトで使用するプリンタとして登録し、さらに、プリンタ2の印刷に用いるプログラムとしてプリンタドライバ44を指定して登録する。
なお、補助プログラム42は、デフォルトのプリンタとして指定する処理の代わりに、プリンタドライバ44を使用した印刷をユーザに示唆する処理を行っても良い。例えば、UI20に、プリンタドライバ44を使用した印刷を実行可能であることを示すメッセージ、または、プリンタドライバ44を使用した印刷を推奨するメッセージを表示させてもよい。また、S208にてインストールを開始した後にも、補助プログラム42は、UI20に、プリンタドライバ44を使用してプリンタ2に印刷させる経路をデフォルトのプリンタとして指定することを推奨するメッセージを表示させても良い。メッセージには、プリンタドライバ44によるプリンタ2での印刷を、デフォルトのプリンタとして設定するための設定方法をも含めて表示しても良い。
プリンタドライバ44が既にインストール済みである場合や、今回インストールを行った場合であっても、今回の印刷指示に関する印刷データの生成は、後述するように汎用印刷プログラム41で行われ、インストールしたプリンタドライバ44が使用されるわけではない。メッセージは、次回以降の印刷において、プリンタドライバ44を用いた印刷を行う設定とすることで、プリンタに高性能な印刷を行わせることができることを、ユーザに報知するためのものである。
S208の後、または、S209の後、または、プリンタドライバ44を使用した印刷を推奨されるモデルではないと判断した場合(S202:NO)、補助プログラム42は、前処理の終了を通知し(S210、図3の矢印H)、前処理を終了する。終了通知は、前処理補助プログラム421からOS21に渡される。
図4の印刷処理の説明に戻り、OS21は、前処理補助プログラム421から終了通知を受け取ったか否かを判断する(S107)。前処理が終了すると、OS21は、前処理補助プログラム421から終了通知を受け取る。終了通知を受け取っていないと判断した場合(S107:NO)、OS21は、受け取るまで待機する。
終了通知を受け取ったと判断した場合(S107:YES)、OS21は、OS21に含まれる汎用印刷プログラム41を用いて、印刷データを生成する(S108、図3の矢印I)。S108は、S102と同様の処理である。そして、印刷データの生成後、生成した印刷データをプリンタ2に送信する前に、OS21は、プリンタ2に対応する補助プログラム42に実行命令を出力し、後処理補助プログラム422の処理を開始させる(S109、図3の矢印J)。これにより、CPU11は、後処理補助プログラム422に従って後処理を実行する。
なお、前処理にて、プリンタドライバ44のインストーラのダウンロードを開始した場合には、後処理をスキップする、あるいは、後処理では何もせずに終了通知を出力する、としても良い。
後処理の手順について、図6のフローチャートを参照して説明する。後処理では、補助プログラム42は、汎用印刷プログラム41にて生成された印刷データをOS21から取得する(S301)。これにより、補助プログラム42は、印刷データのデータサイズを取得できる。S301は、印刷データ取得処理の一例である。そして、補助プログラム42は、取得した印刷データのデータサイズが所定の閾値より大きいか否かを判断する(S302、図3の矢印K)。
印刷データのデータサイズが所定の閾値より大きいと判断した場合(S302:YES)、補助プログラム42は、前処理と同様のインストールに関する動作を実行する。具体的には、補助プログラム42は、プリンタドライバ44がインストール済みであるか否かを判断し(S303)、プリンタドライバ44がインストール済みではないと判断した場合(S303:NO)、プリンタドライバ44のインストーラをダウンロードし、インストールを実行する(S304~S308)。
さらに、S308の後、または、プリンタドライバ44が既に有ると判断した場合(S303:YES)、補助プログラム42は、プリンタドライバ44を使用してプリンタ2に印刷させる経路をデフォルトのプリンタとして指定する(S309)。S303~S309は、図3の範囲Lに対応し、前処理のS203~S209と同様の処理である。
S308の後、または、S309の後、または、印刷データのデータサイズが所定の閾値より大きくないと判断した場合(S302:NO)、補助プログラム42は、後処理の終了を通知し(S310、図3の矢印M)、後処理を終了する。終了通知は、後処理補助プログラム422からOS21に渡される。
前処理補助プログラム421は、印刷指示にて指定された印刷設定は参照できるが、印刷データはまだ生成されていないため、印刷データに関する情報、例えば、データサイズ、コマンド数、コマンドの種類などは取得できない。一方、後処理補助プログラム422は、印刷データの生成終了後に起動されることから、印刷データに関する情報や、印刷データそのものを参照できる。そのため、前処理補助プログラム421ではS202にてプリンタドライバ44が不要と判断された場合であっても、後処理補助プログラム422ではS302にてプリンタドライバ44が必要と判断される場合もある。
なお、後処理では、印刷データのデータサイズが大きい場合に、プリンタドライバ44のインストールが必要であると判断している。この場合、プリンタドライバ44に複数の種類があれば、特に、印刷データのデータサイズが小さくなる傾向のあるプリンタドライバ44を選択してインストールしても良い。また、後処理では、複数回の印刷データのデータサイズの平均値、データサイズが閾値を超えた頻度、等に基づいて、プリンタドライバ44をインストールするか否かの判断を行っても良い。
また、後処理補助プログラム422は、印刷データのコマンド数に基づいて、プリンタドライバ44のインストールが必要であるか否かの判断を行っても良い。後処理補助プログラム422は、例えば、S302にて、生成された印刷データに含まれるコマンド数が所定の閾値数を超えているか否かを判断し、コマンド数が多いと判断した場合には、プリンタドライバ44をインストールするとしても良い。また、後処理補助プログラム422は、コマンドの種類や印刷データのページ数、印刷指示に含まれる印刷設定の内容、などに基づいて、プリンタドライバ44のインストールが必要であるか否かの判断を行っても良い。
印刷データのデータサイズが大きい場合、あるいは、印刷データのコマンド数が多い場合、適切な印刷データが生成されていない可能性がある。プリンタドライバ44を使用して印刷することで、最適な変換が行われ、より小さいサイズ、あるいは、コマンド数の少ない印刷データが生成される可能性がある。データサイズが小さい、あるいは、コマンド数が少ない印刷データが生成されれば、プリンタ2での処理量が少なく、より早期に印刷物が得られる可能性が高まる。印刷データのデータサイズが所定の閾値より大きいこと、印刷データに含まれるコマンド数が所定の閾値数を超えていること、は、それぞれプリンタドライバ44の使用条件の一例である。
図4の印刷処理の説明に戻り、OS21は、後処理補助プログラム422から終了通知を受け取ったか否かを判断する(S111)。後処理が終了すると、OS21は、後処理補助プログラム422から終了通知を受け取る。終了通知を受け取っていないと判断した場合(S111:NO)、OS21は、受け取るまで待機する。
終了通知を受け取ったと判断した場合(S111:YES)、OS21は、印刷データをプリンタ2に送信し(S103、図3の矢印N)、印刷処理を終了する。プリンタ2は、PC1から受信した印刷データに従った印刷を実行する。
以上、詳細に説明したように、本形態の補助プログラム42によれば、OS21に標準の汎用印刷プログラム41を介する印刷指示があった場合に、その印刷指示の対象となったプリンタ2に対応する高性能なプリンタドライバ44がOS21にインストールされていなければ、プリンタドライバ44のOS21へのインストールに関する動作によってインストールを促す。この構成により、次回の印刷からはプリンタドライバ44を利用することが可能になり、プリンタ2の利便性が向上する。
さらに、本形態の補助プログラム42によれば、インストールに関する動作として、インストールをユーザに通知することで、プリンタドライバ44のインストールをユーザが認知できる。あるいは、インストーラのダウンロードや、インストールの実行を開始することで、プリンタドライバ44のインストールが可能になる。
また、プリンタのモデルによっては、プリンタドライバを利用する必要がないもの(プリンタドライバを使用しても性能が上がらないものや、プリンタドライバのインストーラがダウンロードできないもの)もありえる。そのため、モデルによってプリンタドライバのOS21へのインストールの可否を決定することで、処理の無駄を省くことができる。
また、プリンタドライバ44がOS21にインストールされているにも関わらずOS標準の印刷プログラムである汎用印刷プログラム41を指定している場合に、プリンタドライバ44への切り換えに関する動作によって通常使うプリンタの切り換えを促すことで、次回の印刷からはプリンタドライバを利用する可能性が高まり、プリンタの利便性が向上する。
また、前処理補助プログラム421にてインストールに関する動作を行うことで、より早期にインストールを開始してプリンタドライバ44の利用を早期に可能にすることで、次回の印刷からプリンタドライバを利用できる可能性が高まる。
また、印刷データの生成が完了した後であれば、印刷データに応じてプリンタドライバ44の必要性(プリンタドライバ44の使用条件を満たしているか否か)を判断でき、無駄なインストールを回避できる。例えば、印刷データのデータサイズが大きい場合、好適な印刷コマンドが生成されていない可能性が高い。そのため、プリンタドライバ44をOS21にインストールし、プリンタドライバによって印刷データを生成する方が、好適な印刷コマンドとなる可能性が高まる。
なお、本明細書に開示される実施の形態は単なる例示にすぎず、本発明を何ら限定するものではない。したがって本明細書に開示される技術は当然に、その要旨を逸脱しない範囲内で種々の改良、変形が可能である。例えば、PC1に接続されるデバイスは、プリンタに限らず、複合機、複写機、FAX装置、等印刷機能を有する装置であればよい。また、PC1に接続されるプリンタは、1台に限らず、複数台でもよい。
また、例えば、実施の形態では、補助プログラム42は前処理と後処理との両方を備えているとしたが、いずれか一方でも良い。例えば、補助プログラム42は印刷データの生成後に起動される後処理補助プログラム422の構成のみを含んでもよい。その場合、後処理補助プログラム422は、プリンタドライバ44の要不要の判断を、プリンタ2のモデル情報に基づく判断と、印刷データのデータサイズに基づく判断と、の両方を行っても良いし、いずれか一方のみを行っても良い。また、前処理補助プログラム421と後処理補助プログラム422とは、別のプログラムであっても良い。
また、前処理と後処理とを実行するモジュールは、補助プログラム42に限らず、OS21の汎用印刷プログラム41にて印刷を行う際に、OS21から指示を受け付けるプログラムであればよい。例えば、マイクロソフト社が仕様公開した印刷ワークフロー アプリ(Print workflow)でも良い。
また、前処理のS202では、プリンタ2のモデルに基づいて、プリンタドライバ44の使用が推奨されるか否かを判断しているが、印刷指示に含まれる印刷設定に基づいてこの判断を行っても良い。例えば、汎用印刷プログラム41による対応が難しい特定の印刷設定が含まれる場合に、S202にてYESと判断するとしても良い。後処理でも、印刷設定に基づいて、プリンタドライバ44の使用が推奨されるか否かを判断してもよい。また、例えば、プリンタ2がプリンタドライバ44による印刷を推奨されるモデルであるか否かの判断は、サーバ3に問い合わせて実行しても良い。
また、実施の形態では、プリンタ2のモデル情報に基づいて、プリンタドライバ44の使用を推奨するか否かを判断するとしたが、この判断は行わなくても良い。例えば、特定のモデルに対応する補助プログラム42が用意されている場合、そのモデルに対応する高性能なプリンタドライバ44が必ず有る、という可能性もある。その場合には、前処理のS202をスキップして、S203に進んでも良い。
また、実施の形態では、補助プログラム42がインストーラのダウンロードを行うとしたが、インストーラの格納場所の情報をOS21に渡し、ダウンロードからインストーラの実行までをOS21に任せても良い。あるいは、ブラウザにインストーラの格納場所の情報を渡し、ブラウザを介してダウンロード及びインストールを行っても良い。この場合、インストーラの格納場所の情報を取得したブラウザがダウンロード及びインストールを行っても良い。
また、例えば、サーバ3へのアクセスに失敗した場合やインストーラを見つけられなかった場合には、印刷終了後にエラー履歴を残すとしても良い。また、例えば、インストール等の通知は、メッセージ表示に代えて、音声ガイダンスで行っても良い。
また、前処理にてプリンタドライバ44のインストールを実行した後(S208の後)、または、プリンタドライバ44を使用した印刷をデフォルトのプリンタに設定した後(S209の後)には、補助プログラム42はOS21の印刷処理を終了させても良い。印刷処理を終了させる方法としては、例えば、OS21に印刷処理を終了させるコマンドを出力しても良いし、印刷データの出力先をデバイスの接続されていないポートに切り替えてもよいし、プリンタに印刷データを読み捨てさせるコマンドを印刷パラメータに追加しても良い。さらに、印刷処理を終了させる場合には、プリンタドライバ44を使用した印刷を推奨するメッセージを表示させても良い。あるいは、S208やS209の後、補助プログラム42は、プリンタドライバ44を使用した印刷を推奨するメッセージを表示させ、同意を示すユーザの操作を受け付けた場合に、OS21に印刷処理を終了させる指示を出力するとしても良い。
また、実施の形態では、補助プログラム42の動作として、プリンタドライバ44での印刷を推奨する役割のみを記載しているが、補助プログラム42は、さらに他の役割を有していても良い。他の役割を有する補助プログラム42であれば、例えば、前処理のS210の前や後処理のS310の前に他の役割の処理を行っても良い。例えば、印刷態様をカスタマイズする役割を有する補助プログラム42であれば、S210の前に、プリンタ2あるいはOS21にカスタマイズのための情報を通知しても良い。また、印刷データの加工処理を有する補助プログラム42であれば、S310の前に、汎用印刷プログラム41にて生成された印刷データの加工を行っても良い。
また、例えば、実施の形態の方法によってプリンタドライバ44をインストールする場合、プリンタドライバ44のセットアップも自動的に行っても良い。例えば、ダウンロードの指示とともにプリンタ2の情報をサーバ3に送信しておき、インストール後にサーバ3からプリンタ2の情報を取得して、プリンタドライバ44を自動的にセットアップしても良い。
また、実施の形態では、OS21から補助プログラム42の実行命令が出力されることで、補助プログラム42が起動されるとしているが、補助プログラム42の起動タイミングはこれに限らない。例えば、常時起動されている補助プログラム42であってもよく、その場合には、補助プログラム42は、実行命令を受けて前述した動作を行うとすれば良い。
また、実施の形態では、プリンタを制御するプログラムであるプリンタドライバをインストールする技術について開示しているが、スキャナを制御するプログラムであるスキャナドライバにも適用可能である。
また、実施の形態に開示されている任意のフローチャートにおいて、任意の複数のステップにおける複数の処理は、処理内容に矛盾が生じない範囲で、任意に実行順序を変更できる、または並列に実行できる。
また、実施の形態に開示されている処理は、単一のCPU、複数のCPU、ASICなどのハードウェア、またはそれらの組み合わせで実行されてもよい。また、実施の形態に開示されている処理は、その処理を実行するためのプログラムを記録した記録媒体、または方法等の種々の態様で実現することができる。
1 PC
2 プリンタ
11 CPU
12 メモリ
21 OS
41 汎用印刷プログラム
42 補助プログラム
44 プリンタドライバ

Claims (8)

  1. 情報処理装置のコンピュータによって実行可能であり、前記情報処理装置と接続するプリンタに対応するサポートプログラムであって、前記情報処理装置のオペレーティングシステムは、プリンタドライバとは異なるプログラムである標準の汎用印刷プログラムを有しており、前記オペレーティングシステムは、前記プリンタと異なるプリンタに対応するサポートプログラムをインストール可能であり、印刷指示の対象となるプリンタと対応付けられたサポートプログラムの処理を実行するよう構成されており、
    前記サポートプログラムは、前記コンピュータに、
    前記情報処理装置のオペレーティングシステムにより前記プリンタについて前記標準の汎用印刷プログラムの起動に付随して前記サポートプログラムの処理の実行がされる場合に、
    前記プリンタに対応するプリンタ情報を取得する取得処理と、
    前記取得処理によって取得した前記プリンタ情報に基づき前記プリンタに対応するプリンタドライバを特定するドライバ特定処理と、
    前記ドライバ特定処理によって特定されるプリンタドライバが前記オペレーティングシステムにインストールされていない場合に、前記プリンタドライバの前記オペレーティングシステムへのインストールに関する動作を前記情報処理装置に行わせるインストール処理と、
    を実行させる、
    ことを特徴とするサポートプログラム。
  2. 請求項1に記載するサポートプログラムにおいて、
    前記プリンタドライバの前記オペレーティングシステムへのインストールに関する前記動作には、前記プリンタドライバのインストールの通知が含まれる、
    ことを特徴とするサポートプログラム。
  3. 請求項1または請求項2に記載するサポートプログラムにおいて、
    前記プリンタドライバの前記オペレーティングシステムへのインストールに関する前記動作には、前記プリンタドライバのインストーラのダウンロードと、前記プリンタドライバのインストールの実行と、の少なくとも一方が含まれる、
    ことを特徴とするサポートプログラム。
  4. 請求項1から請求項3のいずれか1つに記載するサポートプログラムにおいて、
    前記コンピュータに、
    前記取得処理によって取得した前記プリンタ情報によって示される前記プリンタのモデルが、第1のモデルの場合、前記インストール処理を実行させ、第2のモデルの場合、前記インストール処理を実行させない、
    ことを特徴とするサポートプログラム。
  5. 請求項1から請求項4のいずれか1つに記載するサポートプログラムにおいて、
    前記コンピュータに、さらに、
    前記ドライバ特定処理によって特定される前記プリンタドライバが前記オペレーティングシステムにインストールされている場合に、前記プリンタドライバへの切り換えに関する動作を前記情報処理装置に行わせる切換処理を実行させる、
    ことを特徴とするサポートプログラム。
  6. 請求項1から請求項5のいずれか1つに記載するサポートプログラムにおいて、
    前記コンピュータに、
    前記標準の汎用印刷プログラムによって前記オペレーティングシステムが印刷データの生成を完了させる前に、前記インストール処理を実行させる、
    ことを特徴とするサポートプログラム。
  7. メモリと、
    コンピュータと、
    を備える情報処理装置であって、
    前記情報処理装置と接続するプリンタに対応するサポートプログラムが組み込まれ、
    前記情報処理装置のオペレーティングシステムは、プリンタドライバとは異なるプログラムである標準の汎用印刷プログラムを有しており、前記オペレーティングシステムは、前記プリンタと異なるプリンタに対応するサポートプログラムをインストール可能であり、印刷指示の対象となるプリンタと対応付けられたサポートプログラムの処理を実行するよう構成されており、
    前記サポートプログラムは、前記コンピュータに、
    前記情報処理装置のオペレーティングシステムにより前記プリンタに対し前記標準の汎用印刷プログラムの起動に付随して前記サポートプログラムの処理の実行がされる場合に、
    前記プリンタに対応するプリンタ情報を取得する取得処理と、
    前記取得処理によって取得した前記プリンタ情報に基づき前記プリンタに対応するプリンタドライバを特定するドライバ特定処理と、
    前記ドライバ特定処理によって特定される前記プリンタドライバが前記オペレーティングシステムにインストールされていない場合に、前記プリンタドライバの前記オペレーティングシステムへのインストールに関する動作を行うインストール処理と、
    を実行させる、
    ことを特徴とする情報処理装置。
  8. 情報処理装置にプリンタが接続され、
    前記情報処理装置には、前記プリンタに対応するサポートプログラムが組み込まれ、
    前記情報処理装置のオペレーティングシステムは、プリンタドライバとは異なるプログラムである標準の汎用印刷プログラムを有しており、前記オペレーティングシステムは、前記プリンタと異なるプリンタに対応するサポートプログラムをインストール可能であり、印刷指示の対象となるプリンタと対応付けられたサポートプログラムの処理を実行するよう構成されており、
    前記情報処理装置のオペレーティングシステムにより前記プリンタに対し前記標準の汎用印刷プログラムの起動に付随して前記サポートプログラムの処理の実行がされる場合に、
    前記サポートプログラムを用いて、前記情報処理装置が前記プリンタに対応するプリンタ情報を取得する取得ステップと、
    前記サポートプログラムを用いて、前記情報処理装置が前記取得ステップによって取得した前記プリンタ情報に基づき前記プリンタに対応するプリンタドライバを特定するドライバ特定ステップと、
    前記サポートプログラムを用いて、前記情報処理装置が前記ドライバ特定ステップによって特定される前記プリンタドライバが前記オペレーティングシステムにインストールされていない場合に、前記プリンタドライバの前記オペレーティングシステムへのインストールに関する動作を行うインストールステップと、
    を含む、
    ことを特徴とする印刷方法。
JP2023020657A 2018-11-30 2023-02-14 サポートプログラム、情報処理装置、および印刷方法 Active JP7456529B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023020657A JP7456529B2 (ja) 2018-11-30 2023-02-14 サポートプログラム、情報処理装置、および印刷方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018224860A JP7230467B2 (ja) 2018-11-30 2018-11-30 サポートプログラム、情報処理装置、および印刷方法
JP2023020657A JP7456529B2 (ja) 2018-11-30 2023-02-14 サポートプログラム、情報処理装置、および印刷方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2018224860A Division JP7230467B2 (ja) 2018-11-30 2018-11-30 サポートプログラム、情報処理装置、および印刷方法

Publications (2)

Publication Number Publication Date
JP2023062054A JP2023062054A (ja) 2023-05-02
JP7456529B2 true JP7456529B2 (ja) 2024-03-27

Family

ID=70849160

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2018224860A Active JP7230467B2 (ja) 2018-11-30 2018-11-30 サポートプログラム、情報処理装置、および印刷方法
JP2023020657A Active JP7456529B2 (ja) 2018-11-30 2023-02-14 サポートプログラム、情報処理装置、および印刷方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2018224860A Active JP7230467B2 (ja) 2018-11-30 2018-11-30 サポートプログラム、情報処理装置、および印刷方法

Country Status (2)

Country Link
US (1) US11321027B2 (ja)
JP (2) JP7230467B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7456213B2 (ja) * 2020-03-16 2024-03-27 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
CN112214182B (zh) * 2020-09-11 2023-09-05 安天科技集团股份有限公司 一种打印机识别的方法、装置、电子设备及存储介质
JP2023147713A (ja) * 2022-03-30 2023-10-13 ブラザー工業株式会社 サポートプログラム
JP2023147323A (ja) * 2022-03-30 2023-10-13 ブラザー工業株式会社 サポートプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010160616A (ja) 2009-01-07 2010-07-22 Seiko Epson Corp ホスト装置、ホスト装置の制御方法、画像形成システム及びコンピュータープログラム
JP2018120475A (ja) 2017-01-26 2018-08-02 キヤノン株式会社 モバイル端末、制御方法、およびプログラム
JP2020071507A5 (ja) 2018-10-29 2021-12-09 印刷制御装置および印刷変換プログラム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6646759B1 (en) * 1996-05-15 2003-11-11 Canon Kabushiki Kaisha Printing apparatus and image output control apparatus for processing image data using a dither pattern
JP3872278B2 (ja) * 2000-01-19 2007-01-24 セイコーエプソン株式会社 カートリッジを利用してユーザに利益を供与する画像形成システム
JP4058371B2 (ja) * 2002-04-09 2008-03-05 キヤノン株式会社 印刷管理装置、デバイスドライバ登録方法及びコンピュータプログラム
US7168003B2 (en) * 2002-08-07 2007-01-23 Hewlett-Packard Development Company, L.P. Method and apparatus for automating printer and printer driver diagnostics and repair
US7852494B2 (en) * 2004-07-30 2010-12-14 Canon Kabushiki Kaisha Image forming apparatus and image forming system, image forming method, job processing method, storage medium and program
JP5748557B2 (ja) * 2011-05-18 2015-07-15 キヤノン株式会社 情報処理装置及びプログラム、制御方法
JP5174268B1 (ja) 2011-10-14 2013-04-03 キヤノン株式会社 ネットワークシステム及びクライアント装置とその方法
JP6080593B2 (ja) 2013-02-19 2017-02-15 キヤノン株式会社 情報処理装置及びその方法
JP2015069360A (ja) 2013-09-27 2015-04-13 ブラザー工業株式会社 プログラムおよび情報処理装置
JP2015152932A (ja) 2014-02-10 2015-08-24 キヤノン株式会社 情報処理装置、その制御方法およびコンピュータプログラム
JP6631278B2 (ja) 2016-01-29 2020-01-15 ブラザー工業株式会社 ドライバプログラム、及びドライバプログラムとプリンタとのセット
JP2018084893A (ja) 2016-11-22 2018-05-31 キヤノン株式会社 情報処理装置、制御方法およびプログラム
JP6929144B2 (ja) * 2017-06-27 2021-09-01 キヤノン株式会社 情報処理装置、プログラム、インストーラ及び制御方法
JP7207947B2 (ja) 2018-10-29 2023-01-18 キヤノン株式会社 印刷制御装置および印刷変換プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010160616A (ja) 2009-01-07 2010-07-22 Seiko Epson Corp ホスト装置、ホスト装置の制御方法、画像形成システム及びコンピュータープログラム
JP2018120475A (ja) 2017-01-26 2018-08-02 キヤノン株式会社 モバイル端末、制御方法、およびプログラム
JP2020071507A5 (ja) 2018-10-29 2021-12-09 印刷制御装置および印刷変換プログラム

Also Published As

Publication number Publication date
JP2023062054A (ja) 2023-05-02
JP2020087255A (ja) 2020-06-04
US20200174718A1 (en) 2020-06-04
US11321027B2 (en) 2022-05-03
JP7230467B2 (ja) 2023-03-01

Similar Documents

Publication Publication Date Title
JP7456529B2 (ja) サポートプログラム、情報処理装置、および印刷方法
JP6623777B2 (ja) 情報処理システム、および情報処理方法
JP7355147B2 (ja) アプリケーションプログラム
JP7456527B2 (ja) サポートプログラム、情報処理装置、および印刷方法
JP7225737B2 (ja) サポートプログラム、情報処理装置、および印刷方法
US10795619B2 (en) Non-transitory computer-readable recording medium storing computer-executable instructions for information processing device, and method of controlling information processing device
JP7479121B2 (ja) サポートプログラム、情報処理装置、および印刷方法
JP7134729B2 (ja) プログラム、情報処理装置、及び情報処理方法
WO2021230349A1 (ja) サポートプログラム、情報処理装置、プログラムセット、および、印刷方法
JP4792744B2 (ja) 画像処理装置
US11064088B2 (en) Non-transitory computer-readable recording medium, information processing apparatus and printing method
JP7200632B2 (ja) 印刷システム、プリンタ、およびサポートプログラム
JP2015225479A (ja) 情報処理システム、情報処理装置、情報処理方法、及びコンピュータプログラム
JP2020166466A (ja) プログラムの組み合わせおよびプログラム
US20240053997A1 (en) Information processing apparatus using program cooperation, control method therefor, and storage medium storing control program therefor
JP2021179913A (ja) サポートプログラム、プログラムセット、情報処理装置、および印刷方法
JP7095363B2 (ja) インストーラ
JP2021179912A (ja) サポートプログラム、情報処理装置、および印刷方法
JP6750383B2 (ja) 画像形成システム、画像形成装置、および画像形成装置の制御プログラム
JP6769217B2 (ja) コンピュータプログラム
JP2023088909A (ja) プログラムセット、プログラム、および情報処理装置
JP2017010151A (ja) 情報処理装置、ファイル出力方法及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230303

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230303

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240130

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: 20240213

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240226

R150 Certificate of patent or registration of utility model

Ref document number: 7456529

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150