JP2020107241A - 情報処理装置、制御方法及びアプリケーションプログラム - Google Patents

情報処理装置、制御方法及びアプリケーションプログラム Download PDF

Info

Publication number
JP2020107241A
JP2020107241A JP2018247846A JP2018247846A JP2020107241A JP 2020107241 A JP2020107241 A JP 2020107241A JP 2018247846 A JP2018247846 A JP 2018247846A JP 2018247846 A JP2018247846 A JP 2018247846A JP 2020107241 A JP2020107241 A JP 2020107241A
Authority
JP
Japan
Prior art keywords
printing
print
application
printer driver
characteristic parameter
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.)
Granted
Application number
JP2018247846A
Other languages
English (en)
Other versions
JP7278772B2 (ja
Inventor
昭彦 得田
Akihiko Tokuda
昭彦 得田
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2018247846A priority Critical patent/JP7278772B2/ja
Publication of JP2020107241A publication Critical patent/JP2020107241A/ja
Application granted granted Critical
Publication of JP7278772B2 publication Critical patent/JP7278772B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

【課題】 共通プリンタドライバで使用する印刷装置に対応する拡張アプリケーションが印刷装置の最新の特性パラメータを利用できる仕組みを提供することを目的の1つとする。【解決手段】 コンピュータ101は複数の異なる印刷装置に対して共通に利用可能な共通プリンタドライバと、拡張アプリケーションを備える。拡張アプリケーションは、印刷に用いるデータと、出力対象となる印刷装置の識別情報を取得する(S904)。続けて、取得された前記識別情報に基づき特定される印刷装置から、当該印刷装置の特性パラメータを取得する(S907)。最後に、印刷装置から取得した特性パラメータに基づく情報を、前記拡張アプリケーションがアクセス可能な領域に書き込む(S907)。【選択図】 図9

Description

本発明は、印刷装置と通信する情報処理装置、制御方法、及びアプリケーションプログラムに関する。
プリンタドライバを利用し、印刷装置に対して印刷データを送信する構成が一般に知られている。情報処理装置には、基本ソフトウェアであるオペレーティングシステム(OS)がインストールされており、プリンタドライバはそのOSの規定するプリントアーキテクチャに従って構成され、OSから呼び出されて動作する。印刷装置を提供するベンダは、OSの仕様に適合するプリンタドライバを提供する。OSとプリンタドライバは、協働して出力先の印刷装置を用いて印刷を行う機能を実現する。
ところで、OSとしてMicrosoft(登録商標)のWindows(登録商標)8より前のバージョンを利用する場合、プリンタドライバは、V3プリンタドライバと呼ばれるアーキテクチャで構成される。
また、Windows8.1以降において、V4プリンタドライバと呼ばれるアーキテクチャが登場している。V4プリンタドライバは、セキュリティ性が重視されているため、プリンタドライバそのものの拡張性がV3プリンタドライバと比較して低下している。このような拡張性の低下を補うため、印刷装置を提供するベンダは、プリンタドライバの機能を補助するための専用のアプリケーションを提供することができる。このアプリケーションはUWP Device Apps(Universal Windows Platform Device Apps)と呼ばれる。UWP Device Appsは、ストアアプリケーション(UWP)から印刷を行う際のユーザエクスペリエンスを高めることができる。また、V4プリンタドライバには、ベンダ独自の印刷設定を行うための印刷設定アプリケーションであるPrinterExtensionを紐付けることができる。
また、従来、機能が異なる複数種類の印刷装置を制御するためのプリンタドライバとしてユニバーサルプリンタドライバと称されるプリンタドライバが知られている(特許文献1)。当該プリンタドライバでは、機種やモデル毎に個々の印刷装置に好適な操作画面を表示することができる。
更に、プリンタドライバを使用せずに、印刷装置に対して印刷データを送信できるようにすることが考えられている。例えば、Ubuntu(登録商標)17.04では、OSのデフォルト機能として、IPP Everywhare(登録商標)に対応する印刷装置に対して印刷データを送信する仕組みが搭載されている。IPP Everywhareは、様々な印刷装置を使用した印刷を可能とする一連の規格であり、業界団体などで規格の策定や普及活動が行われている。
特開2011−243067
特許文献1に開示されているようなユニバーサルプリンタドライバは、ベンダ毎に提供されることが一般的である。従って、同じベンダが販売している機能が異なる複数種類の印刷装置については、1つのユニバーサルプリンタドライバで対応することができた。しかしながら、異なるベンダの印刷装置を1つのユニバーサルプリンタドライバで対応することは困難であった。これは、ベンダ毎に各々異なる通信方式、PDL(ページ記述言語)やJDL(ジョブ記述言語)で印刷データのやりとりを行っているため、統一することが難しいといった事情に起因する。また、印刷設定項目に関してもベンダ毎に設定項目が異なっている、又は、同じような設定項目であっても解釈が違うなどの事情があり、1つのユニバーサルプリンタドライバで対応することが困難であった。
前述したように、IPP Everywhareなどに代表されるIPPに準拠する仕組みを使用した共通のプリンタドライバやプリントクライアントを提供することが考えられる。しかしながら、IPPに準拠する共通のプリンタドライバでは、ベンダが独自に作りこんで提供する機能を利用することができないという問題がある。
この問題を鑑みて、このような、共通のプリンタドライバに対しても、従来技術のようにベンダ独自の印刷設定を行うための拡張アプリケーションを紐付けることが考えられる。
ここで、ベンダが独自に作りこんで提供する機能の一つに、地紋印刷機能がある。地紋印刷機能とは、印刷物の背景又は前景に、その印刷物をコピーすると特定の文字列や図形が浮かび上がるように地紋を印刷する機能である。この機能を利用することで、印刷物の原本とコピーの判別が可能になり、印刷物の偽造防止やコピーの抑止が期待できる。このような地紋印刷機能では、出力先の印刷装置の出力特性(モデルごとの特性パラメータ)に合わせて、適切に背景画像を生成する必要がある。このようなモデル毎に異なる特性パラメータを拡張アプリケーション内に全て格納すると、アプリケーションのサイズが肥大化してしまう恐れがある。また、新機種を発売する度に拡張アプリケーションを修正する必要があり、運用コストが増大するという懸念もある。更には、出力特性は、プリンタの使用状況や設置環境などにも依存する。例えば、経年劣化によりデバイス毎の個体差が生じ得るため、デバイス毎に最適な特性パラメータは逐次変化するという問題点もある。
本発明は上述の問題点の少なくとも1つを鑑みなされたものである。本発明は、共通プリンタドライバで使用する印刷装置に対応する拡張アプリケーションが印刷装置の最新の特性パラメータを利用できる仕組みを提供することを目的の1つとする。また、本発明の別の目的は、共通プリンタドライバを使用する際の印刷の利便性を高める仕組みを提供することを目的の1つとする。
上記の少なくとも1つの目的を達成するために本発明の情報処理装置は、複数の異なる印刷装置に対して共通に利用可能な共通プリンタドライバと、拡張アプリケーションとを有する情報処理装置であって、印刷に用いるデータと、出力対象となる印刷装置の識別情報を取得する第1取得手段と、前記第1取得手段によって取得された前記識別情報に基づき特定される印刷装置から、当該印刷装置の特性パラメータを取得する第2取得手段と、
前記第2取得手段によって取得した前記特性パラメータに基づく情報を、前記拡張アプリケーションがアクセス可能な領域に書き込む書き込み手段と、を有することを特徴とする。
本発明の1つの側面としては、共通プリンタドライバで使用する印刷装置に対応する拡張アプリケーションから、印刷装置の最新の特性パラメータを利用できるようになる。従って、拡張アプリケーションが印刷装置の最新の特性パラメータに合わせた適切な拡張機能を提供できるようになる。また、本発明の別の側面としては、共通プリンタドライバを使用する際の利便性を高めることができるようになる。
印刷システムの一例を示す図である。 コンピュータ101のハードウェア構成の一例を示す図である。 コンピュータ101のソフトウェア構成の一例を示す図である。 コンピュータ101におけるドライバと印刷拡張アプリの関連付けの一例を説明するフローチャートである。 ドライバと印刷拡張アプリの関連付けの一例を説明する模式図である。 コンピュータ101における印刷処理の一例を説明するフローチャートである。 コンピュータ101のディスプレイ207に表示される画面と当該画面に関連する設定値の一例を示す図である。 コンピュータ101における印刷処理の一例を説明するフローチャートである。 コンピュータ101における印刷処理の一例を説明するフローチャートである。 コンピュータ101における印刷処理の一例を説明するフローチャートである。
以下、本発明を実施するための実施形態について図面を用いて説明する。なお、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
<第1の実施形態>
まず図1を用いて、本発明に係る印刷システムの構成を説明する。本実施形態の印刷システムは、情報処理装置の一例であるクライアントコンピュータ101、クライアントコンピュータ101へ対してデータを配信するサーバ105と、印刷装置102〜104を備える。各装置は、Wide Area Network(WAN)を含むネットワーク100を通じて相互に通信可能である。
なお、印刷装置102〜104は、印刷機能のみを備えるシングルファンクションプリンタでも、印刷機能、スキャン機能、複写機能を備えるマルチファンクションプリンタでも構わない。また、クライアントコンピュータ101は、ネットワーク100に対し一台に限らず、複数台接続されていてもよい。印刷装置102は、ページ記述言語(PDL)形式の印刷データを外部から受信し印刷を行うことができる。更に、印刷装置102及び103は、サービスエンジニアや管理者などにより、より良い印字が行えるように、定期的に適宜キャリブレーションが行われる。当該キャリブレーションにより、印刷に用いる各種パラメータ(例えば、濃度補正のLUTや、レジずれ補正のための情報、地紋印刷に用いるパラメータなど)が更新される。また、印刷装置102は、当該パラメータの更新に伴い、情報処理装置側に通知すべき特性パラメータを更新する。
クライアントコンピュータ101は、印刷装置102などに印刷データを送信することができる。サーバ105は、タッチアプリケーションや印刷拡張アプリケーション、プリンタドライバ、拡張セットアップ情報のパッケージなどをクライアントに配信するサーバである。本実施形態では一例としてサーバ105が各パッケージを提供する場合を例示しているがこれに限定されるものではない。各パッケージは、複数の異なるサーバが配信していてもよい。また、各パッケージ配信のためのサーバは、クラウドサーバ等であっても構わない。
図2は、図1のクライアントコンピュータ101のハードウェア構成を示すブロック図である。CPU(Central Processing Unit)201を含む制御部は、クライアントコンピュータ101全体の動作を制御する。CPU201は、ROM(Read Only Memory)203又は外部メモリ209に記憶されたプログラムをRAM(Random Access Memory)202に展開し、それを実行することで各種制御を行う。RAM202は、CPU201の主記憶メモリであり、ワークエリア又は各種プログラムを展開するための一時記憶領域として用いられる。ROM203は、CPU201で実行可能な制御プログラムやブートプログラム等を格納する。外部メモリI/F(インタフェース)208を介して制御部に接続される外部メモリ209は、OS210、共通プリンタドライバ211、アプリケーション212などを記憶する。
本実施形態では外部メモリ209としてHDD(Hard Disk Drive)等の補助記憶装置を想定しているが、HDDの代わりにSSD(Solid State Drive)などの不揮発性メモリを用いるようにしても良い。このように、CPU201、RAM202、ROM203、外部メモリ209等のハードウェアは、いわゆるコンピュータを構成している。
操作入力装置I/F204は、キーボードやポインティングデバイス(マウス)、タッチ入力デバイスなどの操作入力装置205を制御するインタフェースである。操作入力装置205は、ユーザからの操作を受け付ける受付部として機能する。ディスプレイI/F206はディスプレイ207への画面の表示を制御する。ディスプレイ207は、ユーザに対して情報を表示する表示部として機能する。
クライアントコンピュータ101は、ネットワークI/F213を介してネットワーク100に接続される。ネットワークI/F213は、ネットワーク100上の印刷装置に印刷データを送信したり、ネットワーク100上のサーバ105からストアアプリケーションやプリンタドライバなどを受信したりする。なお、ネットワーク100上の外部端末とのデータ通信は例えばIEEE802.11シリーズに準拠する無線通信やLTEや5Gなどの移動通信システムや、LANケーブルなどの有線ケーブルを介した通信である。
続けて、図3を用いて、クライアントコンピュータ101のソフトウェア構成の一例について説明する。まず、クライアントコンピュータ101内の動作ソフトウェアについて説明する。クライアントコンピュータ101内のソフトウェアは、OS210とアプリケーション212から構成される。
まず、OS210を構成する個々の要素について説明する。OS210は、クライアントコンピュータ101は管理制御を行う。本実施形態のOS210は、印刷システム300、プリンタドライバ格納領域310、外部設定ファイル群320を備えている。
印刷システム300は、プリントキュー301、スプーラ302、フィルタパイプラインマネージャ303、コンフィグレーションモジュール304、印刷時起動アプリランチャ305から構成される。
プリントキュー301は、ネットワーク100内に存在する印刷装置を使用して印刷を行う際に、印刷ジョブを一時的に保存する領域であり、複数個存在することができる。本実施形態では、説明のため、印刷装置102乃至104に対応するプリントキュー301が作成されているものとする。
スプーラ302は、アプリケーション212のいずれかから印刷された印刷対象データであるXPS(XML Paper Specification)ファイルを一時的に保存及び管理するモジュールである。スプーラ302に保存されたXPSファイルは、フィルタパイプラインマネージャ303を通して、PDL(Page Description Language)に変換された後に、スプーラ302を通じて印刷装置へ送信される。
フィルタパイプラインマネージャ303は、1つ以上のフィルタ311をロードして、XPSファイルをPDLファイルへと変換するモジュールである。フィルタパイプラインマネージャ303は、OS210が提供する印刷アーキテクチャの一部として構成される。
OS210は、フィルタコンフィグ312の定義に基づき、共通プリンタドライバ211を構成する要素の一つである1つ以上のフィルタ311を読み込み、そのフィルタ311を使用してPDLを生成する。PDLは、例えば、PCL(Printer Control Language)やPDF(Portable Document Format)などを採用することができる。
コンフィグレーションモジュール304は、PrintTicketの生成、変更を行うモジュールである。また、コンフィグレーションモジュール304は、組み合わせることができない設定が行われないよう制限する禁則機能を有する。また、コンフィグレーションモジュール304はプリンタの能力情報であるPrintCapabilitiesを管理する。印刷拡張アプリ350の詳細印刷設定UI部352、印刷時起動バックグラウンドタスク部353と印刷時起動UI部354は、コンフィグレーションモジュール304が提供するAPIを呼び出すことができる。各部は、当該APIを呼び出すことで、XML(Extensible Markup Language)形式のPrintTicketやPrintCapabilitiesを取得することができる。共通プリンタドライバ211は、互いに競合する印刷設定の組み合わせを示す禁則ルールやデバイスの機能が記述されたデバイス機能テキストファイル群313や、スクリプトファイル群314をOS210に提供する。これらのファイル群は、相手先の印刷装置毎に別のファイルが記憶される。即ち、デバイス機能テキストファイル群313とスクリプトファイル314群の中から選択されたファイルに基づき、コンフィグレーションモジュール304の動作はカスタマイズされる。
印刷時起動アプリランチャ305は、印刷時起動バックグラウンドタスク部353などが提供するバックグラウンドタスクの実行を制御するモジュールである。印刷時起動アプリランチャ305は、ユーザにより印刷開始指示が入力されたことをOS210が検知し、印刷を行う場合に、印刷時起動バックグラウンドタスク部353を起動する。なお、レジストリ322にバックグラウンドタスクの起動を無効とする設定が記憶されている場合、OS210はバックグラウンドタスクの実行を抑制する。
プリンタドライバ格納領域310は共通プリンタドライバ211などのプリンタドライバが保存される領域である。なお、本実施形態では、一例として共通プリンタドライバ211がインストールされている場合を例示しているが、共通プリンタドライバ211に加えて、それ以外のプリンタドライバがインストールされていても構わない。共通プリンタドライバ211は、フィルタ311、フィルタコンフィグ312、デバイス機能テキストファイル群313、スクリプトファイル群314、INF群315から構成される。なお、本実施形態では、フィルタ311及びフィルタコンフィグ312はいずれの印刷装置を使用する場合も共通である。一方、ファイル群313〜314及びINF群315は、相手先の印刷装置毎に別のファイルとして保存される。共通プリンタドライバ211は、ユーザにより選択された出力先のプリンタに応じて、コンフィグレーションモジュール304が使用するファイルを切り替える。なお、本実施形態では、共通プリンタドライバ211は、複数のベンダの印刷装置に対応するユニバーサルプリンタドライバであり、当該ドライバ単体でIPPに準拠する印刷設定が行えるものとする。また、本実施形態において、共通プリンタドライバ211は、ユーザによりインストールされたドライバであることを想定しているがこれに限定されるものではない。例えば、共通プリンタドライバ211は、OS210にプリインストールされていてもよい。
フィルタ311は、フィルタパイプラインマネージャ303によって呼び出されるフィルタであり、入力されたXPSファイルをPDLへと変換して出力する機能を有する。フィルタコンフィグ312は、フィルタパイプラインマネージャ303が参照する定義ファイルであり、1つ以上のフィルタ311を呼び出す順序が記述されている。デバイス機能テキストファイル群313とスクリプトファイル群314、コンフィグレーションモジュール304によって呼び出されるファイルであり、コンフィグレーションモジュール304の動作をカスタマイズできる。INF群315は、共通プリンタドライバ211をセットアップするための設定情報が記載されたテキストファイルである。
ここで、前述したように、IPP Everywhereなどに代表されるIPPに準拠する仕組みを使用した共通のプリンタドライバやプリントクライアントを提供することが考えられる。本実施形態では、共通のプリンタドライバに、ベンダ独自の印刷設定を行うための拡張アプリケーションプログラムを紐付けるようにする。
ところで、ベンダが独自に作りこんで提供する機能の一つに、地紋印刷機能がある。地紋印刷機能とは、印刷物の背景又は前景に、その印刷物をコピーすると特定の文字列や図形が浮かび上がるように地紋を印刷する機能である。この機能を利用することで、印刷物の原本とコピーの判別が可能になり、印刷物の偽造防止やコピーの抑止が期待できる。このような地紋印刷機能では、出力先の印刷装置の出力特性(モデルごとの特性パラメータ)に合わせて、適切に背景画像を生成する必要がある。このようなモデル毎に異なる特性パラメータを拡張アプリケーション内に全て格納すると、アプリケーションのサイズが肥大化してしまう恐れがある。また、新機種を発売する度に拡張アプリケーションを修正する必要があり、運用コストが増大するという懸念もある。
従って、本実施形態では、共通プリンタドライバで使用する印刷装置を追加する際に、当該印刷装置に対応する拡張アプリケーションに対し、印刷装置のデフォルトの特性パラメータを適切に提供する。
更には、印刷装置では、経年劣化によりデバイス毎の個体差が生じ得る。従って、出力先の個体毎に最適な特性パラメータは変化しうる。従って、セットアップ時のデフォルトの特性パラメータでは良好な印刷を行えない可能性もある。
これを鑑み本実施形態では、拡張アプリケーションが印刷装置の最新の特性パラメータを利用できるようにする。以下具体的に説明する。
図3の説明に戻り、外部設定ファイル群320は、メタデータ321、レジストリ322から構成される。
メタデータ321は、印刷拡張アプリ350の印刷拡張アプリ識別子とV4プリンタドライバが使用するプリントキューのHWID(HardwareId)という双方の識別子を持つ定義情報でありそれぞれを関連付ける役割を持つ。
レジストリ322は、OS210の設定群が記述されたレジストリデータベースの領域である。レジストリ322には、Key And Value方式で値を記載することができ、プリントキュー301毎の設定を記述することができる。レジストリ322には、印刷時起動アプリランチャ305によるバックグラウンドタスクの起動を有効とするか無効とするかを示すポリシーの設定が記憶される。また、プリンタドライバ211に関連付く印刷拡張アプリ350の識別子と、プリンタのHDWIDの対応関係が登録される。レジストリ322に登録されている設定は、OS210の設定画面を介して参照や変更が可能である。
続いて、アプリケーション212を構成する個々の要素について説明する。アプリケーション212は、デスクトップアプリ330、タッチアプリ340、印刷拡張アプリ350から構成される。
デスクトップアプリ330は、OS210のデスクトップ用の実行環境で動作するアプリケーションである。デスクトップアプリ330は後述するタッチアプリ340に見られる制限や公式マーケットはない。
タッチアプリ340は、OS210のタッチアプリ用の実行環境で動作するアプリケーションである。インターネット上で公開されるアプリケーション配布システムとなる公式マーケットを通じてダウンロードされ、クライアントコンピュータ101にインストールされる。タッチアプリ340は、必要なモジュール群がパッケージ化して署名されており、OS210内のAPIの呼び出しが制限されている。
印刷拡張アプリ350はタッチアプリ340の一種であり、タッチアプリ340と同様にOS210のタッチアプリ用の実行環境で動作する。印刷拡張アプリ350は、OS210がアプリケーション配布システムとなる公式マーケットからインターネットを経由して取得する。また、本実施形態の印刷拡張アプリ350は、印刷時に独自にカスタマイズしたUIを表示させる印刷時UI表示機能を持つ。印刷拡張アプリ350は、メタデータ321を介してプリンタベンダが提供するプリンタドライバと関連付くことができる。また、複数のプリンタベンダが提供する印刷装置に対して共通で利用される共通プリンタドライバ211と関連付く場合には、レジストリ322を用いて関連付けられる。共通プリンタドライバ211と印刷拡張アプリ350の関連付けについては、図4のフローチャートに基づいて後述する。
印刷拡張アプリ350は、タイルアプリ部351、詳細印刷設定UI部352、印刷時起動バックグラウンドタスク部353、印刷時起動UI部354、アプリ保存領域355、設定ファイル356、カスタム設定ファイル357から構成される。アプリ保存領域355は、印刷拡張アプリ350がアクセス権限を有する領域の一例である。
タイルアプリ部351は、印刷拡張アプリ350を起動するユーザ操作を受け付けたことに従って実行され、登録された印刷装置のステータス表示などの機能を提供する。詳細印刷設定UI部352は、OS210によって発行された詳細印刷設定イベントを受信したことに従って実行される。詳細印刷設定UI部352は、コンフィグレーションモジュール304からAPIを通じて取得したPrintTicketとPrintCapabilitiesに基づき印刷設定用のUIを生成して表示する。印刷時起動UI部354は、ユーザ操作に従って、適宜PrintTicketの設定を変更し、コンフィグレーションモジュール304に返すことができる。
印刷時起動バックグラウンドタスク部353は、印刷イベントが発行された際に実行すべきバックグラウンドタスクに対応するコンポーネントである。印刷時起動バックグラウンドタスク部353は、コンフィグレーションモジュール304のAPIを通じてPrintTicketの取得や読み書きをすることができる。また、WF機能を利用する場合、バックグラウンドタスク部により、印刷時起動UI部354を起動するか否かを判断し、必要に応じてフォアグラウンドタスクのコンポーネントである印刷時起動UI部354の起動をOS210に要求することが既定されている。更に、アプリ保存領域355に値を読み書きすることで、印刷時起動UI部354と値の受け渡しをすることができる。印刷時起動UI部354を起動しないと判断した場合は、印刷時起動アプリランチャ305は、印刷拡張アプリ350を起動することなく印刷データの生成を行う。
設定ファイル356は、印刷拡張アプリ350の設定値が記述されているファイルである。印刷拡張アプリ350を一意に示す印刷拡張アプリ識別子や、利用するカスタム設定ファイル357が記載されている。カスタム設定ファイル357は、印刷拡張アプリ350がプリンタドライバに対して利用できるサービスの設定を記載した設定ファイルである。
<共通プリンタドライバと印刷拡張アプリの関連付け>
図4及び図5を用いて、プリンタドライバのインストールに際して、共通プリンタドライバ211と印刷拡張アプリ350を関連付ける一連の流れを説明する。図4は共通プリンタドライバ211と印刷拡張アプリ350を関連付ける一連の流れを示すフローチャートである。また、図5は共通プリンタドライバ211と印刷拡張アプリ350の関連付けを説明する模式図である。図4のフローチャートに示す各動作は、OS210が外部メモリ209に記憶された各モジュール、コンポーネント、アプリケーションを実現するためのプログラムをRAM202に読み出し、当該プログラムをCPU201が実行することにより実現される。図4のフローチャートは、例えば、共通プリンタドライバ211から利用する印刷装置を追加するユーザ操作をCPU201が検知した場合に、実行される。
S401において、OS210はネットワーク100内にマルチキャストによる問い合わせを行い、共通プリンタドライバ211に対応する印刷装置の探索をする。探索には例えば、BonjourやWSD(Web Services for Devices)等を用いることができる。
S402において、OS210はS401に対する応答を受信する。続けて、当該応答に基づき追加対象のプリンタを選択するためのプリンタリストを表示する。ここでは、説明のため、印刷装置102〜104が探索で見つかり、印刷装置102及び印刷装置104がリスト上に表示されているものとする。印刷装置103は、既に共通プリンタドライバ211から利用できるように共通プリンタドライバに関連拡張アプリ350付けられているものとする。従って、OS210は、追加対象のプリンタを選択するためのプリンタリストには印刷装置103を表示しないよう制御する。
続けて、S403において、OS210は、S402で表示した、プリンタリストの中から、対象プリンタを選択するユーザ操作を受け付ける。ここでは、説明のため、印刷装置102が選択されたものとして説明する。
S404において、OS210はS403で選択された対象プリンタを用いて印刷できるよう、共通プリンタドライバ211のセットアップを行う。S404のセットアップでは、印刷ポートの設定や、対象プリンタから取得したIPPに準拠する印刷属性情報に基づいたプリンタの能力設定が行われる。S401〜S404までの処理を実行することにより共通プリンタドライバ211から印刷装置を利用できるようになる。S405以降の処理は、共通プリンタドライバ211を印刷拡張アプリで拡張するための制御である。
続けて、S405において、OS210は対象プリンタから印刷装置を識別するための識別情報であるHWIDを取得する。ここで取得するHWIDとは、印刷装置の機種やモデル毎に異なる識別子であり、印刷装置の種類を特定するために用いられる識別情報である。印刷装置102が選択された場合、「XXX」が取得される。
S406において、印刷装置の種類を特定するための識別情報に基づいてサーバ105から拡張セットアップ情報を取得する。具体的には、サーバ105にHWIDを含む問い合わせを行う。サーバ105は、当該問い合わせに対して、問い合わせに含まれるHWIDに対応する拡張セットアップ情報を管理しているかどうかを判断し、確認結果を応答する。OS210は、当該確認結果に基づき対応する拡張セットアップ情報が存在する場合、当該拡張セットアップ情報をダウンロードする。なお、サーバ105は、様々なベンダの印刷装置に対応する拡張セットアップ情報を管理している。共通プリンタドライバ211に印刷拡張アプリケーションを紐付けたいベンダは、サーバ105に拡張セットアップ情報を予め登録しておくことができる。
OS210は、拡張セットアップ情報がサーバ105から取得できた場合は、処理をS408に進める。一方、OS210は、拡張セットアップ情報がサーバ105から取得できない場合は、印刷拡張アプリ350の関連付けを行わず、印刷装置の追加処理を完了する。例えば、印刷装置104の場合、拡張セットアップ情報が用意されていない。従って、対象プリンタが印刷装置104の場合、印刷拡張アプリの関連付けを行うことなくセットアップ処理を完了する。
拡張セットアップ情報は、デバイス機能テキストファイル、スクリプトファイル、対応する印刷拡張アプリを識別する識別情報を含む。例えば、図5に示す印刷装置102に対応する拡張セットアップ情報には、デバイス機能テキストファイル513、スクリプトファイル514、識別情報515が含まれている。また、印刷装置103に対応する拡張セットアップ情報には、デバイス機能テキストファイル523、スクリプトファイル524、識別情報525が含まれている。
拡張セットアップ情報に含まれているデバイス機能テキストファイルや、スクリプトファイル514には、印刷装置の種類によって異なる特性パラメータが格納されうる。
例えば、デバイス機能テキストファイル513には、地紋印刷機能を使用する際に必要となる地紋パラメータが含まれている。また、スクリプトファイル514には、印刷装置で特有の問題が発生する印刷設定の組み合わせを示す禁則条件などの特性パラメータが含まれている。例えば、印刷エンジンの出力特性によっては、低い解像度と地紋印刷機能の組み合わせると適切に隠れた情報を印字できないケースがある。これらが互いに設定されないように制御するためのルールがスクリプトファイル514に含まれている。また、セットアップ情報に含まれる特性パラメータは一例であり、その他、印刷装置でより適切な印刷を行うための多種多様なパラメータを含むことが可能である。例えば、カラーマッチングのためのカラープロファイルや、ハーフトーン処理に用いるディザマトリクスなどの特性パラメータを含むことが可能である。
図4の説明に戻り、S407において、OS210は、拡張セットアップ情報が取得できたかどうかを判断する。拡張セットアップ情報が取得できた場合は、処理をS409に進め、拡張セットアップ情報が取得できなかった場合は、一連のセットアップ処理を終了する。
続けて、S408において、OS210は、S406で取得したセットアップ情報に基づき対象プリンタの拡張セットアップを行う。例えば、対象プリンタが印刷装置102の場合、OS210は取得したセットアップ情報に含まれるスクリプトファイル514で、対象プリンタに関連付けたスクリプトファイルを上書き又は拡張し、スクリプトファイル314群に格納する。また、OS210は取得したセットアップ情報510に含まれるデバイス機能テキストファイル513でもとのデバイス機能テキストファイルを上書き及び拡張し、デバイス機能テキストファイル群に格納する。
また、OS210は、識別情報に基づき印刷拡張アプリ350と、共通プリンタドライバ211との関連付けを行う。関連付けについて図5を用いて説明する。対応する印刷拡張アプリ350がコンピュータ101にインストールされている場合は、OS210は、HWIDと印刷拡張アプリの識別子を対応付けた情報をレジストリ322に登録する。なお、対応する印刷拡張アプリ350がコンピュータ101にインストールされていない場合、OS210は、識別情報に含まれる印刷拡張アプリの識別子を含むアプリ取得要求をサーバ105に送信する。アプリ取得要求を受信したサーバ105は、対応する印刷拡張アプリのインストールパッケージをコンピュータ101に配信する。OS210は、当該配信された拡張アプリケーションをインストールが完了すると、HWIDと当該インストールした印刷拡張アプリの識別子を対応付けた情報をレジストリ322に登録する。更に、各ファイル群に書き込まれた特性パラメータは、拡張アプリケーションがアクセス可能な領域に書き込まれる。なお、図4の一連の処理により書き込まれる特性パラメータは、印刷装置のモデル毎のデフォルトパラメータである。これらの特性パラメータは、後述する更新処理により、印刷装置から取得した最新の特性パラメータに更新される。
これらの一連の処理により、ユーザが使用したい印刷装置の識別情報と、使用すべき印刷拡張アプリを一意に特定するための情報が登録される。また、各ファイル群及び拡張アプリケーションがアクセス可能な領域に印刷装置の特性パラメータが書き込まれる。
なお、図4及び図5では、1つの共通プリンタドライバ211が複数の印刷装置向けのファイル群313、314を有し、当該ファイルを切り替えて複数の印刷装置に対応する場合を例示した。しかしながら、共通プリンタドライバ211の実現方法はこれに限定されるものではない。例えば、共通プリンタドライバ211の既定のテンプレートを予め用意しておき、当該テンプレートに基づき新たな印刷装置向けに共通プリンタドライバ211のインストール処理を行うようにしてもよい。この場合、S404の処理に代えて、共通ドライバの新規インストールが行われる。また、S408の処理に代えて、新たにインストールされた共通プリンタドライバに対する拡張設定処理が行われる。
<印刷制御>
続いて、共通プリンタドライバ211を用いた印刷制御について図6〜図10を用いて説明する。図6、図8乃至図10はコンピュータ101における印刷制御を示すフローチャートである。図7は、ディスプレイ207に表示される操作画面の一例である。図6、図8乃至図10のフローチャートに示す各動作は、外部メモリ209に記憶された各モジュール、コンポーネント、アプリケーションを実現するためのプログラムをRAM202に読み出し、CPU201で実行することにより実現される。なお、処理の主体を明確にするため、必要に応じて、各モジュール、コンポーネント、アプリケーションを主語として説明する。
S601において、OS210は印刷設定表示イベントを受け付ける。印刷設定表示イベントは、ユーザが印刷出力機能を備えるアプリケーション上で印刷コマンドを実行することにより発生する。S602において、OS210は簡易印刷設定ダイアログ700を表示する。図7(a)はディスプレイ207に表示される簡易印刷設定ダイアログ700の一例である。簡易印刷設定ダイアログ700では、印刷に用いる印刷装置設定701、用紙サイズ設定702、部数設定703を使用して設定を行うことができる。詳細設定ボタン705は、印刷拡張アプリ350が提供する詳細印刷設定UI部352のUIを表示する場合に使用するボタンである。印刷ボタン710は、印刷設定を完了し、印刷を開始する場合に使用するボタンである。キャンセルボタン711は、印刷設定を中止する場合に使用するボタンである。以降、本実施形態では、説明のため、ダイアログ700を介して設定されている印刷に用いる印刷装置(出力対象となるプリンタ)を対象プリンタと呼ぶ。また、対象プリンタとして印刷装置102が選択されているものとして説明する。
図6の説明に戻り、S603において、OS210は簡易印刷設定ダイアログ700におけるユーザ操作を受け付ける。S604において、OS210は詳細設定ボタン705がクリックされたか否かを判定する。OS210は、S604において、詳細設定ボタン705がクリックされたことを検知した場合、処理をS605に進め、詳細設定ボタン705がクリックされたことを検知していない場合、処理をS630に進める。
S605において、OS210は印刷拡張アプリ探索処理を行う。S605の探索処理については後述する。S606において、OS210はS605の印刷拡張アプリ探索処理の結果が真であるか否かを判定する。S606の結果、S605の印刷拡張アプリ探索処理の結果が真である場合、処理をS607に進め、S606の結果、S605の印刷拡張アプリ探索処理の結果が真でない場合、処理をS620に進める。
S607において、OS210は対象プリンタに関連付けられた印刷拡張アプリを起動する。具体的にはS605の探索処理結果に含まれる印刷拡張アプリ350の識別子に基づき起動するアプリケーションを決定し、起動する。なお、本実施形態では、ベンダが提供する印刷拡張アプリは所定のフォルダに格納されており、識別子に基づき一意に起動すべき印刷拡張アプリを決定できるものとする。ただしこれに限定されるものではなく、例えば、S605の処理結果に拡張アプリを起動するためのURIやファイルパスを含めるようにしてもよい。この場合、OS210は、当該URIやファイルパスを用いて拡張アプリケーションを起動する。また、起動時に印刷拡張アプリに渡される引数として、対象プリンタを特定するための識別情報(対象プリンタのIPアドレスやHWID)が指定されるものとする。拡張アプリ350は、当該識別情報に基づき対象プリンタを特定することができる。
S608において、OSにより起動された印刷拡張アプリ350は、詳細印刷設定ダイアログ720を表示する。詳細印刷設定UI部352は、ファイル群313及び314のうち対象となるプリンタの機能テキストファイルに基づき生成されたPrintTicketとPrintCapabilitiesに基づき詳細印刷設定ダイアログを表示する。図7(b)は印刷拡張アプリ350の詳細印刷設定ダイアログ720の一例である。ユーザは、印刷拡張アプリ350の詳細印刷設定ダイアログ720を介して、ページ集約721、ステープル722、地紋印刷723に関する設定を行うことができる。またユーザは、ステータス更新ボタン736は、対象プリンタのステータスを更新する指示を行うことができる。
地紋印刷723に関する設定値として、地紋として印刷する文字列を示すテキスト731、印刷される地紋の色732、地紋として印刷する文字列の用紙に対する角度733、地紋として印刷する文字列のフォントサイズ734が設定できる。また、印刷方法735では、元々の描画データの下地として地紋を印刷する透かし印刷と、元々の描画データに地紋を上書きして印刷する重ね印刷とが選択できる。OKボタン740は、印刷拡張アプリ350の詳細印刷設定を完了し、簡易印刷設定ダイアログ700に戻る場合にクリックされる。なお、本実施形態では地紋の一例として文字列を例示しているがこれに限定されるものではない。例えば、機密文書であることを示すスタンプなどの描画オブジェクトを隠し情報として埋め込めるようにしてもよい。
なお、本実施形態では、印刷設定変更のためのテキストボックスやプルダウンボックス、各種ボタンなどのユーザ操作を受け付けるための表示オブジェクトを表示アイテムと呼ぶものとする。
図6の説明に戻り、S609において、印刷拡張アプリ350は、詳細印刷設定ダイアログ720を介したユーザ操作を受け付ける。S610において、印刷拡張アプリ350は、ステータス更新ボタンがクリックされたことを検知したか否かを判定する。S610において、ステータス更新ボタンがクリックされたことを検知した場合、処理をS611に進め、ステータス更新ボタンがクリックされたことを検知していない場合、処理をS613に進める。
S611において、印刷拡張アプリ350は、対象プリンタの識別情報に基づき、パラメータの取得先となるプリンタを特定し、当該特定したプリンタから特性パラメータを含む情報を取得する。取得が完了すると、取得された特性パラメータに基づき対象プリンタに関する情報を更新する。なお、この処理では、パラメータ情報だけでなく、対象プリンタの構成情報なども取得することが可能である。これらの情報取得はベンダ独自の双方向通信プロトコルなどで取得されることを想定しているがこれに限定されない。例えば、SNMP (Simple Network Management Protocol)やV4プリンティングシステムで定義されたBidiプリンタ通信などを用いて特性パラメータを含む情報を取得することもできる。印刷拡張アプリ350は、アプリ保存領域355に当該取得した特性パラメータを保存する。この処理により、ユーザ操作をトリガーとして最新の特性パラメータに更新することができる。なお、更新のトリガーはこれに限定されず、S607で印刷拡張アプリ350が起動された際に、現在の日付と更新日を比較し、所定の日数(例えば30日)を経過していると判断したことに応じて、自動的に特性パラメータを取得するようにしてもよい。
S612において、印刷拡張アプリ350は、OKボタン740がクリックされたことを検知したか否かを判定する。OKボタン740がクリックされたことを検知した場合、処理をS613に進め、OKボタン740がクリックされたことを検知していない場合、S609に戻り更なる印刷設定の受け付けを待つ。
続けて、S613において、印刷拡張アプリ350は、詳細印刷設定ダイアログ720で設定された印刷設定をアプリ保存領域355に格納する。また、詳細印刷設定ダイアログ720で設定された印刷設定でPrintTicketを更新する。更新処理が完了すると、処理をS614に進める。
図7(c)はアプリ保存領域355に格納するデータ750の例である。印刷拡張アプリ350の詳細印刷設定ダイアログ720で設定された値がデータ項目751からデータ項目760に格納される。また、S611の更新処理で更新されたパラメータはデータ項目761〜763に格納される。具体的には、デバイス機能テキストファイルに記載された特性パラメータとして、地紋印刷機能に関するパラメータである、小ドットサイズ761、大ドットサイズ762が格納される。また、更新日763には、パラメータが更新された更新日付が記載される。図7(c)では、対象プリンタが印刷装置102の場合を例示している。ここでは一例として「2019/1/10」に更新が行われた場合を例示している。なお、図4のセットアップ直後においては、更新日763には、更新が行われていないことを表す情報(例えば、NULLや、1900/1/1など)が記憶されているものとする。
図6の説明に戻り、S614において、OS210は印刷拡張アプリ350の詳細印刷設定ダイアログ720の表示を終了し、簡易印刷設定ダイアログ700にコントロールのフォーカスを戻す。
続けて、印刷拡張アプリが関連付けられていない場合の処理について説明する。S620において、OS210はOS標準の詳細印刷設定ダイアログを表示する。OS標準の詳細印刷設定ダイアログは、IPPで定義された設定項目のみが設定可能なダイアログである。このような印刷ダイアログからは、地紋印刷機能に関する設定を行うことができないものとする。S621において、OS210はOS共通の詳細印刷設定ダイアログにおけるユーザ操作を受け付ける。S622において、OS210はOS共通の詳細印刷設定ダイアログにおけるOKボタンがクリックされたことを検知したか否かを判定する。S622において、OKボタンがクリックされたことを検知した場合、処理をS623に進め、OKボタンがクリックされたことを検知していない場合、更なる設定操作の受け付けを待つ。
S623において、OS210はOS共通の詳細印刷設定ダイアログにおける印刷設定に基づきPrintTicketを更新する。S624において、OS210はOS共通の詳細印刷設定ダイアログの表示を終了し、簡易印刷設定ダイアログ700にコントロールのフォーカスを戻す。
S630において、OS210はキャンセルボタン711がクリックされたことを検知したか否かを判定する。S630において、キャンセルボタンがクリックされたことを検知した場合、印刷設定を中止し、一連の印刷処理を中止する。S630において、キャンセルボタンがクリックされたことを検知していない場合、処理をS640に進める。
S640において、OS210は印刷ボタン710がクリックされたことを検知したか否かを判定する。S640において、印刷ボタンをクリックされたことを検知した場合、処理をS641に進め、印刷ボタンをクリックされたことを検知していない場合、S603の処理に戻り更なる印刷設定の操作を受け付ける。
続けて、S641において、OS210は、簡易印刷設定ダイアログ700で設定された印刷設定でPrintTicketを更新する。
最後に、S650において、OS210は印刷処理開始イベントを発生させ、簡易印刷設定ダイアログ700の表示を終了する。印刷処理開始イベントの発生をトリガーとした印刷処理については、図9、図10のフローチャートで後述する。
続けて、S605の印刷拡張アプリ探索処理について図8のフローチャートを用いて説明する。
S801において、OS210は、レジストリ322を参照し、ユーザによって選択された対象プリンタのプリントキュー301に関連付けられた情報を取得する。
S802において、OS210は、対象プリンタに関連付けてプリント印刷拡張アプリ識別子が登録されているか否かを判定する。S802において、印刷拡張アプリ識別子が登録されている場合、処理をS803に進め、S802において、印刷拡張アプリ識別子が登録されていない場合、処理をS805に進める。
S803において、OS210は、コンピュータ101にインストールされている全てのタッチアプリ340に関して、その印刷拡張アプリ識別子に一致するものが存在するか確認する。S803において、印刷拡張アプリ識別子に一致するものがあれば、処理をS804に進め、印刷拡張アプリ識別子に一致するものがなければ、処理をS805に進める。
S804において、OS210はプリントキュー301に関連付いた印刷拡張アプリ350が存在すると判断し、印刷拡張アプリ探索処理の結果として真を返す。この探索処理の結果には、印刷拡張アプリを起動するための識別子と、対象プリンタを特定するための識別情報(対象プリンタのIPアドレスやHWIDなど)も含まれている。
一方、S805において、OS210はプリントキュー301に関連付いた印刷拡張アプリ350が存在しないと判断し、印刷拡張アプリ探索処理の結果として偽を返す。
なお、本実施形態では、拡張印刷アプリを起動するための識別子を検索結果に含める場合を例示したがこれに限定されるものではない。検索結果に拡張印刷アプリを起動するためのURIやファイルパスなどを含めてもよい。
<印刷指示後の印刷制御>
続けて、S650で発行された印刷処理開始イベントに基づく印刷処理について、図9及び図10のフローチャートを用いて説明する。図9のフローチャートは、S650の処理により、印刷処理開始イベントが発行されたことに従って実行されるフローチャートである。
S901において、OS210は、アプリケーションからXPS形式の印刷対象データとPrintTicketを受信し、スプーラ302に一時的に記憶する。
S902において、OS210は印刷拡張アプリ探索処理を行う。S902における印刷拡張アプリ探索処理は、S605における処理と同様であるため説明を省略する。
S903において、OS210はS902の印刷拡張アプリ探索処理の結果が真であるか否かを判定する。S903の結果、S902の印刷拡張アプリ探索処理の結果が真である場合、処理をS904に進め、真でない場合(偽である場合)は、処理をS910に進める。
S904において、OS210は印刷時起動アプリランチャ305を介して、印刷拡張アプリ350の印刷時起動バックグラウンドタスク部353を起動する。また、S902で受信したXPS形式の印刷対象データと、PrintTicketをバックグラウンドタスク部へ受け渡す。また、この際に、対象プリンタを特定するための識別情報(IPアドレスやHWIDなど)も受け渡されるものとする。
S905において、印刷時起動バックグラウンドタスク部353は、印刷設定として地紋印刷機能の設定がなされているか否かを判定する。印刷時起動バックグラウンドタスク部353は、印刷拡張アプリ350を介してアプリ保存領域355に格納されたデータを参照し、データ項目754に真値が格納されているか否かにより印刷設定として地紋印刷機能の設定がなされているかどうかを判定する。印刷設定として地紋印刷機能の設定がなされている場合は、処理をS906に進め、地紋印刷機能の設定がなされていない場合は、処理をS909に進める。
S906において、バックグラウンドタスク部353は、パラメータ更新の必要があるか否かを判定する。具体的には、アプリ保存領域355の更新日763を参照し、更新が行われていないことを示している場合、又は更新から所定日数(例えば30日)を経過している場合に更新が必要であると判定する。更新が必要であると判定した場合、処理をS907に進め、更新が必要でないと判定した場合、処理をS908に進める。
S907において、バックグラウンドタスク部353は、対象プリンタの識別情報に基づき、パラメータの取得先となるプリンタを特定し、当該特定したプリンタから特性パラメータを取得する。取得が完了すると、取得された特性パラメータに基づき対象プリンタに関する特性パラメータ(データ項目761乃至763)を更新する。S907の処理では、一連の印刷に必要となる特性パラメータのみを取得するため、S611の処理に比べて通信に係る時間を削減することができる。このように必要に応じて特性パラメータを更新することで、良好な印字を行えるようにすることができるようになる。
続けて、S908において、バックグラウンドタスク部353は、印刷拡張アプリ350の印刷時起動UI部354を起動する。印刷拡張アプリ350の印刷食堂UI部354は、印刷対象データであるXPSを編集し地紋生成処理を行う。図10はS908の処理を説明するためのフローチャートである。以降、説明の簡略化のため印刷時起動UI部354を印刷拡張アプリ350と呼ぶものとする。
S1001において、印刷拡張アプリ350はデータ項目755からデータ項目758及び大ドットサイズ762をもとに、隠れたパターンである潜像データを生成する。潜像データとは、データ項目755で指定された文字列や、データ項目757の傾きで、データ項目758のフォントで表現した領域内を、大ドットサイズ762のドットサイズでデータ項目756の色で点描した際に規定の濃度となるよう構成したデータである。なお、スタンプなどの描画オブジェクトを埋め込む場合、印刷拡張アプリ350は、予め登録されたスタンプなどをデータ項目757の傾きに応じて適宜回転の上、当該回転したスタンプに基づき隠れたパターンである潜像データを生成するものとする。
続けて、S1002において、印刷拡張アプリ350はデータ項目755からデータ項目758及び小ドットサイズ761をもとに、背景データを生成する。潜像領域外の領域について、小ドットサイズ761のドットサイズでデータ項目756の色で点描した際に規定の濃度となるよう構成したデータである。
印刷拡張アプリ350は、S1001で生成した潜像データとS1002で生成した背景データの所定面積当たりの濃度が同様となるよう制御する。これにより、人間の視覚特定上、大ドットで表現された文字列やスタンプの領域と、小ドットで表現された領域とが薄い一様の模様(均一な模様)として見えるような印刷物を出力できる。これらの印刷物をスキャンしたりコピーしたりすると、小ドットで表現された領域は、小ドットで描画した背景データはスキャナでは読み取られずに消えて、大ドットで描画した隠し文字列が残る。従って複写された原稿であることが一目でわかるようになる。
図10の説明に戻り、S1003において、印刷拡張アプリ350はデータ項目759の値が透かし印刷であるか重ね印刷であるかを判定する。S1003において、データ項目759の値が透かし印刷であった場合、処理をS1004に進め、S1003において、データ項目759の値が重ね印刷であった場合、処理をS1005に進める。
S1004において、S1001で生成した潜像データとS1002で生成した背景データを、元々の描画データよりも背面に出力されるよう、XPSを編集する。即ち元々の描画データの背面に潜像データと背景データからなる地紋データを合成する。
一方、S1005において、S1001で生成した潜像データとS1002で生成した背景データを、元々の描画データよりも前面に出力されるよう、XPSを編集する。即ち元々の描画データの前面に潜像データと背景データからなる地紋データを合成する。処理が完了すると、処理を図9のS908に進める。
続けて、S909において、印刷拡張アプリ350は、詳細印刷設定ダイアログ720で設定を行ったページ集約721のデータ項目751及びステープル722のデータ項目752に基づき、PrintTicketとXPSを編集する。S908の編集が完了すると、印刷拡張アプリ350は、OS210のスプーラ302に編集後のPrintTicketとXPSを書き戻し、アプリのプロセスを完了する。
S910において、OS210はフィルタパイプラインマネージャ303を介して、スプーラ302からPrintTicketとXPSファイルを取得する。
S911において、OS210は、フィルタパイプラインマネージャ303を介して、フィルタコンフィグ312の定義に基づき、使用するプリンタドライバ211に対応するフィルタ311を外部メモリ209から読み出し、RAM202にロードする。S912において、OS210はフィルタパイプラインマネージャ303を介して、XPSを展開したフィルタ311に入力し、フィルタ311によるPDL変換処理を実行する。なお、S912のPDL変換処理で用いられるフィルタ311は複数で構成されていてもよい。S913において、OS210はフィルタパイプラインマネージャ303を介して、S912のPDL変換処理の結果得られたPDLをスプーラ302に転送する。その後、OS210はスプーラ302を介して、ネットワークI/F213と協働して、PDLとPrintTicketを含むデータを印刷ジョブとして対象のプリンタ(例えば印刷装置102)へ送信する。
当該印刷ジョブを受信した印刷装置は、印刷ジョブに基づいてシートに印刷画像を印刷する。印刷ジョブに地紋データが含まれている場合、文字列やパターンなどの隠し情報が含まれた印刷物を出力することができる。このとき、潜像データと背景データは対象プリンタとして選択された印刷装置の特性パラメータに基づき、当該印刷装置の印字能力に合わせて生成されたものが付与される。従って、適切な地紋印刷を行えるようになる。
以上説明した一連の処理より、印刷装置毎の特性パラメータに基づいた地紋印刷機能を実現できるようになる。これにより共通のプリンタドライバ211を使用する場合であっても、出力先の印刷装置に応じて異なる地紋パラメータに従った地紋生成処理を実現することが可能となる。
<変形例>
上述の実施例では、共通プリンタドライバを構成するフィルタ311によりXPSをPDLに変換する例を示したが、これに限定されず、印刷拡張アプリ350がPDL変換処理を行う構成であってもよい。この場合、フィルタ311ではアプリケーションから取得されたデータ(例えば、XPSやPDF)に対して特に処理を加えず、後段の印刷拡張アプリ350にデータを転送するよう構成すればよい。
更に、上述の実施形態では、印刷拡張アプリ350が印刷装置から取得する特性パラメータの一例として地紋印刷機能のパラメータを例示し、印刷拡張アプリ350の独自の機能の一例として地紋印刷機能を例示したがこれに限定されるものではない。例えば、印刷装置の個体毎に調整された、カラーキャリブレーション情報、カラープロファイル情報や、レジストレーション補正情報、ハーフトーン処理に用いるディザマトリクスに関する特性パラメータを印刷装置から取得するようにしてもよい。例えば、カラーキャリブレーション情報や、カラープロファイル情報は、ホスト側である情報処理装置で印刷データに対する色補正や濃度補正、色ずれ補正を行う際に適宜活用される。また、レジストレーション情報やディザマトリクスは、ホスト側である情報処理装置の拡張アプリ350で印刷に用いるハーフトーン画像を生成する場合に適宜活用される。ここで、電子写真方式の印刷装置は、感光ドラムやレーザユニットの取り付け精度等により感光ドラム状に照射されるレーザーの走査線に曲がりが生じうる。前述したレジストレーション情報は、当該曲がりが発生することを考慮した上で、当該曲がりが相殺されるように、予め画像データを主走査方向の所定の位置において副走査方向にずらすレジストレーション補正を行うために適宜活用される。
また、上述の実施形態では、XPSの処理対象データをPDLに変換する前に、S902〜S908に示したベンダの独自機能を実行する場合を例示したがこれに限定されるものではない。PDFやラスタなどのPDLへの変換処理であるS910〜S912が行われた後に、ベンダの独自機能を提供するように制御することもできる。S910〜S912の処理を先に実行し、その後にS902〜S909に相当する処理を実行するようにすればよい。
<その他の実施形態>
本発明は、上述の各実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASICやFPGA)によっても実現可能である。
101 クライアントコンピュータ
201 CPU
211 共通プリンタドライバ
350 印刷拡張アプリ

