(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023147784
(43)【公開日】2023-10-13
(54)【発明の名称】サポートプログラム
(51)【国際特許分類】
G06F 3/12 20060101AFI20231005BHJP
B41J 29/38 20060101ALN20231005BHJP
【FI】
G06F3/12 344
G06F3/12 303
G06F3/12 332
B41J29/38 202
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022055495
(22)【出願日】2022-03-30
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110000291
【氏名又は名称】弁理士法人コスモス国際特許商標事務所
(72)【発明者】
【氏名】細溝 仁人
(72)【発明者】
【氏名】成田 建樹
【テーマコード(参考)】
2C061
【Fターム(参考)】
2C061AP01
2C061AQ05
2C061HJ08
2C061HK06
2C061HK07
2C061HN05
2C061HN15
2C061HP08
2C061HQ01
(57)【要約】
【課題】OS標準の汎用印刷プログラムが組み込まれた情報処理装置において、プリンタでのエラーの発生を防ぎつつ、処理の改善を図る技術を実現すること。
【解決手段】PC1には、プリンタ2に対応し、OS21にあらかじめ組み込まれた汎用印刷プログラム41をサポートする補助プログラム42が組み込まれている。補助プログラム42は、所定のファイル形式について中間データを生成しないファイル形式として汎用印刷プログラム41に登録する。また、補助プログラム42は、情報アプリ43からプリンタ2に印刷させる印刷指示があり、汎用印刷プログラム41から所定のファイル形式の画像データが渡された場合、プリンタ2の能力を示す能力情報を取得し、その能力情報に基づいて、画像データの所定のファイル形式の種類にプリンタ2が対応可能と判断した場合に、渡された画像データを含む印刷ジョブをプリンタ2に送信する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
情報処理装置のコンピュータによって実行可能であり、前記情報処理装置と接続する特定のプリンタに対応し、前記情報処理装置のオペレーティングシステムにあらかじめ組み込まれた汎用印刷プログラムをサポートするサポートプログラムであって、
前記コンピュータに、
所定のファイル形式について中間データを生成しないファイル形式として前記汎用印刷プログラムに登録する登録処理を実行させ、
さらに前記コンピュータに、
前記情報処理装置に組み込まれているアプリケーションプログラムから出力された印刷指示であって、前記汎用印刷プログラムに対して画像の印刷を前記特定のプリンタに行わせる前記印刷指示があったことによって、前記汎用印刷プログラムから処理が要求された場合に、
前記汎用印刷プログラムから前記中間データが渡された場合、渡された前記中間データに基づいて印刷データを生成し、生成された前記印刷データを含む印刷ジョブを前記特定のプリンタに送信するための処理を実行させ、
前記汎用印刷プログラムから前記所定のファイル形式の画像データが渡された場合、前記特定のプリンタの能力を示す能力情報を取得する第1取得処理と、前記第1取得処理にて取得された前記能力情報に基づいて、渡された前記画像データの前記所定のファイル形式の種類に前記特定のプリンタが対応可能か否かを判断する第1判断処理と、を実行させ、さらに前記第1判断処理にて前記特定のプリンタが対応可能と判断された場合に、渡された前記画像データを含む印刷ジョブを前記特定のプリンタに送信するための第1送信処理を実行させる、
ように構成されるサポートプログラム。
【請求項2】
請求項1に記載するサポートプログラムにおいて、
前記登録処理では、
PDFを前記所定のファイル形式とし、PDFについて中間データを生成しないファイル形式として前記汎用印刷プログラムに登録する、
ように構成されるサポートプログラム。
【請求項3】
請求項1または請求項2に記載するサポートプログラムにおいて、
前記コンピュータに、
前記特定のプリンタが選択されたことによって前記汎用印刷プログラムから処理が要求された場合に、前記登録処理を実行させる、
ように構成されるサポートプログラム。
【請求項4】
請求項1から請求項3のいずれか1つに記載するサポートプログラムにおいて、
前記コンピュータに、
前記登録処理を実行する前に、前記特定のプリンタの能力を示す能力情報を取得する第2取得処理と、前記第2取得処理にて取得された前記能力情報に基づいて、前記所定のファイル形式に前記特定のプリンタが対応可能か否かを判断する第2判断処理と、を実行させ、
前記第2判断処理にて前記特定のプリンタが対応可能と判断された場合に、前記登録処理を実行させ、
前記第2判断処理にて前記特定のプリンタが対応可能と判断されなかった場合、前記登録処理を実行させない、
ように構成されるサポートプログラム。
【請求項5】
請求項4に記載するサポートプログラムにおいて、
前記コンピュータに、
前記第2判断処理にて前記特定のプリンタが対応可能と判断されなかった場合、前記登録処理を実行させず、前記所定のファイル形式について前記中間データを生成しないファイル形式とした登録を解除する解除処理を実行させる、
ように構成されるサポートプログラム。
【請求項6】
請求項1から請求項5のいずれか1つに記載するサポートプログラムにおいて、
前記登録処理を実行するか否かの設定が可能であり、
前記コンピュータに、
前記登録処理を実行しないことが設定されている場合、前記登録処理の実行を制限する、
ように構成されるサポートプログラム。
【請求項7】
請求項1から請求項6のいずれか1つに記載するサポートプログラムにおいて、
前記コンピュータに、
前記情報処理装置に組み込まれている前記アプリケーションプログラムから出力された印刷指示であって、前記汎用印刷プログラムに対して画像の印刷を前記特定のプリンタに行わせる前記印刷指示があったことによって、前記汎用印刷プログラムから処理が要求され、前記汎用印刷プログラムから前記所定のファイル形式の画像データが渡された場合に、前記第1取得処理と、前記第1判断処理と、を実行させ、さらに前記第1判断処理にて前記所定のファイル形式の種類に対応しないと判断された場合に、渡された前記画像データに基づいて印刷データを生成する生成処理と、前記生成処理にて生成された前記印刷データを含む印刷ジョブを前記特定のプリンタに送信するための第2送信処理と、を実行させる、
ように構成されるサポートプログラム。
【請求項8】
請求項1から請求項6のいずれか1つに記載するサポートプログラムにおいて、
前記コンピュータに、
前記情報処理装置に組み込まれている前記アプリケーションプログラムから出力された印刷指示であって、前記汎用印刷プログラムに対して画像の印刷を前記特定のプリンタに行わせる前記印刷指示があったことによって、前記汎用印刷プログラムから処理が要求され、前記汎用印刷プログラムから前記所定のファイル形式の画像データが渡された場合に、前記第1取得処理と、前記第1判断処理と、を実行させ、さらに前記第1判断処理にて前記所定のファイル形式の種類に対応しないと判断された場合に、前記印刷指示に基づく印刷をキャンセルするためのキャンセル処理と、前記所定のファイル形式について前記中間データを生成しないファイル形式とした登録を解除するための解除処理と、印刷をキャンセルしたことを通知する通知処理と、を実行させる、
ように構成されるサポートプログラム。
【請求項9】
請求項1から請求項8のいずれか1つに記載するサポートプログラムにおいて、
プリンタのモデルと、対応可能な前記所定のファイル形式の種類と、を対応付けたテーブルを有し、
前記第1取得処理では、
前記能力情報として、前記特定のプリンタのモデルを識別するモデル情報を取得し、
前記第1判断処理では、
前記テーブルを用いて、前記第1取得処理にて取得された前記モデル情報に示されるモデルに関連付けられた前記所定のファイル形式の種類を特定し、渡された前記画像データの前記所定のファイル形式の種類が、特定された前記所定のファイル形式の種類に含まれている場合には、前記特定のプリンタが前記所定のファイル形式の種類に対応可能と判断する、
ように構成されるサポートプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書に開示される技術分野は、プリンタの制御をサポートするサポートプログラムに関する。
【背景技術】
【0002】
近年、プリンタドライバを利用せず、オペレーティングシステム(OS)に標準に組み込まれている汎用印刷プログラムによってプリンタを制御する技術が実用化されている。この技術では、OSがプリンタを検知するとOS標準の汎用印刷プログラムとの関連付けを行い、以後、そのプリンタに対する印刷指示を受け付けた場合に、プリンタドライバを用いずに、OS標準の汎用印刷プログラムによる印刷が可能になる。
【0003】
また、OS標準の汎用印刷プログラムにサポートプログラムを関連付け、汎用印刷プログラムとサポートプログラムとの連携によって印刷を実現する構成が知られている。例えば特許文献1には、汎用印刷プログラムが印刷対象の画像データに基づいてXPS形式の中間データを生成し、サポートプログラムがその中間データに基づいてPDL形式の印刷データを生成し、その印刷データが汎用印刷プログラムによってプリンタに送信される構成、あるいはサポートプログラムがその中間データを編集した後、汎用印刷プログラムがその編集後の中間データに基づいてRWGrasterまたはPDF形式の印刷データを生成し、その印刷データをプリンタに送信する構成が開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
例えばプリンタがPDFに対応可能なモデルである場合、そのプリンタにはPDFのデータを投入すればよい。しかしながら、汎用印刷プログラムを経由する印刷では、前述したように印刷対象の画像データに基づいて中間データが生成され、さらにその中間データに基づいて印刷データが生成される。そのため、印刷対象の画像データがPDFのデータであった場合、プリンタが画像データに対応できるにもかかわらず、PDF→中間データ→印刷データといったファイル形式の変換が行われることから、処理が冗長である。また、ファイル形式を変換する際に画質が劣化する可能性があり、ファイル形式の変換の機会は少ない方が好ましい。
【0006】
また、同じファイル形式であってもバージョン等の違いによって様々な種類がある場合がある。そのため、例えばPDFに対応するプリンタであっても、PDFのバージョンによっては対応できない場合もあり、仮に汎用印刷プログラムないしサポートプログラムからPDFのデータを送信してもプリンタでエラーになる可能性がある。これらのことから、汎用印刷プログラムを経由する印刷には改善の余地がある。
【課題を解決するための手段】
【0007】
上述した課題の解決を目的としてなされたサポートプログラムは、
情報処理装置のコンピュータによって実行可能であり、前記情報処理装置と接続する特定のプリンタに対応し、前記情報処理装置のオペレーティングシステムにあらかじめ組み込まれた汎用印刷プログラムをサポートするサポートプログラムであって、
前記コンピュータに、
所定のファイル形式について中間データを生成しないファイル形式として前記汎用印刷プログラムに登録する登録処理を実行させ、
さらに前記コンピュータに、
前記情報処理装置に組み込まれているアプリケーションプログラムから出力された印刷指示であって、前記汎用印刷プログラムに対して画像の印刷を前記特定のプリンタに行わせる前記印刷指示があったことによって、前記汎用印刷プログラムから処理が要求された場合に、
前記汎用印刷プログラムから前記中間データが渡された場合、渡された前記中間データに基づいて印刷データを生成し、生成された前記印刷データを含む印刷ジョブを前記特定のプリンタに送信するための処理を実行させ、
前記汎用印刷プログラムから前記所定のファイル形式の画像データが渡された場合、前記特定のプリンタの能力を示す能力情報を取得する第1取得処理と、前記第1取得処理にて取得された前記能力情報に基づいて、渡された前記画像データの前記所定のファイル形式の種類に前記特定のプリンタが対応可能か否かを判断する第1判断処理と、を実行させ、さらに前記第1判断処理にて前記特定のプリンタが対応可能と判断された場合に、渡された前記画像データを含む印刷ジョブを前記特定のプリンタに送信するための第1送信処理を実行させる、
ように構成される。
【0008】
所定のファイル形式について、中間データを生成しないファイル形式として汎用印刷プログラムに登録されていると、所定のファイル形式のデータが印刷対象の画像データであった場合に、汎用印刷プログラムからその画像データがそのままサポートプログラムに渡される。そこで、サポートプログラムは、中間データに変換されていない所定のファイル形式の画像データが渡された場合、その画像データの所定のファイル形式の種類に特定のプリンタが対応可能であれば、第1送信処理を実行して、その画像データを含む印刷ジョブをその特定のプリンタに送信する。これにより、印刷対象の画像データの種類も含めて対応可能な特定のプリンタであれば、印刷対象の画像データが中間データに変換されることなくその特定のプリンタに渡されることになるため、処理が冗長にならず、画質の劣化も抑制される。一方で、特定のプリンタ側の都合で特定のファイル形式でも対応できない場合には、第1送信処理を実行しないため、その特定のプリンタにおいて画像データに対応できないことに起因するエラーは発生し難い。
【0009】
上記装置の機能を実現するための制御方法および当該コンピュータプログラムを格納するコンピュータにて読取可能な記憶媒体も、新規で有用である。
【発明の効果】
【0010】
本明細書に開示される技術によれば、OS標準の汎用印刷プログラムが組み込まれた情報処理装置において、プリンタでのエラーの発生を防ぎつつ、処理の改善を図る技術が実現される。
【図面の簡単な説明】
【0011】
【
図1】第1の形態にかかる印刷システムの概略構成図である。
【
図2】第1の形態にかかる情報アプリにて印刷が選択された場合の手順の例を示すシーケンス図である。
【
図3】第1の形態にかかる印刷指示を受け付けた場合の手順の例を示すシーケンス図である。
【
図4】プリンタのモデルによるPDFのバージョンごとの対応可否を示すテーブルの一例を示す図である。
【
図5】第2の形態にかかる印刷指示を受け付けた場合の手順の例を示すシーケンス図である。
【発明を実施するための形態】
【0012】
以下、本形態のサポートプログラムを利用するパーソナルコンピュータ(以下、「PC」とする)について、添付図面を参照しつつ詳細に説明する。本明細書は、OS標準の汎用印刷プログラムからプリンタに印刷を行わせる印刷システムを開示する。
【0013】
[第1実施形態]
[システム構成]
印刷システム100は、
図1に示すように、PC1とプリンタ2とを有する。PC1とプリンタ2とは、インターネット等のネットワークを介して接続されていてもよいし、ネットワークを介さずに接続されていてもよい。PC1は、情報処理装置の一例である。プリンタ2は、特定のプリンタの一例である。
【0014】
PC1は、CPU11と、メモリ12と、を含むコントローラ10を備えている。CPU11は、コンピュータの一例である。また、PC1は、ユーザインタフェース(以下、「ユーザIF」とする)13と、通信インタフェース(以下、「通信IF」とする)14と、を備え、これらがコントローラ10に電気的に接続されている。なお、
図1中のコントローラ10は、PC1の制御に利用されるハードウェアやソフトウェアを纏めた総称であって、実際にPC1に存在する単一のハードウェアを表すとは限らない。
【0015】
CPU11は、メモリ12から読み出したプログラムに従って、また、ユーザの操作に基づいて、各種の処理を実行する。メモリ12には、各種のプログラムや各種のデータが記憶されている。メモリ12は、各種の処理が実行される際の作業領域としても利用される。CPU11が備えるバッファも、メモリ12の一例である。なお、メモリ12の一例は、PC1に内蔵されるROM、RAM、HDD等に限らず、CPU11が読み取り可能かつ書き込み可能なストレージ媒体、例えば、CD-ROM、DVD-ROM等の記録媒体であっても良い。
【0016】
ユーザIF13は、ユーザに情報を報知するための画面を表示するハードウェアと、ユーザによる操作を受け付けるハードウェアと、を含む。なお、ユーザIF13は、情報を表示可能なディスプレイ13aと、入力受付機能を有するマウスやキーボード等と、の組であっても良いし、ディスプレイ13aと入力受付機能とを備えるタッチパネルであっても良い。
【0017】
通信IF14は、プリンタ2等の外部装置と通信を行うためのハードウェアを含む。通信IF14の通信規格は、イーサネット(登録商標)、Wi-Fi(登録商標)、USBなどである。PC1は、通信IF14を介して、インターネットに接続可能であっても良い。PC1は、複数の通信規格に対応する複数の通信IF14を備えていてもよい。
【0018】
PC1のメモリ12には、汎用印刷プログラム41を含むオペレーティングシステム(以下、「OS」とする)21と、補助プログラム42と、各種のアプリケーションプログラム(以下、「アプリ」とする)と、が記憶されている。OS21は、例えば、Windows(登録商標)、macOS(登録商標)、Linux(登録商標)、iOS(登録商標)、Android(登録商標)である。OS21は、接続されているプリンタごとに、プリンタキューを作成してそのプリンタ宛ての印刷ジョブを管理し、各プリンタに関する情報であるプリンタ情報を登録する。
【0019】
本形態のPC1には、各種のアプリとして、例えば、情報アプリ43が組み込まれている。情報アプリ43は、例えば、地図アプリ、カレンダアプリ、ブラウザ、であり、ユーザの要求に応じて各種の情報をディスプレイ13aに表示させる機能を備えている。情報アプリ43は、アプリケーションプログラムの一例である。なお、情報アプリ43自身は、表示させた情報を印刷させる機能を備えていなくても良い。
【0020】
汎用印刷プログラム41は、OS21とともに提供されるOS標準のプログラムであり、情報アプリ43等によってディスプレイ13aに表示されている情報を、プリンタ2等に印刷させるための機能を有する。本形態の汎用印刷プログラム41は、印刷対象の画像データに基づいて、中間データを生成する機能を含むプログラムである。汎用印刷プログラム41は、各種のプリンタのベンダによって提供される複数種類のモデルのプリンタが共通に利用できる機能をサポートしている。汎用印刷プログラム41は、各種のプリンタに固有のプリンタドライバとは異なり、各種のプリンタが固有に備える機能の全てに対応するものではなく、サポートする機能は汎用的なものに限られる。
【0021】
補助プログラム42は、汎用印刷プログラム41の処理に付随してOS21からの指示に基づいて処理を実行するプログラムまたはプログラム群であり、対象のハードウェアの制御をサポートするプログラムである。本形態の補助プログラム42は、PC1に接続されているプリンタ2のモデルに対応するものであり、例えば、汎用印刷プログラム41を使用してプリンタ2に印刷を実行させる指示を受け付けた場合に、汎用印刷プログラム41から起動される。すなわち、補助プログラム42は、プリンタ2の選択に基づいて起動されるプログラムとして、汎用印刷プログラム41あるいはOS21に登録されている。補助プログラム42は、例えば、印刷サポートアプリ(略称、PSA)、またはハードウェアサポートアプリ(略称、HSA)と呼ばれるものである。補助プログラム42は、サポートプログラムの一例である。
【0022】
なお、補助プログラム42は、それぞれが実行命令を受け付ける複数のプログラムの組み合わせであっても良いし、1つのプログラムであって命令に応じてそれぞれ異なる処理を実行できるプログラムであっても良い。また、補助プログラム42は、プリンタのベンダによってプリンタのタイプごとに用意されるプログラムであっても良い。例えば、インクジェットプリンタ用の補助プログラムやレーザプリンタ用の補助プログラムが、それぞれ用意されても良い。プリンタのタイプごとに限らず、プリンタのモデルごとやプリンタのモデルのシリーズごとに用意される補助プログラムが有っても良い。
【0023】
また、汎用印刷プログラム41は、PDFのデータについて、中間データを生成せずに、画像データをそのまま補助プログラムに渡すパススルー機能を有している。PDFは所定のファイル形式の一例である。汎用印刷プログラム41は、補助プログラムごとに、パススルー機能を有効にするか否かの登録が可能である。本形態では、パススルー機能を有効にする登録を「パススルー登録」とする。
【0024】
また、補助プログラム42は、パススルー登録を実行するか否かを設定する機能を有する。汎用印刷プログラム41は、印刷指示に基づいて渡された画像データがPDFであった場合に、補助プログラム42からパススルー登録が実行されていなければ、中間データを生成してその中間データを補助プログラム42に渡すことになるが、補助プログラム42からパススルー登録が実行されていると、中間データを生成することなくそのPDFの画像データをそのまま補助プログラム42に渡すことになる。本実施形態では、パススルー登録を実行するか否かを示す登録可否情報46がメモリ12に記憶されている。登録可否情報46は、パススルー登録を実行する場合にはONに設定され、パススルー登録を実行しない場合にはOFFに設定される。補助プログラム42は、例えば登録可否情報46をONないしOFFに設定するための設定画面を有し、その設定画面を介して登録可否情報46への設定を受け付ける。
【0025】
プリンタ2は、少なくとも印刷機能と通信機能とを有する。プリンタ2は、印刷データおよび印刷設定を含む印刷ジョブを外部装置から受信し、印刷設定に従って印刷データに示される画像の印刷を行う。
【0026】
[プリンタ選択時の手順]
続いて、本形態の補助プログラム42の動作を含む印刷の手順であって、情報アプリ43にて印刷が選択された場合の各プログラムによる手順について、
図2のシーケンス図を参照して説明する。なお、
図2および後述する他のシーケンス図では、プリンタ2に対応する補助プログラム42がPC1に組み込まれている場合の動作について示している。
【0027】
なお、以下の説明における処理およびフローチャート、シーケンス図の各処理ステップは、基本的に、補助プログラム42などのプログラムに記述された命令に従ったCPU11の処理を示す。CPU11による処理は、OS21のAPIを用いたハードウェア制御も含む。本明細書では、OS21の詳細な記載を省略して各プログラムの動作を説明する。また、「取得」は要求を必須とはしない概念で用いる。
【0028】
手順の始めに、ユーザが情報アプリ43を起動する(A01)。情報アプリ43は、ユーザの指示に応じて、各種の情報をディスプレイ13aに表示させる(A02)。表示中の情報に基づく画像を印刷させたい場合、ユーザは、情報アプリ43のメニューから印刷を選択する(A03)。情報アプリ43は、印刷の選択を受け付けると、OS21の汎用印刷プログラム41に印刷設定画面の表示要求と印刷対象の画像データを送る(A04)。情報アプリ43は、自身の能力に応じたファイル形式で印刷対象の画像データを送信する。よって、汎用印刷プログラム41は、情報アプリ43などのデータ送信元の能力に応じたファイル形式で印刷対象となる画像の画像データを受け取る。
【0029】
汎用印刷プログラム41は、表示要求がされたことに応じて、汎用印刷設定画面をディスプレイ13aに表示させる(A06)。汎用印刷設定画面は、印刷設定の指示や印刷実行の指示を受け付ける画面である。汎用印刷設定画面では、印刷に関する各種の設定項目の設定内容が表示され、A04にて情報アプリ43から受け取った画像データに基づいてプレビュー表示が実行され、印刷に関する各種の設定を受け付ける。
【0030】
また、汎用印刷プログラム41は、汎用印刷設定画面を介して、印刷を実行するプリンタの選択を受け付ける。汎用印刷プログラム41は、印刷を実行するプリンタとしてプリンタ2の選択を受け付けると(A07)、補助プログラム42を起動して、プリンタの選択に対応する処理を要求する(A08)。A08では、汎用印刷プログラム41は、プリンタの選択時に設定されていた印刷設定の情報を、補助プログラム42に渡してもよい。
【0031】
なお、汎用印刷プログラム41は、OS21にて通常使用するプリンタとしてプリンタ2が設定されている場合には、プリンタ2が選択された状態で汎用印刷設定画面を表示し(A06)、補助プログラム42を起動する(A08)。すなわち、OS21によってプリンタ2が自動的に選択され、汎用印刷プログラム41は、プリンタ2の選択に基づいて、A08を実行する。この場合、ユーザによるA07の操作は不要である。
【0032】
また、汎用印刷プログラム41が汎用印刷設定画面を表示する代わりに、情報アプリ43が汎用印刷設定画面を表示させる構成でも良い。その場合、情報アプリ43は、A03で印刷が選択されたことに応じて汎用印刷プログラム41を起動し、汎用印刷設定画面に表示させるためのデータを汎用印刷プログラム41から取得して、汎用印刷設定画面をディスプレイ13aに表示させる。そして、情報アプリ43は、プリンタ2が選択されていることに応じて、もしくは、A07にてプリンタ2が選択されたことに応じて、選択されたプリンタの情報を汎用印刷プログラム41に渡す。これにより、汎用印刷プログラム41は、A08にて、補助プログラム42を起動する。
【0033】
補助プログラム42は、起動されたことに応じて、OS21に対して選択されたプリンタの能力情報を要求する(A11)。OS21は、プリンタ2が選択されていることから、プリンタ2に能力情報を要求する取得要求を送信し、その取得要求に応じてプリンタ2から送信される能力情報を受信することで、プリンタ2から能力情報を取得する(A12)。A12は、第2取得処理の一例である。OS21は、選択されたプリンタ、すなわちプリンタ2から取得した能力情報を補助プログラム42に渡す(A13)。
【0034】
OS21は、例えば、IPP(internet printing protocolの略)に応じた通信によって、選択されたプリンタとの通信を行う。なお、補助プログラム42は、OS21に能力情報を要求する代わりに、例えば、選択されたプリンタのIPアドレス等の接続情報をOS21から取得し、MIB(Management Information Baseの略)を使って、選択されたプリンタから直接、能力情報を取得しても良い。
【0035】
プリンタ2から取得される能力情報には、印刷設定として設定可能なパラメータの情報が含まれる。また、能力情報には、例えば、ステータス情報、消耗品の残量情報、装着されているトレイの情報、トレイごとに設定されている用紙の用紙情報、対応可能な印刷解像度の情報、が含まれていてもよい。また、能力情報には、プリンタのモデル情報やファームウェアのバージョン情報が含まれていてもよい。本形態の能力情報には、PDFのデータに対応しているか否かを示す情報が含まれる。PDFのデータに対応しているか否かを示す情報は、PDFのデータに対応しているか否かを直接的に示す情報であってもよいし、プリンタのモデル等、PDFのデータに対応しているか否かの判定に利用できる情報であってもよい。また、PDFに対応する場合であっても、バージョンによって対応可否が異なる場合、PDFのデータに対応しているか否かを示す情報に、そのバージョンによる対応可否に関する情報を含めてもよい。PDFは、所定のファイル形式の一例であり、PDFのバージョンは、所定のファイル形式の種類の一例である。
【0036】
能力情報を取得した補助プログラム42は、プリンタ判別処理を行う(A14)。プリンタ判別処理は、能力情報に含まれるPDFのデータに対応しているか否かを示す情報に基づいて、選択されたプリンタ、すなわちプリンタ2がPDFに対応可能か否かを判別するための処理である。A14は、第2判断処理の一例である。さらに、補助プログラム42は、登録可否情報46をメモリ12から読み出す(A15)。
【0037】
補助プログラム42は、選択されたプリンタがPDFに対応可能であり、かつ、登録可否情報46がONに設定されている場合(alt:PDF対応可かつ登録可否情報ON)、汎用印刷プログラム41に対して、パススルー登録を実行する(A16)。A16は登録処理の一例である。パススルー登録は、補助プログラムごとに汎用印刷プログラム41に受け付けられる。そのため、補助プログラム42によるパススルー登録後、補助プログラム42に関連付けられたプリンタが選択されている場合には、補助プログラム42からのパススルー登録が有効になる。一方、補助プログラム42に関連付けられていないプリンタが選択されている場合には、補助プログラム42からのパススルー登録が有効にならない。なお、既にパススルー登録済みである場合には、A16を省略してもよい。
【0038】
一方、補助プログラム42は、選択されたプリンタがPDF対応不可、または、登録可否情報46がOFFに設定されている場合(alt:PDF対応不可または登録可否情報OFF)、パススルー登録を実行せず、パススルー登録を解除する処理を実行する(A17)。つまり、補助プログラム42は、パススルー登録の実行を制限する。A17は、解除処理の一例である。なお、既にパススルー解除済みあるいはパススルー登録を行っていない場合には、A17を省略してもよい。
【0039】
[印刷実行時の手順]
続いて、汎用印刷プログラム41の汎用印刷設定画面を介して印刷実行の指示を受け付けた場合の各プログラムによる手順について、
図3のシーケンス図を参照して説明する。
図3に示すシーケンス図では、プリンタ2が選択された状態で印刷実行の指示を受け付けた場合の動作について示している。
【0040】
例えば
図2のA06によって表示される汎用印刷設定画面では、印刷実行ボタンが設けられており、その印刷実行ボタンへの操作によって印刷実行の指示を受け付ける。汎用印刷設定画面は、情報アプリ43からの要求によって表示されていることから、汎用印刷設定画面への操作は、情報アプリ43が受け付けることを意味する。そのため、本形態では、印刷実行の指示は、情報アプリ43によって受け付けられ(D01)、その指示に応じて情報アプリ43から汎用印刷プログラム41に対して印刷指示が出力されることになる(D02)。なお、情報アプリ43が汎用印刷設定画面とは別に印刷実行の指示を直接受け付けてもよく、その場合も、その指示に応じて情報アプリ43から汎用印刷プログラム41に対して印刷指示が出力される。
【0041】
汎用印刷プログラム41は、情報アプリ43から印刷指示を受け付けると、補助プログラム42を起動し、
図2のA04にて情報アプリ43から渡された画像データと、汎用印刷設定画面を介して受け付けた印刷設定と、を補助プログラム42に渡す(D03)。そして、補助プログラム42は、渡された画像データについてファイル形式およびファイル形式のバージョンを判別する(D04)。
【0042】
汎用印刷プログラム41は、パススルー登録の有無や印刷対象の画像データのファイル形式によって、情報アプリ43から渡された画像データの取り扱いが異なる。すなわち、
図2のA16にてパススルー登録が補助プログラム42によって実行され、かつ、情報アプリ43からPDFの画像データが渡された場合、汎用印刷プログラム41は、PDFの画像データをそのまま補助プログラム42に渡す。
【0043】
一方、パススルー登録が補助プログラム42によって実行されていない場合、あるいはパススルー登録が補助プログラム42によって解除されている場合、あるいは、情報アプリ43から渡された画像データのファイル形式がPDFでない場合、汎用印刷プログラム41は、情報アプリ43から渡された画像データから中間データを生成する。汎用印刷プログラム41は、その生成された中間データを画像データとして補助プログラム42に渡す。情報アプリ43から渡される画像データは種々のタイプのものであり、汎用印刷プログラム41は、印刷対象の画像データを、印刷データの生成に適した中間データに変換する。中間データは、例えば、XPSデータである。
【0044】
D04による判別結果がPDFの場合(alt:PDF)、補助プログラム42は、プリンタのモデルを取得する(D11)。プリンタのモデルは、
図2のA11、A12、A13の手順と同様に、プリンタから能力情報を取得し、その能力情報に基づいて取得してもよいし、A13にて取得した能力情報をメモリ12に保存しておき、保存した能力情報を読み出してもよい。また、プリンタ2がモデルを示すモデル情報を応答する機能を有している場合には、補助プログラム42からプリンタ2に直接そのモデル情報を要求してもよい。D11は、第1取得処理の一例である。
【0045】
また、補助プログラム42は、D11にて取得したモデルについて、PDFのバージョンに関する対応可否を取得する(D12)。D12では、例えば補助プログラム42が、
図4に示すように、プリンタのモデルと、PDFのバージョンに関する対応可否と、が関連付けられたバージョン対応テーブル421を有しており、バージョン対応テーブル421を参照することで、プリンタ2のモデルで対応可能なPDFのバージョンを取得する。なお、バージョン対応テーブル421がサーバにある場合、そのサーバにアクセスすることで、バージョン対応テーブル421を取得してもよい。あるいはそのサーバにプリンタ2のモデルを送信し、対応可能なバージョンについての情報を受信するように構成してもよい。バージョン対応テーブル421は、テーブルの一例である。補助プログラム42がバージョン対応テーブル421を有することで、プリンタ2はPDFの対応可能バージョンに関する情報を記憶しておく必要が無く、プリンタのメモリへの負担が少ない。
【0046】
また、補助プログラム42は、汎用印刷プログラム41から渡されたPDFの画像データを解析し、PDFのバージョンを抽出する(D13)。D12とD13とは逆順であっても同時であってもよい。
【0047】
D12およびD13の後、補助プログラム42は、汎用印刷プログラム41から渡されたPDFの画像データのバージョンと、プリンタ2で対応可能なバージョンと、を照合して、汎用印刷プログラム41から渡されたPDFの画像データを、プリンタ2が印刷できるか否かを判定する(D14)。D14は、第1判断処理の一例である。
【0048】
なお、プリンタ2から取得される能力情報に、プリンタ2で対応可能なPDFのバージョンを示すバージョン情報まで含まれている場合、D11およびD12に代えてそのバージョン情報を取得し(第1取得処理の一例)、取得したバージョン情報を用いてD14の判定を行うとよい。
【0049】
D14によって、汎用印刷プログラム41から渡されたPDFの画像データを、プリンタ2が印刷できないと判定された場合(alt:印刷不可)、補助プログラム42は、PDFの画像データに基づく印刷データを生成する(D15)。すなわち、補助プログラム42は、汎用印刷プログラム41から渡されたPDFのデータから、プリンタ2で対応可能なPDLのデータである印刷データを生成する。D15は、生成処理の一例である。一方、D14によって、汎用印刷プログラム41から渡されたPDFの画像データを、プリンタ2が印刷できると判定された場合、補助プログラム42は、印刷データを生成しない。
【0050】
また、D04による判別結果がPDFでないファイル形式、すなわち中間データである場合(alt:非PDF)、補助プログラム42は、渡された中間データに基づく印刷データを生成する(D21)。すなわち、補助プログラム42は、汎用印刷プログラム41によって加工された中間データにラスタライズを実行し、印刷対象の画像を示す印刷データを生成する。D21にて生成される印刷データは、例えば、プリンタ2が対応可能なPDLデータである。
【0051】
補助プログラム42は、D03にて渡されたPDFの画像データ、あるいは、D15ないしD21にて生成された印刷データを含む印刷ジョブに、印刷設定を示す情報を付与する(D31)。付与する印刷設定は、例えば、プリンタ固有の印刷設定である。汎用印刷プログラム41は、汎用的な印刷設定をサポートし、プリンタ固有の印刷設定をサポートしていない。汎用印刷プログラム41がサポートする印刷設定の例としては、部数、両面印刷、カラー印刷、給紙トレイ、用紙種類、用紙サイズ、割り付け印刷(Nin1)などがある。プリンタ固有の印刷設定としては、例えば、ウォータマーク、節約印刷、PIN設定、ポスター印刷、小冊子印刷、ステープルなどの後処理に関する印刷設定がある。
【0052】
補助プログラム42は、印刷設定を付与した印刷ジョブを、選択されたプリンタ2に送信し(D32)、汎用印刷プログラム41に対してD03による処理の終了通知を返す(D33)。印刷ジョブを受信したプリンタ2は、受信した印刷ジョブに基づく印刷を実行する(D34)。これにより、印刷物が生成される。なお、プリンタ2は、印刷ジョブを取得する際に、PIN情報に基づく権限認証を行ってもよい。
【0053】
本実施形態において、プリンタ2がPDFに対応可能であった場合、補助プログラム42は、印刷対象の画像データがプリンタ2で対応可能なバージョンのPDFであれば、D32にてそのままそのPDFをプリンタ2に送信することになる。このPDFをそのままプリンタ2に送信する処理が第1送信処理の一例になる。プリンタ2は、PDFの画像データを含む印刷ジョブを受信した場合、ファイル形式を変換しなくても、PDFの画像データをそのまま印刷することができる。このように、本実施形態の印刷システム100では、プリンタ2が画像データのPDFのバージョンに対応できる場合に、画像データがPDF→中間データ→PDFのように変換されなくなり、無駄な処理を省略できる。また、ファイル形式の変換に伴う画質の劣化が抑制される。
【0054】
また、PDFの画像データであっても、その画像データのPDFのバージョンにプリンタ2が対応していない場合、補助プログラム42は、D15にてプリンタ2が対応可能な印刷データを生成し、D32にてその印刷データをプリンタ2に送信することになる。この印刷データを送信する処理が第2送信処理の一例になる。プリンタ2は、対応可能な印刷データを受信することになるため、その印刷データに基づく印刷を実行できる。このように、本実施形態の印刷システム100では、プリンタ2が画像データのPDFのバージョンに対応できない場合であっても、プリンタ2で対応可能な印刷データに変換されてプリンタ2に渡されることになるため、プリンタ2でのエラーの発生が抑制され、ユーザが印刷物を得られる可能性が高まる。
【0055】
一方、プリンタ2がPDFに対応不可であった場合、補助プログラム42はパススルー登録を行わないため、汎用印刷プログラム41から中間データを受け取り、D21にてプリンタ2が対応可能な印刷データを生成し、D32にてその印刷データをプリンタ2に送信することになる。中間データは、汎用印刷プログラム41によって、各種のプリンタのベンダによって提供される複数種類のモデルのプリンタが共通に利用できるファイル形式で生成されている。よって、情報アプリ43から出力された画像データが、プリンタ2で対応できないファイル形式であるとしても、プリンタ2は、中間データに基づく印刷データを受信して印刷することができる。この場合も、プリンタ2は、PDFの画像データを含む印刷ジョブを実行する場合と同様、印刷ジョブに付与された印刷設定に基づく印刷を行うことができる。
【0056】
なお、プリンタ2への印刷ジョブの送信は、補助プログラム42が行わず、汎用印刷プログラム41が行っても良い。つまり、補助プログラム42は、生成した印刷データを、プリンタ2を送信先としてPC1から送信されるように、汎用印刷プログラム41に渡しても良い。その場合、汎用印刷プログラム41は、補助プログラム42から受け取った印刷データ等をプリンタ2に送信する。
【0057】
以上詳細に説明したように第1実施形態の汎用印刷プログラム41では、PDFについて中間データを生成しないファイル形式としてパススルー登録されていると、印刷対象の画像データがPDFであった場合に、汎用印刷プログラム41からそのPDFの画像データがそのまま補助プログラム42に渡される。そこで、補助プログラム42は、PDFの画像データが渡された場合、渡された画像データのPDFのバージョンにプリンタ2が対応可能であればその画像データを含む印刷ジョブをプリンタ2に送信する。これにより、プリンタ2が印刷対象のPDFの画像データのバージョンも含めて対応可能であれば、印刷対象の画像データが中間データに変換されることなくプリンタ2に渡されることになるため、処理が冗長にならず、画質の劣化も抑制される。一方で、プリンタ2の都合でそのバージョンに対応できない場合には、PDFの画像データをそのまま送信せず、印刷データに変換したものをプリンタ2に送信する。そのため、プリンタ2において、画像データに対応できないことに起因するエラーは発生に難い。
【0058】
[第2実施形態]
[印刷実行時の手順]
続いて、本明細書にて開示するサポートプログラムおよび印刷システムの第2実施形態について説明する。
図5は、印刷が選択された場合の手順の例を示すシーケンス図である。第2実施形態では、汎用印刷プログラム41から渡された画像データがPDFであってそのPDFが印刷不可と判定された場合に、印刷をキャンセルする。この点、印刷をキャンセルせず、PDFの画像データをプリンタ2で対応可能な印刷データに変換する第1実施形態と相違する。ここでは、第1実施形態と相違する点を中心に説明する。なお、第2実施形態において第1実施形態と共通する構成あるいは処理には、第1実施形態と同じ符号を使用し、説明を適宜省略する。
【0059】
第2実施形態では、
図5に示すように、D04による判別結果がPDFであり(alt:PDF)、D14によって、汎用印刷プログラム41から渡されたPDFの画像データを、プリンタ2が印刷できないと判定された場合(alt:印刷不可)、補助プログラム42は、印刷データを生成せず、印刷をキャンセルすることを通知するキャンセルメッセージをディスプレイ13aに表示させる(D16)。
【0060】
そして、補助プログラム42は、汎用印刷プログラム41に対して印刷のキャンセルを要求する(D17)。汎用印刷プログラム41は、キャンセルが要求されると、印刷指示に基づく処理をキャンセルする。また、補助プログラム42は、登録可否情報46にOFFを設定する(D18)。また、補助プログラム42は、D18にて汎用印刷プログラム41に対してパススルー登録の解除を要求してもよい。D16、D17、D18の処理の実行順序は問わない。D16は、通知処理の一例であり、D17は、キャンセル処理の一例であり、D18は、解除処理の一例である。
【0061】
D16、D17、およびD18の後は、補助プログラム42は、D31以降の処理を実行せずに、汎用印刷プログラム41に対してD03による処理の終了通知を応答する(D19)。すなわち、汎用印刷プログラム41から渡された画像データに基づく印刷ジョブをプリンタ2に送信しない。
【0062】
登録可否情報46にOFFを設定することで、以降、汎用印刷設定画面にてプリンタ2を選択した場合に、
図2のA17にてパススルー登録が解除される。そして、その後に印刷指示が入力され、同じPDFの画像データが渡されたとしても、汎用印刷プログラム41からは中間データに変換された画像データが渡される。そのため、D21にて中間データに基づく印刷データが生成され、その印刷データがプリンタ2に送信されることになる。そのため、プリンタ2での印刷が可能になる。なお、上述したようにその後の印刷指示によって印刷が可能になるため、D16にて通知されるメッセージには、もう一度印刷ボタンを操作することの案内を含めてもよい。
【0063】
なお、D04による判別結果がPDFであり(alt:PDF)、D14によって、汎用印刷プログラム41から渡されたPDFの画像データを、プリンタ2が印刷できると判定された場合、D16からD19を実行せず、第1実施形態と同様に、補助プログラム42は、D03にて渡されたPDFの画像データを含む印刷ジョブに、印刷設定を示す情報を付与し(
図3のD31)、印刷設定を付与した印刷ジョブを、選択されたプリンタ2に送信し(
図3のD32)、汎用印刷プログラム41に対してD03による処理の終了通知を返す(
図3のD33)。
【0064】
以上詳細に説明したように第2実施形態では、プリンタ2が印刷対象のPDFのバージョンに対応しない場合には、補助プログラム42が印刷をキャンセルし、パススルー登録を解除することで、プリンタ2で対応しない画像データが送信されてプリンタ2でエラーが発生することが抑制される。さらに次回の印刷指示があった場合、汎用印刷プログラム41からPDFの画像データではなく中間データが渡されることで、その中間データに基づく印刷データがプリンタ2に渡されることになるため、次回の印刷指示ではプリンタ2による印刷が可能になる。
【0065】
また、第2実施形態では、第1実施形態のようにPDFの画像データから印刷データを生成する場合と比較して、PDFから印刷データを生成する処理を実装する必要が無く、補助プログラム42の実装負荷が少ない。一方で、第1実施形態のようにPDFの画像データから印刷データを生成すると、印刷のために印刷指示を再度入力する手間がなく、プリンタ2で印刷物を早期に入手できる可能性が高まる。
【0066】
なお、本明細書に開示される実施の形態は単なる例示にすぎず、本発明を何ら限定するものではない。したがって本明細書に開示される技術は当然に、その要旨を逸脱しない範囲内で種々の改良、変形が可能である。例えば、PC1に接続される装置は、プリンタに限らず、複合機、複写機、FAX装置といった印刷機能を有する装置であればよい。また、プリンタ2と接続する装置は、PCに限らず、PDA(パーソナルデジタルアシスタント)やスマートフォンといったプリンタを制御できる装置であればよい。
【0067】
また、実施の形態では、PDFについてパススルー登録が可能であるが、PDF以外のファイル形式についてもパススルー登録、すなわち汎用印刷プログラム41が中間データを生成しないようにしてもよい。この場合、1つのパススルー登録で複数のファイル形式を中間データを生成しないファイル形式として汎用印刷プログラム41に登録してもよいし、ファイル形式を指定してパススルー登録を実行できてもよい。すなわち、ファイル形式ごとにパススルー登録できてもよい。
【0068】
また、実施の形態では、プリンタの選択時にパススルー登録を実行しているが、パススルー登録を実行するタイミングは、これに限るものではない。例えば、補助プログラム42のインストール時、プリンタキューの作成時、印刷指示の受け付け時、がある。例えば印刷指示の受け付け時であれば、汎用印刷プログラム41から渡された印刷対象の画像データがPDFであればパススルー登録が行われていないと判断できることから、その場合に、選択されたプリンタがPDFに対応可能であり、かつ、登録可否情報46がONに設定されていることを条件として、パススルー登録を実行すればよい。なお、印刷指示の際に行う場合、印刷開始が遅延する可能性があるため、プリンタの選択時のように、印刷指示よりも前にパススルー登録を実行することで、パススルー登録に伴う印刷開始の遅延を抑制できる。
【0069】
また、実施の形態では、登録可否情報46をメモリ12に記憶し、登録可否情報にOFFが設定されている場合には、補助プログラム42は、パススルー登録を実行していないが、登録可否情報46を記憶せず、登録可否情報に関する判断を行わずに、選択されたプリンタがPDF対応可であれば、パススルー登録を実行してもよい。
【0070】
また、実施の形態では、プリンタの選択時、選択されたプリンタがPDF対応不可、または、登録可否情報46がOFFに設定されている場合(
図2のalt:PDF対応可かつ登録可否情報ON)、補助プログラム42は、パススルー登録を解除しているが、パススルー登録を解除しなくてもよい。ただし、選択されたプリンタがPDF対応不可であればパススルー登録を解除することで、例えば登録可否情報46がONからOFFに変更された場合に、その変更にあった印刷手順を実現できる。
【0071】
また、実施の形態では、プリンタの選択時、選択されたプリンタの能力情報を取得し、選択されたプリンタがPDF対応可であることを条件として、パススルー登録を実行しているが、選択されたプリンタがPDF対応可か不可かにかかわらず、パススルー登録を実行してもよい。ただし、選択されたプリンタがPDF対応可であることを条件としてパススルー登録を実行する、すなわち選択されたプリンタがPDF対応不可であればパススルー登録を実行しないことで、印刷対象の画像データがPDFであった場合に汎用印刷プログラム41から中間データが渡されることになり、選択プリンタにおいてPDFに対応できないためのエラーが発生し難くなる。
【0072】
また、実施の形態に開示されている任意のフローチャートにおいて、任意の複数のステップにおける複数の処理は、処理内容に矛盾が生じない範囲で、任意に実行順序を変更できる、または並列に実行できる。
【0073】
また、実施の形態に開示されている処理は、単一のCPU、複数のCPU、ASICなどのハードウェア、またはそれらの組み合わせで実行されてもよい。また、実施の形態に開示されている処理は、その処理を実行するためのプログラムを記録した記録媒体、または方法等の種々の態様で実現することができる。
【符号の説明】
【0074】
1 PC
2 プリンタ
21 OS
41 汎用印刷プログラム
42 補助プログラム
43 情報アプリ