(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024102490
(43)【公開日】2024-07-31
(54)【発明の名称】印刷システム、印刷制御装置および印刷制御プログラム
(51)【国際特許分類】
G06F 3/12 20060101AFI20240724BHJP
B41J 29/38 20060101ALI20240724BHJP
【FI】
G06F3/12 353
G06F3/12 344
G06F3/12 304
B41J29/38 202
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023006395
(22)【出願日】2023-01-19
(71)【出願人】
【識別番号】000002369
【氏名又は名称】セイコーエプソン株式会社
(74)【代理人】
【識別番号】100179475
【弁理士】
【氏名又は名称】仲井 智至
(74)【代理人】
【識別番号】100216253
【弁理士】
【氏名又は名称】松岡 宏紀
(74)【代理人】
【識別番号】100225901
【弁理士】
【氏名又は名称】今村 真之
(72)【発明者】
【氏名】松澤 知己
【テーマコード(参考)】
2C061
【Fターム(参考)】
2C061AP01
2C061AP07
2C061AQ05
2C061AQ06
2C061AR01
2C061AR03
2C061HJ08
2C061HN05
2C061HN15
2C061HP06
2C061HQ17
(57)【要約】
【課題】固有の機能の全てを実行するために、固有の機能に対応したプログラムの全てをコンピューターに保存する作業を行うことを望まないユーザーがいる。
【解決手段】印刷先のプリンター、印刷設定および印刷画像を含む印刷データを取得する取得部と、前記印刷設定に加えて前記プリンターで設定可能なカスタム設定を特定する特定部と、特定した前記カスタム設定に用いる処理モジュールをダウンロードするダウンロード部と、前記カスタム設定の設定内容をユーザーから受け付ける受付部と、受け付けた前記設定内容および前記印刷データに従って前記処理モジュールを用いてプリンター用データを生成する生成部と、前記プリンター用データを前記プリンターに送信する送信部と、を備えた印刷制御装置を構成する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
プリンター固有のプリンタードライバーを用いずに印刷データを生成する第1コンピューターと、
前記印刷データからプリンター用データを生成する第2コンピューターと、
前記プリンター用データに基づいて印刷を行うプリンターと、
を備えた印刷システムであって、
前記第2コンピューターは、
前記印刷データを受信する受信部と、
前記印刷データの印刷設定に加えて前記プリンターで設定可能なカスタム設定を特定し、特定した前記カスタム設定に用いる処理モジュールをダウンロードするダウンロード部と、
カスタム設定画面を介して前記カスタム設定の設定内容をユーザーから受け付ける受付部と、
受け付けた前記設定内容および前記印刷データに従って前記処理モジュールを用いて前記プリンター用データを生成する生成部と、
前記プリンター用データを前記プリンターに送信する送信部と、
を備えた印刷システム。
【請求項2】
前記ダウンロード部は、前記印刷データの前記印刷設定を解析することで前記カスタム設定を特定する、
請求項1に記載の印刷システム。
【請求項3】
前記ダウンロード部は、前記印刷データの前記印刷設定に含まれておらず、前記プリンターにおいて適用可能な設定に含まれている設定を、前記カスタム設定として特定する、
請求項2に記載の印刷システム。
【請求項4】
前記受付部は、ダウンロードした前記処理モジュールを用いて前記カスタム設定画面を生成する、
請求項1~請求項3のいずれか一項に記載の印刷システム。
【請求項5】
前記受付部は、前記第1コンピューターに前記カスタム設定画面を表示させる、
請求項1~請求項3のいずれか一項に記載の印刷システム。
【請求項6】
前記第1コンピューターは、異なる機種のプリンターに対応した汎用プリンタードライバーを用いて前記印刷データを生成する、
請求項1~請求項3のいずれか一項に記載の印刷システム。
【請求項7】
印刷先のプリンター、印刷設定および印刷画像を含む印刷データを取得する取得部と、
前記印刷設定に加えて前記プリンターで設定可能なカスタム設定を特定する特定部と、
特定した前記カスタム設定に用いる処理モジュールをダウンロードするダウンロード部と、
前記カスタム設定の設定内容をユーザーから受け付ける受付部と、
受け付けた前記設定内容および前記印刷データに従って前記処理モジュールを用いてプリンター用データを生成する生成部と、
前記プリンター用データを前記プリンターに送信する送信部と、
を備えた印刷制御装置。
【請求項8】
コンピューターを、
印刷先のプリンター、印刷設定および印刷画像を含む印刷データを取得する取得部、
前記印刷設定に加えて前記プリンターで設定可能なカスタム設定を特定する特定部、
特定した前記カスタム設定に用いる処理モジュールをダウンロードするダウンロード部、
前記カスタム設定の設定内容をユーザーから受け付ける受付部、
受け付けた前記設定内容および前記印刷データに従って前記処理モジュールを用いてプリンター用データを生成する生成部、
前記プリンター用データを前記プリンターに送信する送信部、
として動作させる印刷制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、印刷システム、印刷制御装置および印刷制御プログラムに関する。
【背景技術】
【0002】
従来、プリンターが、オペレーティングシステムの印刷機能で表示される印刷設定画面で設定できない固有の機能を有している場合に、当該固有の機能を実行可能にする技術が知られている(例えば、特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来の技術において、固有の機能を実行するためには、固有の機能を実行するためのプログラムをコンピューターに保存しておく必要がある。しかし、固有の機能の全てを実行するために、固有の機能に対応したプログラムの全てをコンピューターに保存する作業を行うことを望まないユーザーがいる。
【課題を解決するための手段】
【0005】
上記の課題を解決するための印刷システムは、プリンター固有のプリンタードライバーを用いずに印刷データを生成する第1コンピューターと、前記印刷データからプリンター用データを生成する第2コンピューターと、前記プリンター用データに基づいて印刷を行うプリンターと、を備えた印刷システムであって、前記第2コンピューターは、前記印刷データを受信する受信部と、前記印刷データの印刷設定に加えて前記プリンターで設定可能なカスタム設定を特定し、特定した前記カスタム設定に用いる処理モジュールをダウンロードするダウンロード部と、カスタム設定画面を介して前記カスタム設定の設定内容をユーザーから受け付ける受付部と、受け付けた前記設定内容および前記印刷データに従って前記処理モジュールを用いて前記プリンター用データを生成する生成部と、前記プリンター用データを前記プリンターに送信する送信部と、を備える。
【0006】
上記の課題を解決するための印刷制御装置は、印刷先のプリンター、印刷設定および印刷画像を含む印刷データを取得する取得部と、前記印刷設定に加えて前記プリンターで設定可能なカスタム設定を特定する特定部と、特定した前記カスタム設定に用いる処理モジュールをダウンロードするダウンロード部と、前記カスタム設定の設定内容をユーザーから受け付ける受付部と、受け付けた前記設定内容および前記印刷データに従って前記処理モジュールを用いてプリンター用データを生成する生成部と、前記プリンター用データを前記プリンターに送信する送信部と、を備える。
【0007】
上記の課題を解決するための印刷制御プログラムは、コンピューターを、印刷先のプリンター、印刷設定および印刷画像を含む印刷データを取得する取得部、前記印刷設定に加えて前記プリンターで設定可能なカスタム設定を特定する特定部、特定した前記カスタム設定に用いる処理モジュールをダウンロードするダウンロード部、前記カスタム設定の設定内容をユーザーから受け付ける受付部、受け付けた前記設定内容および前記印刷データに従って前記処理モジュールを用いてプリンター用データを生成する生成部、前記プリンター用データを前記プリンターに送信する送信部、として動作させる。
【図面の簡単な説明】
【0008】
【
図6】印刷制御装置としてのコンピューターのブロック図である。
【
図9】印刷制御処理のフローチャートを示す図である。
【
図10】第2の実施形態に係る印刷制御処理のフローチャートを示す図である。
【発明を実施するための形態】
【0009】
ここでは、下記の順序に従って本発明の実施の形態について説明する。
(1)印刷システムの構成:
(1-1)プリンターの構成:
(1-2)サーバーの構成:
(1-3)コンピューターの構成:
(2)印刷制御処理:
(3)他の実施形態:
【0010】
(1)印刷システムの構成:
図1は、本発明の一実施形態にかかる印刷システムを含む印刷システムの一例を示す図である。本実施形態において、印刷システムは、コンピューター10によって実現される。また、本実施形態において、コンピューター10は、プリンター20およびサーバー30と協働する。コンピューター10は、ネットワークNWを介してプリンター20およびサーバー30と接続される。コンピューター10は、プリンター20およびサーバー30と通信し、各種の情報を授受することが可能である。ネットワークNWの態様は限定されず、インターネットであっても良いしLAN(Local Area Network)であっても良く、双方が用いられても良い。
【0011】
本実施形態において、ユーザーは、コンピューター10を操作して印刷対象のコンテンツを用意し、コンテンツをプリンター20で印刷させることができる。プリンター20の印刷を行うためには、プリンタードライバーが用いられる。すなわち、ユーザーがアプリケーションプログラムを用いてコンテンツの印刷を指示すると、コンテンツを示すデータがプリンタードライバーに受け渡される。コンピューター10は、プリンタードライバーの機能により、ユーザーが指定した設定によってコンテンツを印刷するための印刷データを生成する。
【0012】
プリンタードライバーには、プリンターのメーカーが用意したプリンター固有のプリンタードライバーと、コンピューター10を動作させるOS(Operating System)が備える汎用プリンタードライバーと、が存在する。
【0013】
本実施形態において、プリンター固有のプリンタードライバーを用いれば、プリンターが実行可能な全ての機能を利用することができる。一方、汎用プリンタードライバーは、OSのモジュールの一部であり、コンピューター10にOSがインストールされる際に、汎用プリンタードライバーもインストールされる。汎用プリンタードライバーを用いると、複数のメーカーが提供した複数の機種のプリンターで印刷可能な印刷データを生成することができる。このため、汎用プリンタードライバーを用いるのであれば、プリンター固有のプリンタードライバーをインストールしなくても、各種のプリンターで印刷可能である。
【0014】
本実施形態においては、コンピューター10にプリンター固有のプリンタードライバーがインストールされておらず、OSが汎用プリンタードライバーを備える状態を想定している。このようなコンピューター10においては、汎用プリンタードライバーを用いれば各種のプリンターで印刷可能である。しかし、汎用プリンタードライバーは、複数のプリンターで共通して利用可能な機能しかサポートしていないため、特定のプリンターにおける特定の機能を利用できない場合がある。そこで、本実施形態においては、プリンター20で実行可能な機能であるが、汎用プリンタードライバーを用いると利用できない機能について、当該機能を実行可能な処理モジュールを機能毎に追加できるようにコンピューター10が構成される。
【0015】
以下、上述の印刷システムを構成する各装置を説明する。
(1-1)プリンターの構成:
図2は、プリンター20の構成を示すブロック図である。プリンター20は、プロセッサー20aと、通信部20bと、不揮発性メモリー20cと、印刷部20dと、UI部20eとを備える。プロセッサー20aは、図示しないCPUやROMやRAM等を備え、不揮発性メモリー20cに記録された種々のプログラムを実行しプリンター20の各部を制御することができる。
【0016】
なお、プロセッサー20aは、単一のチップで構成されても良いし、複数のチップで構成されても良いし、様々な機能ブロックとともにSoCとして構成されていても良い。また、例えばCPUに替えてASICが採用されても良いし、CPUとASICとが協働する構成であっても良い。本実施形態における各装置がプロセッサーを備える場合、そのプロセッサーは、プロセッサー20aと同様に種々の態様で実現可能である。
【0017】
通信部20bは、外部機器と各種の通信プロトコルに従って通信するための通信インターフェースを含む。プリンター20は、当該通信部20bを介して他の装置と通信することが可能である。なお、通信部20bは、プリンター20に装着された各種のリムーバブルメモリーと通信するためのインターフェースを含んでいてもよい。
【0018】
印刷部20dは、印刷を実行する部位であり、印刷媒体にコンテンツを印刷する。印刷方式は限定されず、例えば、インクジェット方式やトナー方式、昇華式等の各種の方式を採用可能である。また、印刷媒体は印刷用紙に限定されず、布や陶器、樹脂など、各種の印刷媒体であってよい。印刷部20dは、各種の媒体に印刷を実行するためのアクチュエーターや各種装置、センサー、駆動回路、機械部品等を備えている。印刷部20dは、印刷に関する各種の機能を実現可能に構成されていて良い。例えば、フィニッシャー機能を実現可能に構成されている場合、印刷部20dは、印刷後のフィニッシングを実行可能な機構を含む。なお、フィニッシングとは、印刷物をステープルで束ねたり、印刷物に綴じ孔を開けたり、綴じたりする機能である。
【0019】
UI部20eは、タッチパネルディスプレイや各種のキーやスイッチやLED等の少なくともいずれかを含む。タッチパネルディスプレイは、各種の情報、例えば、プリンター20のステータスやインクの残量等を表示する表示パネルと、当該表示パネルに重ねられたタッチ検出パネルとを備え、タッチ操作を検出する。LEDはプリンター20のステータス等を示す点灯あるいは点滅表示を行う。プロセッサー20aは、UI部20eを介して管理者の操作内容を取得することができる。
【0020】
不揮発性メモリー20cには、各種のデータが保存される。例えば、コンピューター10から送信された印刷データやプリンター用データ(後述)が一時的に保存され得る。さらに、本実施形態において不揮発性メモリー20cには、デバイス情報20c1が保存される。デバイス情報20c1は、プリンター20を示す情報であり、インストールすべき処理モジュールを特定するために参照される。
図3は、デバイス情報20c1の一例である。
図3に示す例においては、プリンター20の識別情報であるプリンターの名称と、プリンター20に適用されているファームウェアのバージョンと、がデバイス情報20c1を構成する例が示されている。なお、デバイス情報20c1は、インストールすべき処理モジュールを変動させ得るパラメーターを示していれば良く、他のパラメーター、例えば、プリンター20が印刷の際に用いるプロトコル等が含まれていても良い。
【0021】
本実施形態においてプリンター20は、コンピューター10から送信された印刷データまたはプリンター用データ(後述)に基づいて印刷を行うことができる。すなわち、プロセッサー20aは、通信部20bを介してコンピューター10からまたはプリンター用データを取得し、これらのデータが示す印刷設定を適用して印刷部20dを制御し、印刷を実施する。
【0022】
(1-2)サーバーの構成:
図4は、サーバー30の構成を示すブロック図である。サーバー30は、プロセッサー30aと、通信部30bと、不揮発性メモリー30cとを備える。プロセッサー30aは、図示しないCPUやROMやRAM等を備え、不揮発性メモリー30cに記録された種々のプログラムを実行しサーバー30の各部を制御することができる。
【0023】
通信部30bは、外部機器と各種の通信プロトコルに従って通信するための通信インターフェースを含む。サーバー30は、通信部30bを介して他の装置と通信することが可能である。なお、通信部30bは、サーバー30に装着された各種のリムーバブルメモリーと通信するためのインターフェースを含んでいてもよい。
【0024】
サーバー30の不揮発性メモリー30cには、各種の情報が蓄積される。本実施形態においては、当該蓄積される情報にモジュール情報30c1が含まれる。モジュール情報30c1は、各種の設定内容を適用した印刷を行うためのデータを生成する際に用いられるプログラムモジュールである処理モジュールを示す情報である。本実施形態においては、プリンターで実行可能な機能毎に処理モジュールが用意される。処理モジュールは、少なくとも、汎用プリンタードライバーを用いると利用できない機能を利用するためのモジュールであれば良いが、汎用プリンタードライバーによって利用可能な機能の処理モジュールが含まれていても良い。
【0025】
なお、処理モジュールはプリンターの機種毎に異なり得るため、本実施形態においては、プリンターの機種毎にモジュール情報30c1が定義される。また、処理モジュールはプリンターに適用されているファームウェアのバージョン毎に異なり得るため、本実施形態においては、ファームウェアのバージョン毎にモジュール情報30c1が定義される。
図5は、モジュール情報30c1の例を示す図である。
図5に示すように、プリンターの機種を示すプリンターの名称とファームウェアのバージョンとの組合せに対して、処理モジュールが対応付けられることにより、モジュール情報30c1が構成される。
【0026】
例えば、名称がプリンター001と、バージョン1.0のファームウェアと、の組合せには処理モジュール1,2,4等が対応付けられている。また、名称がプリンター001と、バージョン2.0のファームウェアと、の組合せには処理モジュール1,2,3,4等が対応付けられている。これらの処理モジュールは、コンピューター10に送信されてインストールされるプログラムであり、プログラムデータがモジュール情報30c1に含まれている。むろん、複数の条件で重複する処理モジュール、例えば、
図5に示す処理モジュール1について重複してプログラムのデータが保存されていなくてもよい。
【0027】
プロセッサー30aは、コンピューター10からの処理モジュールの送信要求を受け付けることができる。送信要求には、プリンターの名称およびファームウェアのバージョンが含まれ、プロセッサー30aは、これらの情報に対応付けられた処理モジュールのリストを返信する。コンピューター10は、当該処理モジュールのリストに基づいて、ダウンロードすべき処理モジュールを特定し、特定した処理モジュールのダウンロード要求を送信する。プロセッサー30aは、モジュール情報30c1を参照し、当該ダウンロード要求で指定された処理モジュールのプログラムを取得し、コンピューター10に返信する。コンピューター10は、返信された処理モジュールをインストールする。
【0028】
(1-3)コンピューターの構成:
図6は、コンピューター10の構成を示すブロック図である。コンピューター10は、プロセッサー10aと、通信部10bと、不揮発性メモリー10cと、ディスプレイ10dと、入力部10eとを備える。プロセッサー10aは、図示しないCPUやROMやRAM等を備え、不揮発性メモリー10cに記録された種々のプログラムを実行しコンピューター10の各部を制御することができる。
【0029】
通信部10bは、外部機器と各種の通信プロトコルに従って通信するための通信インターフェースを含む。コンピューター10は、通信部10bを介して他の装置と通信することが可能である。また、通信部10bは、コンピューター10に装着された各種のリムーバブルメモリーと通信するためのインターフェースを含む。
【0030】
ディスプレイ10dは、任意の画像を表示する表示装置である。入力部10eは、ユーザーが入力操作を行う装置であり、例えば、キーボードやマウス等で構成される。本実施形態において、コンピューター10は、据置型の端末であることが想定されているが、むろん、コンピューター10は他の態様の端末であっても良い。例えば、タブレット端末やスマートフォン端末等であっても良い。これらの端末である場合、入力部10eは、タッチパネル等で構成されてよい。いずれにしても、ユーザーは、ディスプレイ10dに表示される画像や文字を視認しながら、入力部10eを操作してユーザーの意図を入力することができる。
【0031】
コンピューター10が起動されると、不揮発性メモリー10cに保存された図示しないOSが実行される。コンピューター10における通信やデータの保存などの各種機能がOSを用いて実行される。本実施形態においては、OSを用いて実行可能な機能に印刷機能が含まれる。すなわち、本実施形態にかかるOSは、汎用プリンタードライバー10a1を備えている。また、コンピューター10においては、OSの機能を用いながら、不揮発性メモリー10cに保存された図示しないアプリケーションプログラムを実行可能である。
【0032】
ユーザーは、各種アプリケーションプログラムの実行下において、入力部10eを操作し、任意のコンテンツを印刷対象とした印刷指示を行うことが可能である。この際、プロセッサー10aは、汎用プリンタードライバー10a1の機能によってディスプレイ10dを制御して印刷設定の入力画面を表示させる。ユーザーは、入力部10eを操作して印刷設定を入力し、印刷指示を行う。
【0033】
印刷指示が行われると、プロセッサー10aは、汎用プリンタードライバー10a1の機能により、入力された設定に従って印刷を行うための印刷データ10c1を生成する。本実施形態において、印刷データ10c1には、適用すべき設定を示すデータと、印刷すべきコンテンツを示すコンテンツデータと、が含まれる。
【0034】
図7は、このような印刷データ10c1の例を示す図である。本実施形態において、印刷データ10c1には、印刷設定が記述される部分と、コンテンツデータが記述される部分と、が含まれる。印刷設定が記述される部分においては、印刷設定の種類を示す項目に対して、各項目の設定内容を示す情報が対応付けられている。例えば、印刷面の設定項目においては、印刷媒体の片面、両面のいずれに印刷するのか設定される。コンテンツデータが記述される部分には、コンテンツを示す画像データや文字フォントデータ等が含まれる。
【0035】
以上のように、本実施形態にかかるコンピューター10は、汎用プリンタードライバー10a1の機能により、プリンター20に印刷を実行させることができる。当該汎用プリンタードライバー10a1による印刷は、プリンター20に固有のプリンタードライバーを用いない印刷である。このため、コンピューター10が、汎用プリンタードライバー10a1による機能を実行する際には、当該コンピューター10が第1コンピューターとして機能する。
【0036】
汎用プリンタードライバーによる印刷は、プリンター20に固有のプリンタードライバーを用いない印刷であるため、プリンター20が実行可能な機能の全てを利用できるとは限らない。しかし、プリンター固有のプリンタードライバーを手動で印刷するのは煩雑である。また、プリンター固有のプリンタードライバーを印刷すると、汎用プリンタードライバーを用いれば利用可能な機能に関するプログラムも重複して印刷することになる。このため、プリンター固有のプリンタードライバーのインストールを望まないユーザーもいる。
【0037】
そこで、本実施形態においては、汎用プリンタードライバーを用いて実行可能な機能に対して、プリンター固有のプリンタードライバーを用いて実行可能な機能を自動で追加できるように構成されている。このため、プロセッサー10aは、OSの実行下において、図示しないアプリケーションプログラムを実行し、プリントサーバー10a2を起動する。プリントサーバー10a2は、IPP(Internet Printing Protocol)を用いた仮想プリンターとして機能する。すなわち、当該プリントサーバー10a2が起動されると、汎用プリンタードライバー10a1は、プリントサーバー10a2を仮想プリンターとして認識し、当該プリントサーバー10a2を印刷先として印刷を実行可能になる。
【0038】
プリントサーバー10a2が実行されると、プロセッサー10aは、受信部10a3,ダウンロード部10a4,受付部10a5,生成部10a6,送信部10a7として機能する。これらの機能によりコンピューター10は、印刷データ10c1からプリンター用データ10c3を生成することが可能になる。コンピューター10が、プリントサーバー10a2による機能を実行する際には、当該コンピューター10が第2コンピューターとして機能する。
【0039】
受信部10a3は、印刷データを受信する機能である。すなわち、汎用プリンタードライバー10a1によるプリンター20への印刷指示が行われると、汎用プリンタードライバー10a1を用いて実行可能な機能の設定を含む印刷データ10c1が生成される。さらに、本実施形態においては、プリントサーバー10a2を送信先として印刷データ10c1が送信される。すなわち、ユーザーは、印刷実行プリンターとしてプリンター20を指定しているが、本実施形態においては、汎用プリンタードライバー10a1からまずはプリントサーバー10a2に印刷データ10c1が送信される。プロセッサー10aは、受信部10a3の機能により、当該印刷データ10c1を受信する。
【0040】
これらの送信、受信の処理は、IPPを用いて実施されるが、コンピューター10の内部処理であるため、コンピューター10の外部に印刷データ10c1が転送されるわけではない。むろん、第1コンピューターと第2コンピューターとが別体の装置で実現されているのであれば、第1コンピューターから印刷データ10c1が送信され、第2コンピューターが印刷データ10c1を受信することになる。
【0041】
ダウンロード部10a4は、印刷データ10c1の印刷設定に加えてプリンター20で設定可能なカスタム設定を特定し、特定したカスタム設定に用いる処理モジュールをダウンロードする機能である。すなわち、本実施形態においては、ダウンロード部10a4の機能によって処理モジュールをダウンロードすることで、汎用プリンタードライバー10a1を用いた場合に実行できない機能を実行できるようにする。
【0042】
このために、本実施形態においてプロセッサー10aは、ダウンロード部10a4の機能により、ダウンロードすべき処理モジュールを特定する。すなわち、プロセッサー10aは、汎用プリンタードライバー10a1によって実現可能な機能以外の機能を特定し、当該機能に対応した処理モジュールをダウンロードする。このために、プロセッサー10aは、ダウンロード部10a4の機能により、印刷実行プリンターであるプリンター20にデバイス情報20c1の送信要求を出力する。プリンター20のプロセッサー20aは、当該送信要求に応じて、不揮発性メモリー20cに保存されたデバイス情報20c1を返信する。プロセッサー10aは、当該デバイス情報20c1を受信する。この結果、プロセッサー10aは、印刷実行プリンターのプリンターの名称およびファームウェアのバージョンを取得する。
【0043】
取得した名称のプリンターであり、かつ、取得したバージョンのファームウェアを用いているプリンターにおいて適用可能な設定に対応した処理モジュールは、サーバー30にモジュール情報30c1として登録されている。そこで、プロセッサー10aは、当該名称およびバージョンを示す情報とともに、サーバー30に対して処理モジュールのリストの送信要求を出力する。この結果、サーバー30は、送信された名称のプリンターにおいて送信されたバージョンのファームウェアが用いられている状態で適用可能な処理モジュールのリストを特定し、コンピューター10に返信する。
【0044】
プロセッサー10aは、当該処理モジュールのリストを参照し、リストに含まれており、かつ、汎用プリンタードライバー10a1で実行できない機能であり、かつ、未だインストールしていない処理モジュールを特定する。本実施形態において、処理モジュールは、プリンター20で実行可能な機能毎に予め作成されている。例えば、プリンター20において、色調整およびカラーマッチングの機能を実行可能であれば、この機能に応じた処理モジュールが予め作成される。プリンター20において、フィニッシャー機能を実行可能であれば、この機能に応じた処理モジュールが色調整およびカラーマッチングの処理モジュールと別にインストール可能なモジュールとして予め作成される。
【0045】
従って、処理モジュールのリストに含まれており、かつ、汎用プリンタードライバー10a1で実行できない機能であり、かつ、未だインストールしていない処理モジュールを特定する処理は、汎用プリンタードライバー10a1において設定できない項目を特定する処理に該当する。当該項目における設定をカスタム設定と呼ぶ。以上の処理は、印刷データ10c1の印刷設定に加えてプリンター20で設定可能なカスタム設定を特定する処理と言える。
【0046】
以上の処理をより具体的に説明する。プロセッサー10aは、ダウンロード部10a4の機能により、印刷データ10c1の印刷設定を解析することでカスタム設定を特定する。このために、プロセッサー10aは、ダウンロード部10a4の機能により、印刷データ10c1において印刷設定が記述される部分を参照する。当該部分に印刷設定の設定内容が記述されている項目は、汎用プリンタードライバー10a1の機能によって設定可能な印刷設定の項目である。一方、当該部分に含まれていない印刷設定の項目は、汎用プリンタードライバー10a1の機能によって設定できない項目であると推定される。
【0047】
サーバー30から取得した処理モジュールのリストは、プリンター20において適用可能な各設定に対応した処理モジュールを示している。そこで、プロセッサー10aは、印刷データ10c1の印刷設定に含まれていない設定であり、かつ、サーバー30から取得した処理モジュールで設定可能な設定をカスタム設定として特定する。
【0048】
処理モジュールのインストールは、種々のタイミングで実行され、プリンター20のファームウェアのバージョンに応じて、インストールすべき処理モジュールも変動し得る。このため、インストール済の処理モジュールは変動し得る。そこで、プロセッサー10aは、コンピューター10に未だインストールされていない処理モジュールを、インストールすべき処理モジュールとみなし、当該インストールすべき処理モジュールに対応したカスタム設定を特定する。具体的には、インストール済の処理モジュールは、処理モジュールデータ10c2として不揮発性メモリー20cに記録されている。
図8は、処理モジュールデータ10c2の例を示す図である。コンピューター10にインストールされた処理モジュールは、
図8に示すように、プリンターの名称に対応付けられて記録されている。
【0049】
プロセッサー10aは、当該処理モジュールデータ10c2を参照し、印刷データ10c1の印刷指示の際に印刷実行プリンターとして指定されたプリンターに関して、コンピューター10にインストール済の処理モジュールを特定する。プロセッサー10aは、カスタム設定を実行するための処理モジュールの中から、印刷実行プリンターの処理モジュールとしてインストールされていない処理モジュールを特定する。
【0050】
以上のようにして、インストールされていない処理モジュールが特定されると、プロセッサー10aは、当該処理モジュールを示す情報とともに、サーバー30に対して処理モジュールのダウンロード要求を出力する。サーバー30は、当該ダウンロード要求に応じて、要求された処理モジュールのプログラムをコンピューター10に送信する。当該処理モジュールを取得すると、プロセッサー10aは、当該処理モジュールをインストールする。インストールが行われると、プロセッサー10aは、処理モジュールに対応した機能をプリンター20に実行させることが可能になる。
【0051】
処理モジュールがインストールされると、コンピューター10は、カスタム設定画面の生成と、プリンター用データの生成と、を実行可能になる。受付部10a5は、カスタム設定画面を介してカスタム設定の設定内容をユーザーから受け付ける機能である。すなわち、プロセッサー10aは、受付部10a5の機能により、ディスプレイ10dを制御し、インストールされた処理モジュールを用いて印刷に適用されるカスタム設定を受け付けるためのカスタム設定画面を表示させる。ユーザーは、当該カスタム設定画面を用いて、汎用プリンタードライバー10a1において設定できない項目についての設定内容を入力することができる。
【0052】
例えば、色調整およびカラーマッチングの設定がカスタム設定の項目である場合、受付部10a5は、色調整やカラーマッチングのためのパラメーター、例えば、色調整の程度やカラーマッチングで参照すべきプロファイルなどを受け付ける。また、フィニッシャー機能の設定がカスタム設定の項目である場合、受付部10a5は、動作させるべきフィニッシャー機能の指定、例えば、ステープルの使用や、孔開けの実行などの指定を受け付ける。
【0053】
生成部10a6は、受け付けた設定内容および印刷データ10c1に従って処理モジュールを用いてプリンター用データ10c3を生成する機能である。具体的には、プロセッサー10aは、生成部10a6の機能により、処理モジュールを実行し、カスタム設定画面で設定されたカスタム設定を適用した印刷になるように、印刷データ10c1に対して処理を行う。当該処理は、印刷データ10c1に含まれる情報の更新と、印刷データ10c1に対する情報の追記と、の少なくとも一方である。
【0054】
具体的には、コンテンツデータの生成に関する処理モジュールによってカスタム設定が適用される場合、プロセッサー10aは、印刷データ10c1に含まれるコンテンツデータに基づいて処理を行い、処理後のデータで元のコンテンツデータを更新する。例えば、カスタム設定が、色調整およびカラーマッチングに関する設定であれば、プロセッサー10aは、処理モジュールの機能により、印刷データ10c1に含まれるコンテンツデータに対して、設定内容に応じた色調整およびカラーマッチングを行う。
【0055】
さらに、プリンター20に対して設定内容を示すパラメーターを伝達することによってカスタム設定が適用される場合、プロセッサー10aは、印刷データ10c1において印刷設定を記述する部分に、カスタム設定の項目に設定内容を対応付けた情報を追記する。例えば、カスタム設定が、フィニッシャー機能に関する設定であれば、プロセッサー10aは、印刷データ10c1において印刷設定を記述する部分に、フィニッシャー機能の項目名に対して、適用すべき設定内容を示すパラメーター値を対応付けて追記する。
【0056】
以上のようにして、印刷データ10c1に含まれる情報の更新と、印刷データ10c1に対する情報の追記と、の少なくとも一方が行われたデータが、プリンター用データ10c3である。送信部10a7は、プリンター用データ10c3をプリンターに送信する機能である。すなわち、プリンター用データ10c3が生成されると、プロセッサー10aは、送信部10a7の機能により、通信部10bを介して、プリンター用データ10c3を印刷実行プリンターであるプリンター20送信する。この結果、プリンター20は、プリンター用データ10c3に基づいて印刷を実行する。
【0057】
プリンター用データ10c3は、汎用プリンタードライバー10a1を用いても実行できない機能についての設定を実行させるためのデータを含んでいる。従って、汎用プリンタードライバー10a1を用いて印刷指示が行われた場合であっても、汎用プリンタードライバー10a1にて実行できない機能を適用した印刷を行うことが可能である。
【0058】
また、以上の実施形態によれば、汎用プリンタードライバー10a1によって実行できない機能についての処理モジュールがインストールされ、汎用プリンタードライバー10a1によって実行できる機能についての処理モジュールはインストールされない。従って、プリンター20に固有の機能の全てを実行するために、固有の機能に対応したプログラムの全てをコンピューター10に保存する必要はない。このため、固有の機能に対応したプログラムの全てをコンピューター10に保存することを望まないユーザーのニーズに応えることができる。さらに、本実施形態によれば、インストールすべき処理モジュールは、ダウンロード部10a4の機能によって自動的に選定される。従って、固有の機能に対応したプログラムの全てをコンピューター10に保存する作業を行うことを望まないユーザーのニーズに応えることができる。
【0059】
(2)印刷制御処理:
図9は、印刷制御処理のフローチャートである。ユーザーが任意のコンテンツに関する印刷を行う場合、ユーザーは、コンピューター10の入力部10eを操作して印刷処理を開始するための入力を行う。当該入力は、種々の手法で行われて良く、例えば、アプリケーションプログラムの実行下において印刷処理を開始するための指示を行うこと等が当該入力に相当する。印刷処理を開始するための指示が行われると、コンピューター10は、OSの機能により汎用プリンタードライバー10a1を起動し、印刷設定を受け付ける。
【0060】
すなわち、プロセッサー10aは、ディスプレイ10dを制御して汎用印刷設定を行うための設定画面を表示させる。ユーザーは、入力部10eを操作して、所望の印刷設定を入力し、印刷実行プリンターを指定し(
図1に示す例であればプリンター20)、印刷実行指示を行う。当該印刷実行指示が行われると、コンピューター10は、汎用プリンタードライバー10a1の機能により、ユーザーが入力した印刷設定でプリンター20に印刷を実行させるための印刷データ10c1を生成する。印刷データ10c1が生成されると、プロセッサー10aは、当該印刷データ10c1をプリントサーバー10a2へ送信する。
【0061】
印刷データ10c1が送信されると、プロセッサー10aは、受信部10a3の機能により、印刷データを取得する(ステップS100)。次に、プロセッサー10aは、ダウンロード部10a4の機能により、プリンターのデバイス情報を取得する(ステップS105)。具体的には、プロセッサー10aは、印刷実行プリンターであるプリンター20に対してデバイス情報20c1の送信要求を出力し、プリンター20から送信されるデバイス情報20c1を受信する。この結果、印刷実行プリンターであるプリンター20の名称および適用されているファームウェアのバージョンが特定される。
【0062】
次に、プロセッサー10aは、ダウンロード部10a4の機能により、プリンターがサポートしている処理モジュールを取得する(ステップS110)。具体的には、プロセッサー10aは、サーバー30に対して、ステップS105で取得したデバイス情報20c1とともに、処理モジュールのリストの送信要求を出力する。この結果、サーバー30は、印刷実行プリンターであるプリンター20がサポートしている処理モジュールのリストを返信する。コンピューター10は、当該リストを取得する。処理モジュールは、プリンター20で実行可能な機能に対応しているため、処理モジュールのリストにより、プリンター20で設定可能なカスタム設定が特定される。
【0063】
次に、プロセッサー10aは、ダウンロード部10a4の機能により、ステップS115~S135のループにより、ダウンロードすべき処理モジュールを特定する。当該ループにおいては、まず、プロセッサー10aが判断対象の処理モジュールを選択する(ステップS115)。すなわち、ステップS110で取得された処理モジュールのリストから、ステップS115~S135において判断対象となっていない処理モジュールを一つ選択し、判断対象とする。
【0064】
次に、プロセッサー10aは、ダウンロード部10a4の機能により、判断対象の処理モジュールがインストール済であるか否かを判定する(ステップS120)。すなわち、プロセッサー10aは、処理モジュールデータ10c2を参照し、ステップS115で判断対象となった処理モジュールが、処理モジュールデータ10c2に含まれているか否か判定する。処理モジュールデータ10c2に含まれている場合、ステップS115で判断対象となった処理モジュールが、既にコンピューター10にインストールされていると判定する。
【0065】
ステップS120において、判断対象の処理モジュールがインストール済であると判定された場合、プロセッサー10aは、ステップS125,S130をスキップする。一方、ステップS120において、判断対象の処理モジュールがインストール済であると判定されない場合、プロセッサー10aは、ダウンロード部10a4の機能により、判断対象の処理モジュールに対応した機能が、汎用プリンタードライバー10a1の機能であるか否かを判定する(ステップS125)。
【0066】
具体的には、プロセッサー10aは、ステップS115で判断対象とされた処理モジュールに対応する機能を特定する。また、プロセッサー10aは、当該機能を示す項目が、印刷データ10c1において印刷設定が記述される部分に含まれるか否か判定する。そして、プロセッサー10aは、当該機能を示す項目が、印刷データ10c1において印刷設定が記述される部分に含まれる場合に、当該機能が汎用プリンタードライバー10a1の機能であると判定する。ステップS125において、判断対象の処理モジュールに対応した機能が、汎用プリンタードライバー10a1の機能であると判定された場合、プロセッサー10aは、ステップS130をスキップする。
【0067】
ステップS125において、判断対象の処理モジュールに対応した機能が、汎用プリンタードライバー10a1の機能であると判定されない場合、プロセッサー10aは、ダウンロード部10a4の機能により、判断対象の処理モジュールをダウンロードし、インストールする(ステップS130)。次に、プロセッサー10aは、ダウンロード部10a4の機能により、全処理モジュールについて判断が終了したか否か判定する(ステップS135)。すなわち、プロセッサー10aは、ステップS110で取得された処理モジュールのリストの全てが、ステップS115~S135のループの判断対象となったか否か判定する。ステップS110で取得された処理モジュールのリストの全てが、ステップS115~S135のループの判断対象となっていない場合、プロセッサー10aは、ステップS115以降の処理を繰り返す。
【0068】
ステップS110で取得された処理モジュールのリストの全てが、ステップS115~S135のループの判断対象となっていない場合、プロセッサー10aは、インストールが終了したとみなし、ステップS140以降の処理を実行する。
【0069】
ステップS140において、プロセッサー10aは、受付部10a5の機能により、インストール済処理モジュールが存在するか否か判定する。具体的には、プロセッサー10aは、処理モジュールデータ10c2を参照し、印刷実行プリンターであるプリンター20に対応付けられて記述されたインストール済の処理モジュールを特定する。
【0070】
ステップS140において、インストール済処理モジュールが存在すると判定された場合、プロセッサー10aは、受付部10a5の機能により、カスタム設定画面を表示し、設定を受け付ける(ステップS145)。すなわち、プロセッサー10aは、プリンター20に対応付けられた処理モジュールデータを実行し、ディスプレイ10dを制御してカスタム設定画面を表示させる。そして、プロセッサー10aは、ユーザーが入力部10eを操作して入力したカスタム設定を受け付ける。
【0071】
カスタム設定画面においてユーザーが入力部10eを操作して印刷指示を入力すると、プロセッサー10aは、プリンター用データ10c3を生成し、プリンター20に送信する(ステップS150)。すなわち、プロセッサー10aは、生成部10a6の機能により、プリンター20に対応付けられた処理モジュールデータを実行し、印刷データ10c1が示す印刷設定に加えて、カスタム設定を適用した印刷を行わせるプリンター用データ10c3を生成する。そして、プロセッサー10aは、送信部10a7の機能により、プリンター用データ10c3をプリンター20に対して送信する。この結果、プリンター20は、印刷データ10c1が示す印刷設定に加えて、カスタム設定を適用してコンテンツを印刷する。
【0072】
一方、ステップS140において、インストール済処理モジュールが存在すると判定されない場合、プロセッサー10aは、送信部10a7の機能により、印刷データ10c1をプリンター20に送信する(ステップS155)。この結果、プリンター20は、印刷データ10c1が示す印刷設定を適用してコンテンツを印刷する。
【0073】
(3)他の実施形態:
以上の実施形態は本発明を実施するための一例であり、他にも種々の実施形態を採用可能である。例えば、印刷システムの装置構成は、
図1に示す構成に限定されず、プリンター20は、スキャン機能等を備える複合機であっても良い。また、コンピューター10は、プリンター20以外のプリンターに対して印刷可能であっても良いし、コンピューター10は、複数台存在しても良い。さらに、
図1に示す各端末は、機能を共有するより少数の端末であっても良いし、より多数の端末であっても良い。例えば、コンピューター10とサーバー30とは一体の装置であっても良いし、コンピューター10の機能の少なくとも一部がプリンター20またはサーバー30で実行されてもよいし、プリンター20の機能の少なくとも一部がコンピューター10またはサーバー30で実行されてもよい。さらに、サーバー30の機能の少なくとも一部がコンピューター10またはプリンター20で実行されてもよい。さらに、サーバー30がクラウドサーバーであるなど、各端末がより多数の端末で構成されても良い。
【0074】
図10は、ダウンロード部の判断に関する処理の一部がサーバー30で実行される構成における処理のフローチャートである。
図10に示す構成は、上述のコンピューター10,プリンター20,サーバー30と同様の構成によって実現可能である。
図10に示すフローチャートにおいて、
図9と同様の処理を行う部分は、
図9と同一の符号を付してある。すなわち、
図10に示すフローチャートにおいては、
図9におけるS110の代わりにS113が実行され、
図9におけるS125が実行されない構成となっており、他の処理は
図9と同様である。ステップS113において、プロセッサー10aは、ダウンロード部10a4の機能により、プリンターがサポートしている処理モジュールであり、汎用プリンタードライバーの機能以外の機能に対応した処理モジュールを取得する。
【0075】
具体的には、プロセッサー10aは、ダウンロード部10a4の機能により、印刷データ10c1において印刷設定が記述される部分を参照し、印刷設定として設定された項目を取得する。当該印刷設定の項目は、汎用プリンタードライバー10a1の機能によって設定できない項目であると推定される。
【0076】
図10に示す例においては、インストールすべき処理モジュールをサーバー30に判断させる。そこで、プロセッサー10aは、ステップS105で取得したプリンター20のデバイス情報と、印刷データ10c1において印刷設定として設定された項目と、をサーバー30に送信する。サーバー30は、モジュール情報30c1を参照し、デバイス情報に基づいて、プリンター20がサポートしている処理モジュールを特定する。そして、サーバー30は、特定された処理モジュールから、印刷データ10c1において印刷設定として設定された項目に対応した処理モジュールを除外して、インストールすべき処理モジュールと見なす。
【0077】
インストールすべき処理モジュールが特定されると、サーバー30は、当該処理モジュールを示す情報をコンピューター10に送信する。プロセッサー10aは、当該処理モジュールを取得し、プリンターがサポートしている処理モジュールであり、汎用プリンタードライバーの機能以外の機能に対応した処理モジュールであると見なす。そして、コンピューター10は、ステップS115~S135のループにおいて、インストールすべき処理モジュールが既にインストール済であるか否か判定し、インストール済でなければダウンロードし、インストールする。
【0078】
以上のような処理であっても、コンピューター10は、サーバー30から送信された情報に基づいてダウンロードすべき処理モジュールが特定される。従って、コンピューター10は、実質的に、印刷データ10c1の印刷設定に加えてプリンター20で設定可能なカスタム設定を特定していると言える。
【0079】
第1コンピューターは、プリンター固有のプリンタードライバーを用いずに印刷データを生成することができればよい。ここで、プリンター固有のプリンタードライバーは、上述のようにプリンターでの印刷のために第1コンピューターにインストールされるプリンタードライバーであり、プリンターの機種等に応じて異なり得るプリンタードライバーである。従って、プリンター固有のプリンタードライバーであれば、当該プリンターが備える機能の全てまたはほぼ全てを利用可能である。なお、プリンター固有のプリンタードライバーやプリンターのファームウェアのバージョンが異なれば、使用できる機能が異なり得るが、大半は同一であるため、バージョンによって機能に若干の際は生じ得るが、バージョンが異なっていてもほぼ全ての機能を利用可能である。
【0080】
当該プリンター固有のプリンタードライバーを用いずに印刷データを生成するためには、上述の構成のようにOSが備える汎用プリンタードライバーが用いられても良いし、プリンターメーカーで共通するプリンタードライバーが用いられても良いし、外部の装置、例えば、インターネットを介して接続されるサーバーが備える汎用プリンタードライバーが用いられても良い。印刷データは、アプリケーションプログラムで作成されたコンテンツをプリンターで印刷するためのデータであれば良く、第1コンピューターにおいて生成される印刷データは、IPPに限らず各種のプロトコルで印刷を行うための印刷データであって良い。
【0081】
第2コンピューターは、印刷データからプリンター用データを生成することができればよい。印刷データは、プリンターによって印刷を実行可能なデータであるが、プリンター固有のプリンタードライバーを用いずに生成されているため、プリンターが備える機能の全てを利用できない場合がある。一方、プリンター用データは、プリンター固有のプリンタードライバーを用いた場合には、利用できない機能を使って印刷を実行可能なデータである。上述の例において、第2コンピューターは、第1コンピューターと同じ装置であるが、両者は別体の装置であっても良い。
【0082】
プリンターは、プリンター用データに基づいて印刷を行う装置であり、むろん、印刷データに基づいて印刷が可能であって良い。プリンターは、複数台存在しても良く、複数の機種のプリンターが複数台存在しても良い。
【0083】
ダウンロード部は、印刷データの印刷設定に加えてプリンターで設定可能なカスタム設定を特定し、特定したカスタム設定に用いる処理モジュールをダウンロードすることができればよい。カスタム設定の特定は、第2コンピューターにおける判断に基づいて実施されてもよいし、外部のサーバー等の装置における判断結果を第2コンピューターが取得することによって特定されても良い。
図9に示す第1実施形態は前者であり、
図10に示す第2実施形態は後者である。
【0084】
カスタム設定は、印刷データの印刷設定に加えてプリンターにおいて可能な設定である。従って、プリンター固有のプリンタードライバーを用いずに生成された印刷データにおいて実施不可能な設定はカスタム設定である。
【0085】
受付部は、カスタム設定画面を介してカスタム設定の設定内容をユーザーから受け付けることができればよい。カスタム設定画面は、種々の態様で実現されて良い。例えば、処理モジュールがダウンロードされ、適用された後においては、汎用プリンタードライバーの印刷設定画面に、カスタム設定画面が追加されるように構成されていても良い。また、複数のプリンターが用いられる場合、カスタム設定画面はプリンター毎に異なり得るため、プリンターの選択に応じてカスタム設定画面が切り替わるように構成されていても良い。また、カスタム設定画面はどこに表示させてもよく、第1コンピューターのディスプレイに表示させても、第2コンピューターのディスプレイに表示させてもよいし、ユーザーの所有するスマートフォンなど別の装置に表示させてもよい。
【0086】
生成部は、受け付けた設定内容および印刷データに従って処理モジュールを用いてプリンター用データを生成することができればよい。すなわち、生成部は、印刷データが示す設定に加えて、カスタム設定を適用させるためのデータをプリンター用データとして生成することができればよい。
【0087】
さらに、本発明は、コンピューターが実行するプログラムや方法としても適用可能である。また、以上のようなシステム、プログラム、方法は、単独の装置として実現される場合もあれば、複数の装置が備える部品を利用して実現される場合もあり、各要素が上述した装置とは異なる装置に設けられる場合もあり、各種の態様を含むものである。また、一部がソフトウェアであり一部がハードウェアであったりするなど、適宜、変更可能である。さらに、システムを制御するプログラムの記録媒体としても発明は成立する。むろん、そのプログラムの記録媒体は、磁気記録媒体であってもよいし半導体メモリーであってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。
【符号の説明】
【0088】
10…コンピューター、10a…プロセッサー、10a1…選択部、10a2…印刷制御部、10a3…警告部、10b…通信部、10c…不揮発性メモリー、10c1…印刷データ、10c2…登録プリンターリスト、10d…ディスプレイ、10e…入力部、10f…GNSS受信部、11…プリンター20a…プロセッサー、11b…通信部、11c…不揮発性メモリー、11d…印刷部、11e…UI部、11f…GNSS受信部、12…ルーター、20…コンピューター、21…プリンター、22…ルーター、30…サーバー、30a…プロセッサー、30b…通信部、30c…不揮発性メモリー、30c1…登録プリンター情報