Claims (8)

  1. 複数の異なる印刷装置に対して共通に利用可能な共通プリンタドライバと、拡張アプリケーションとを有する情報処理装置であって、
    印刷に用いるデータと、出力対象となる印刷装置の識別情報を取得する第1取得手段と、
    前記第1取得手段によって取得された前記識別情報に基づき特定される印刷装置から、当該印刷装置の特性パラメータを取得する第2取得手段と、
    前記第2取得手段によって取得した前記特性パラメータに基づく情報を、前記拡張アプリケーションがアクセス可能な領域に書き込む書き込み手段と、
    を有することを特徴とする情報処理装置。
  2. 前記特性パラメータは原稿をコピーすると浮き上がるパターンを、隠れたパターンとして印刷物の背景に埋め込む地紋印刷機能で使用するパラメータを少なくとも含むことを特徴とする請求項1に記載の情報処理装置。
  3. 前記地紋印刷機能で使用するパラメータは、隠れたパターンを表現する際に用いるドットのサイズと、前記隠れたパターンとは異なる模様を表現する際に用いるドットのサイズを示すパラメータを含み、
    前記拡張アプリケーションは、前記アクセス可能な領域に記憶された前記地紋印刷機能で使用するパラメータを参照し、前記隠れたパターンを構成するドットの領域と模様を構成するドットの領域の濃度が均一となるような画像を生成し、前記共通プリンタドライバによって生成されるデータに、当該生成した画像を合成する機能を提供することを特徴とする請求項2に記載の情報処理装置。
  4. 前記印刷装置から取得される特性パラメータには、原稿をコピーすると浮き上がるパターンを、隠れたパターンとして印刷物の背景に埋め込む地紋印刷機能で使用するパラメータ、ハーフトーン処理に使用するパラメータ、カラーマッチングに使用するパラメータのいずれか1つのパラメータが含まれていることを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
  5. 印刷に関する設定を行う画面を表示する表示制御手段と、
    前記表示制御手段に表示される所定の表示アイテムが選択されたことに応じて、出力対象となる印刷装置の識別情報に基づき特定される印刷装置から、当該印刷装置の特性パラメータを取得する第3の取得手段と、
    前記第3の取得手段によって取得した前記特性パラメータに基づき、前記拡張アプリケーションがアクセス可能な領域に、前記特性パラメータを書き込む第2の書き込み手段と、
    を更に有することを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
  6. 前記第2の取得手段及び第3の取得手段は所定の双方向通信を用いて前記出力対象となる前記印刷装置から前記特性パラメータを取得することを特徴とする請求項5に記載の情報処理装置。
  7. 複数の異なる印刷装置に対して共通に利用可能な共通プリンタドライバと、拡張アプリケーションとを有する情報処理装置の制御方法であって、
    印刷に用いるデータと、出力対象となる印刷装置の識別情報を取得する第1取得工程と、
    前記第1取得手段によって取得された前記識別情報に基づき特定される印刷装置から、当該印刷装置の特性パラメータを取得する第2取得工程と、
    前記第2取得工程で取得された前記特性パラメータに基づく情報を前記拡張アプリケーションがアクセス可能な領域に書き込む書き込み工程と、
    を有することを特徴とする制御方法。
  8. 共通プリンタドライバを有する情報処理装置で動作し、前記共通プリンタドライバと通信するアプリケーションプログラムであって、
    前記アプリケーションプログラムは、前記情報処理装置のコンピュータを、
    印刷に用いるデータと、出力対象となる印刷装置の識別情報を取得する第1取得工程と、
    前記第1取得手段によって取得された前記識別情報に基づき特定される印刷装置から、当該印刷装置の特性パラメータを取得する第2取得工程と、
    前記第2取得工程で取得された前記特性パラメータに基づく情報を、前記アプリケーションプログラムがアクセス権限を有する領域に書き込む書き込み工程と、
    として機能させることを特徴とするアプリケーションプログラム。
JP2018247846A 2018-12-28 2018-12-28 情報処理装置、制御方法及びアプリケーションプログラム Active JP7278772B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018247846A JP7278772B2 (ja) 2018-12-28 2018-12-28 情報処理装置、制御方法及びアプリケーションプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018247846A JP7278772B2 (ja) 2018-12-28 2018-12-28 情報処理装置、制御方法及びアプリケーションプログラム

Publications (2)

Publication Number Publication Date
JP2020107241A true JP2020107241A (ja) 2020-07-09
JP7278772B2 JP7278772B2 (ja) 2023-05-22

Family

ID=71449200

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018247846A Active JP7278772B2 (ja) 2018-12-28 2018-12-28 情報処理装置、制御方法及びアプリケーションプログラム

Country Status (1)

Country Link
JP (1) JP7278772B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021117277A1 (ja) * 2019-12-12 2021-06-17 ブラザー工業株式会社 サポートプログラム、情報処理装置、および印刷方法
WO2023095776A1 (ja) * 2021-11-29 2023-06-01 ブラザー工業株式会社 サポートプログラム及び印刷システム
WO2023181987A1 (ja) * 2022-03-23 2023-09-28 ブラザー工業株式会社 サポートプログラムおよび印刷システム
WO2023189413A1 (ja) * 2022-03-28 2023-10-05 ブラザー工業株式会社 サポートプログラム
JP7487255B2 (ja) 2022-04-18 2024-05-20 キヤノン株式会社 情報処理装置、情報処理装置の制御方法ならびにプログラム

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005258721A (ja) * 2004-03-10 2005-09-22 Canon Inc デバイス構成情報の取得方法及び情報処理装置
JP2007043656A (ja) * 2005-06-30 2007-02-15 Canon Inc 濃度決定方法及び画像形成装置及び画像処理システム
JP2013058151A (ja) * 2011-09-09 2013-03-28 Canon Inc 印刷システム、プリンター、プリントサーバー、及びその方法
JP2013101595A (ja) * 2011-10-14 2013-05-23 Canon Inc ネットワークシステム及びクライアント装置とその方法
JP2017021679A (ja) * 2015-07-14 2017-01-26 株式会社リコー 情報処理装置、印刷システム、情報処理方法、印刷方法及びプログラム
JP2018010694A (ja) * 2006-09-15 2018-01-18 株式会社リコー 情報処理装置及びプログラム
JP2018049579A (ja) * 2016-09-15 2018-03-29 株式会社リコー 情報処理装置、情報処理方法、及びプログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005258721A (ja) * 2004-03-10 2005-09-22 Canon Inc デバイス構成情報の取得方法及び情報処理装置
JP2007043656A (ja) * 2005-06-30 2007-02-15 Canon Inc 濃度決定方法及び画像形成装置及び画像処理システム
JP2018010694A (ja) * 2006-09-15 2018-01-18 株式会社リコー 情報処理装置及びプログラム
JP2013058151A (ja) * 2011-09-09 2013-03-28 Canon Inc 印刷システム、プリンター、プリントサーバー、及びその方法
JP2013101595A (ja) * 2011-10-14 2013-05-23 Canon Inc ネットワークシステム及びクライアント装置とその方法
JP2017021679A (ja) * 2015-07-14 2017-01-26 株式会社リコー 情報処理装置、印刷システム、情報処理方法、印刷方法及びプログラム
JP2018049579A (ja) * 2016-09-15 2018-03-29 株式会社リコー 情報処理装置、情報処理方法、及びプログラム

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021117277A1 (ja) * 2019-12-12 2021-06-17 ブラザー工業株式会社 サポートプログラム、情報処理装置、および印刷方法
US11775230B2 (en) 2019-12-12 2023-10-03 Brother Kogyo Kabushiki Kaisha Non-transitory computer-readable storage medium, information processing device, and printing method for controlling a printer from an information processing device
WO2023095776A1 (ja) * 2021-11-29 2023-06-01 ブラザー工業株式会社 サポートプログラム及び印刷システム
US11893294B2 (en) 2021-11-29 2024-02-06 Brother Kogyo Kabushiki Kaisha Non-transitory computer-readable storage medium and printing system
WO2023181987A1 (ja) * 2022-03-23 2023-09-28 ブラザー工業株式会社 サポートプログラムおよび印刷システム
WO2023189413A1 (ja) * 2022-03-28 2023-10-05 ブラザー工業株式会社 サポートプログラム
JP7487255B2 (ja) 2022-04-18 2024-05-20 キヤノン株式会社 情報処理装置、情報処理装置の制御方法ならびにプログラム

Also Published As

Publication number Publication date
JP7278772B2 (ja) 2023-05-22

Similar Documents

Publication Publication Date Title
JP7278772B2 (ja) 情報処理装置、制御方法及びアプリケーションプログラム
KR102549370B1 (ko) 정보 처리 장치, 제어 방법 및 프로그램
JP7341647B2 (ja) 情報処理装置、制御方法及びプログラム
US8640148B2 (en) Information processing apparatus, information processing method and storage medium
EP2490119A2 (en) Printing system, control method, information processing apparatus, device driver program, and installer program
JP2006252480A (ja) コンピュータ、画像処理システム、及び画像処理方法
JP2020004158A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP5577892B2 (ja) 情報処理装置、プログラムおよび記録媒体
JP7362855B2 (ja) 画像形成装置、画像形成装置の制御方法、及びプログラム
JP5551422B2 (ja) ドキュメントにセキュリティ特徴を組み込む方法とその装置
JP2016177432A (ja) プログラム、情報処理装置、記憶媒体、画面作成方法
US11842100B2 (en) Server system, information processing apparatus communicating with server system, control method, and computer-readable storage medium
JP5834526B2 (ja) 印刷制御プログラム、情報処理装置及び印刷装置
JP2021124738A (ja) プログラム、及び情報処理装置
JP2017117235A (ja) 管理プログラム、管理システム、情報処理装置
JP2011031553A (ja) 印刷装置、印刷制御方法及びプログラム
US11474759B2 (en) Image forming apparatus providing distributed rendering service
CN110764720B (zh) 打印设备、打印设备的控制方法和存储介质
JP7282507B2 (ja) 情報処理装置、サーバ装置、制御方法、制御プログラム
JP2010214725A (ja) 印刷装置及び印刷システムと、印刷装置の制御方法
JP2021043547A (ja) 情報処理装置および情報処理装置の制御方法ならびにプログラム
JP6519942B2 (ja) 画像形成装置およびプログラム
JP2020030697A (ja) 情報処理装置、端末装置、設定画面表示システム、設定画面表示方法
US20230333786A1 (en) Information processing apparatus, control method therefor, and non-transitory computer-readable storage medium
JP2023153904A (ja) 情報処理装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211220

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211220

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221018

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221025

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221220

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230510

R151 Written notification of patent or utility model registration

Ref document number: 7278772

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151