米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 計算機;電気通信 -> キヤノン株式会社

発明の名称 情報処理装置および印刷制御方法およびプログラム
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開2007−4332(P2007−4332A)
公開日 平成19年1月11日(2007.1.11)
出願番号 特願2005−181555(P2005−181555)
出願日 平成17年6月22日(2005.6.22)
代理人 【識別番号】100071711
【弁理士】
【氏名又は名称】小林 将高
発明者 古閑 宏
要約 課題
使用可能な印刷機能に応じて最適なドキュメント編集、また、認証情報に応じた細かな使用可能な印刷機能制限、さらに、標準的な印刷機能の他にオプション装置類等を搭載して実現可能なプリンタデバイス機能および高度なプリンタドライバ実現機能の使用を可能とし、より付加価値の高い印刷環境を提供すること。

解決手段
アプリケーションプログラム103から該当アプリケーションプログラム103の認証情報をプリンタドライバ102に通知し、該通知される認証情報に基づいて、プリンタドライバ102が動作および機能可能な印刷を行うための印刷設定情報を選択してアプリケーションプログラム103に通知し、該通知される印刷設定情報に基づいて、アプリケーションプログラム103上でドキュメントの編集及び印刷設定を制御する構成を特徴とする。
特許請求の範囲
【請求項1】
所定のアプリケーションプログラムにおけるドキュメントの印刷制御処理に基づいてプリンタドライバが該ドキュメントの印刷ジョブを生成して印刷装置に送信する情報処理装置において、
前記アプリケーションプログラムから該当アプリケーションプログラムの認証情報を前記プリンタドライバに通知する第1の通知手段と、
前記第1の通知手段により通知される認証情報に基づいて、前記プリンタドライバが動作および機能可能な印刷を行うための印刷設定情報を選択して前記アプリケーションプログラムに通知する第2の通知手段と、
前記第2の通知手段により通知される印刷設定情報に基づいて、前記アプリケーションプログラム上でのドキュメントの編集及び印刷設定を制御する制御手段と、
を有することを特徴とする情報処理装置。
【請求項2】
前記認証情報は、前記アプリケーションプログラムの使用目的あるいは動作目的に応じたものであり、
前記認証情報に応じたアクセス制御レベル情報を記憶管理する第1の記憶手段とを設け、
前記第2の通知手段は、前記第1の通知手段により通知される認証情報に基づいて、前記プリンタドライバにて認証処理を行って前記第1の記憶手段からアクセス制御レベルを取得し、該取得したアクセス制御レベルに応じた動作および機能可能な印刷を行うための印刷設定情報を選択して前記アプリケーションプログラムに通知することを特徴とする請求項1記載の情報処理装置。
【請求項3】
前記印刷設定情報は、前記印刷装置において実行可能な印刷機能および前記プリンタドライバの印刷制御処理で実行可能な印刷機能を表わす印刷機能属性情報と、前記印刷機能情報に基づきプリンタドライバで実行可能な各種印刷機能の実行範囲を表わす印刷能力属性情報を含むことを特徴とする請求項1又は2記載の情報処理装置。
【請求項4】
前記印刷機能属性情報は、給紙方法、排紙方法、両面印刷機能、複数ページ割付印刷、ステイプル機能、パンチ機能、トリミング機能、用紙Z折り機能などの各種フィニッシング機能、さらにこれらの機能を複合して実現する製本機能、スタンプ機能、フォントダウンロード機能、フォント置換機能、フォームオーバレイ機能等の前記プリンタドライバにおいて実行可能な印刷機能情報を含むことを特徴とする請求項3記載の情報処理装置。
【請求項5】
前記印刷能力属性情報は、モノクロ印刷時の階調数、カラー印刷時の色深度、色調、色空間および設定可能なカラープロファイル、マッチング方法、設定可能解像度、ベクタ/イメージ描画、ディザリングなどのグラフィックス描画方法、印刷可能な用紙サイズおよび用紙種、最大設定可能コピー部数、複数ページ割付印刷時の割付可能ページ数の前記プリンタドライバにおいて各種印刷機能実行のための印刷能力情報を含むことを特徴とする請求項3又は4記載の情報処理装置。
【請求項6】
前記第1通知手段,前記第2の通知手段は、前記アプリケーションプログラムおよび前記プリンタドライバプログラムに、共通の任意にプログラミング可能な関数あるいはデータ形式のプログラミングインターフェースによりデータの送受信を行うことを特徴とする請求項1〜5のいずれかに記載の情報処理装置。
【請求項7】
前記アプリケーションプログラムから前記アプリケーションプログラムインタフェースを用いて前記プリンタドライバに印刷設定を指示する印刷設定手段を設けたことを特徴とする請求項1〜6のいずれかに記載の情報処理装置。
【請求項8】
前記プリンタドライバで、前記印刷設定手段により指示された印刷設定に基づき、印刷制御命令を生成し、該印刷制御命令と前記アプリケーションプログラムからの印刷ドキュメントデータを組み合わせて印刷装置に送信する印刷制御手段を設けたことを特徴とする請求項1〜7のいずれかに記載の情報処理装置。
【請求項9】
所定のアプリケーションプログラムにおけるドキュメントの印刷制御処理に基づいてプリンタドライバが該ドキュメントの印刷ジョブを生成して印刷装置に送信する情報処理装置における印刷制御方法において、
前記アプリケーションプログラムから該当アプリケーションプログラムの認証情報を前記プリンタドライバに通知する第1の通知ステップと、
前記第1の通知ステップにより通知される認証情報に基づいて、前記プリンタドライバが動作および機能可能な印刷を行うための印刷設定情報を選択して前記アプリケーションプログラムに通知する第2の通知ステップと、
前記第2の通知ステップにより通知される印刷設定情報に基づいて、前記アプリケーションプログラム上でのドキュメントの編集及び印刷設定を制御する制御ステップと、
を有することを特徴とする印刷制御方法。
【請求項10】
請求項9に記載された印刷制御方法をコンピュータに実行させるためのプログラム。
【請求項11】
請求項9に記載された印刷制御方法をコンピュータに実行させるためのプログラムをコンピュータが読み取り可能に記憶した記憶媒体。
発明の詳細な説明
【技術分野】
【0001】
本発明は、所定のアプリケーションプログラムにおけるドキュメントの印刷制御処理に基づいてプリンタドライバが該ドキュメントの印刷ジョブを生成して印刷装置に送信する情報処理装置および印刷制御方法およびプログラムに関する。
【背景技術】
【0002】
従来のオペレーティングシステム上で実行されるドキュメント作成・印刷アプリケーションプログラムからの印刷に関して、以下(1),(2)に示す方法が一般的であった。
【0003】
(1)Windows(登録商標)に代表されるオペレーティングシステム環境においては、Software Development Kit(SDK)で共通のアプリケーションプログラムインタフェース(API)が提供され、これを利用して最小限の印刷属性設定および印刷指示を行う方法。
【0004】
(2)特開平7−44388号公報の「コンピュータシステムの印刷処理装置および方法」に代表されるように一般的なプリンタドライバの動作で、利用者にユーザインタフェース(ダイアログボックス)でオプション装置を指定させ、そのオプション情報に基づき、最終的な印刷データを作成し、印刷装置に送信する方法。
【0005】
さらに、プログラム認証によるアクセス制御においては、以下の従来技術がある。
【0006】
特開2003−30149号公報の「認証方法に基づいてリソースへのアクセスを制御するための方法および装置」にあるように、この技術は、オペレーティングシステムを介して、コンピュータおよびコンピュータネットワーク中のリソース、オブジェクト(ファイル/フォルダ/プログラム/プリンタ/…など)へのユーザあるいはグループのログイン情報に基づく、アクセスおよび監査を制御するものである。
【特許文献1】特開平7−44388号公報
【特許文献2】特開2003−30149号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながら上記従来例では、ドキュメント作成・印刷アプリケーションプログラムからの印刷を行う場合、以下に示すような問題があった。
【0008】
Windows(登録商標) SDKなどのオペレーティングシステムに付属する開発キットでは、印刷装置の一般的な印刷属性設定および印刷指示だけしかできず、高機能を有する印刷装置に対して、一部の一般的な機能のみ使用して、その他の付加価値が高い機能は使用できないでいた。
【0009】
印刷装置の使用可能な機能は、利用者がユーザインタフェース(ダイアログボックス)等で明示的に確認しなければ、認識できない。例えば、カラー印刷不可能な印刷装置で印刷するドキュメントを作成する場合、ユーザがカラー印刷不可能な旨を知らずに、カラーでドキュメントを作成・編集してしまう等といった事態が発生していた。
【0010】
従来、アプリケーションプログラム使用あるいはデータファイル、オブジェクト利用のためのアクセス制御はあったが、アプリケーションプログラムの使用目的あるいは動作目的に応じて、使用する印刷機能の制限、一般には公開されていない機能の使用許可のアクセス制御を行う認証機構がなく、細かなアクセス制御ができなかった等の問題点があった。
【0011】
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、所定のアプリケーションプログラムにおけるドキュメントの印刷制御処理に基づいてプリンタドライバが該ドキュメントの印刷ジョブを生成して印刷装置に送信する情報処理装置において、前記アプリケーションプログラムから該当アプリケーションプログラムの認証情報を前記プリンタドライバに通知し、該通知される認証情報に基づいて、前記プリンタドライバが動作および機能可能な印刷を行うための印刷設定情報を選択して前記アプリケーションプログラムに通知し、該通知される印刷設定情報に基づいて、前記アプリケーションプログラム上でのドキュメントの編集及び印刷設定を制御することにより、使用可能な印刷機能に応じて最適なドキュメント編集を可能とし、また、認証情報に応じた細かな使用可能な印刷機能制限を可能とし、さらに、標準的な印刷機能の他にオプション装置類等を搭載して実現可能なプリンタデバイス機能および高度なプリンタドライバ実現機能を使用可能とし、より付加価値の高い印刷機能を提供することを可能とする情報処理装置および印刷制御方法およびプログラムおよび記憶媒体を提供することである。
【課題を解決するための手段】
【0012】
本発明は、所定のアプリケーションプログラムにおけるドキュメントの印刷制御処理に基づいてプリンタドライバが該ドキュメントの印刷ジョブを生成して印刷装置に送信する情報処理装置において、前記アプリケーションプログラムから該当アプリケーションプログラムの認証情報を前記プリンタドライバに通知する第1の通知手段と、前記第1の通知手段により通知される認証情報に基づいて、前記プリンタドライバが動作および機能可能な印刷を行うための印刷設定情報を選択して前記アプリケーションプログラムに通知する第2の通知手段と、前記第2の通知手段により通知される印刷設定情報に基づいて、前記アプリケーションプログラム上でのドキュメントの編集及び印刷設定を制御する制御手段とを有することを特徴とする。
【発明の効果】
【0013】
本発明によれば、所定のアプリケーションプログラムにおけるドキュメントの印刷制御処理に基づいてプリンタドライバが該ドキュメントの印刷ジョブを生成して印刷装置に送信する情報処理装置において、前記アプリケーションプログラムから該当アプリケーションプログラムの認証情報を前記プリンタドライバに通知し、該通知される認証情報に基づいて、前記プリンタドライバが動作および機能可能な印刷を行うための印刷設定情報を選択して前記アプリケーションプログラムに通知し、該通知される印刷設定情報に基づいて、前記アプリケーションプログラム上でのドキュメントの編集及び印刷設定を制御するので、使用可能な印刷機能に応じて最適なドキュメント編集を可能とし、また、認証情報に応じた細かな使用可能な印刷機能制限を可能とし、さらに、標準的な印刷機能の他にオプション装置類等を搭載して実現可能なプリンタデバイス機能および高度なプリンタドライバ実現機能を使用可能とし、より付加価値の高い印刷機能を使用可能な印刷環境を提供することができる等の効果を奏する。
【発明を実施するための最良の形態】
【0014】
以下、添付図面にしたがって本発明の実施形態を詳細に説明する。
【0015】
〔第1実施形態〕
<本実施形態における動作例の概略>
以下にホストコンピュータシステム(以下、ホストコンピュータ)上にWindows(登録商標)オペレーティング(OS)、ドキュメント作成・印刷アプリケーションプログラム、プリンタドライバプログラムおよびこれに接続する印刷装置(プリンタ)から構成される印刷システムを、本発明の印刷システムの一例として説明する。
【0016】
本発明の印刷システムでは、ホストコンピュータシステム上で動作するアプリケーションプログラムおよびプリンタドライバプログラムにおいて、相互に各種情報および各種データを通知する手段として、任意にプログラミング可能な関数あるいはデータ形式のアプリケーションプログラムインタフェース(API)を備える。なお、このAPIは、上記アプリケーションプログラムおよびプリンタドライバが動作する上記ホストコンピュータ上のオペレーティングシステム上で認識実行可能である。
【0017】
この印刷システムでは、アプリケーションプログラムからの認証情報通知により、プリンタドライバでアプリケーションプログラムのアクセス制御レベルに応じた、印刷機能属性情報および印刷能力属性情報を生成し、APIを使用し、アプリケーションプログラムに通知する。アプリケーションプログラムでは、上記プリンタドライバから通知される印刷機能属性情報および印刷能力属性情報に基づき、目的の印刷ドキュメント体裁加工を施し、同じくAPIを使用し、各種印刷属性設定および印刷指示を行う例を示す。
【0018】
<OS、アプリケーション、プリンタドライバおよびプリンタのシステム構成の説明(図1)>
図1は、本発明の一実施形態を示す印刷システムの一例を示すシステム構成図である。なお、本実施形態では、Windows(登録商標)オペレーティングシステム(OS)、ドキュメント作成・印刷アプリケーションプログラム、プリンタドライバプログラムおよびこれに接続する印刷装置(プリンタ)から構成されるシステムについて、各要素間のAPIの流れ、及び各種データの流れを示す。
【0019】
図1において、100はホストコンピュータである。このホストコンピュータ100のプログラムメモリ上では、Windows(登録商標)オペレーティングシステム(OS)101、プリンタドライバプログラム102およびドキュメント作成・印刷アプリケーションプログラム103が動作・実行される。
【0020】
104はプリンタであり、上記ホストコンピュータ100に接続される。プリンタ104において、105はプリンタ104から出力されるドキュメント印刷である。
【0021】
次に、本発明の印刷システムの動作・作用について詳細に説明する。
【0022】
ホストコンピュータ100のプログラムメモリ上で動作するOS101上で実行されるアプリケーションプログラム103が初期化される時点で、プリンタドライバ102が、OS101へロードされる。これにより、アプリケーションプログラム103からもプリンタドライバ102と各種情報およびデータの送受信が可能となる。
【0023】
また、この初期化時、APIとなるプログラム関数を含むライブラリ群(プリンタドライバSDK(Software Development Kit)API)も、アプリケーションプログラム103においてロードする。
【0024】
そして、アプリケーションプログラム103は、本印刷システムにおけるその使用目的あるいは動作目的に応じたアクセス権限に基づく認証情報をプリンタドライバに通知する。ここでの認証情報は、アプリケーションプログラムの名称、対応OS、バージョン番号などの前記アプリケーションプログラムを識別する情報、及び、あらかじめ該当アプリケーションプログラム103に付与されるアクセスID、パスワード等の情報であり、前記アプリケーションプログラムにおいて利用する印刷機能・能力あるいは性能に対するアクセス権限を決定するための情報である。また、この認証情報に、アプリケーションプログラム103のユーザのユーザID,パスワード等も含めるように構成してもよく、ユーザ毎にアプリケーションプログラムの認証情報を変化させるように構成してもよい。
【0025】
さらに、アプリケーションプログラム103は、前記初期化時に前記プリンタドライバSDK APIを使用して、OS101を介して、プリンタドライバ102に、印刷機能属性情報,印刷能力属性情報を問い合わせる。ここで、印刷機能属性情報とは、印刷装置において実行可能な印刷機能およびプリンタドライバ102の印刷制御処理で実行可能な印刷機能を表わす情報を示す。また、印刷能力属性情報とは、上記各種印刷機能情報に基づきOS101およびプリンタドライバ102で実行可能な各種印刷機能の実行範囲を表わす情報を示す。なお、印刷機能属性情報,印刷能力属性情報の具体的例は後述する。
【0026】
プリンタドライバ102は、上記アプリケーションプログラム103からのプリンタドライバSDK APIによる問い合わせを受けて、プリンタドライバ102内で備え、管理される認証情報データベースを参照する。なお、この認証情報データベースは、上記アプリケーションプログラムの認証情報毎に、各アプリケーションプログラムのアクセス制御レベル情報を格納、保管するものである。
【0027】
また、プリンタドライバ102は、アプリケーションプログラム103からのAPIによる前記認証情報通知に基づき、前記アプリケーションプログラム103に対する認証を行い、現在動作するアプリケーションプログラムが利用できる印刷機能・能力あるいは性能に対するアクセス制御レベルを決定する。
【0028】
さらに、プリンタドライバ102は、アプリケーションプログラム103の前記アクセス制御レベルに応じた印刷機能属性情報および印刷能力属性情報を生成する。なお、上記印刷機能属性情報とは、具体的には、給紙方法、排紙方法、両面印刷機能、N−up印刷(複数ページ割付印刷)機能、ステイプル機能、パンチ機能、トリミング機能、用紙Z折り機能などの各種フィニッシング機能、さらにこれらの機能を複合して実現する製本機能、スタンプ(Watermark)機能、フォントダウンロード機能、フォント置換機能、フォームオーバレイ機能等の、前記プリンタドライバにおいて実行可能な印刷機能属性情報を示す。また、上記印刷能力属性情報とは、具体的には、モノクロ印刷時の階調数、カラー印刷時の色深度、色調、色空間および設定可能なカラープロファイル、マッチング方法、設定可能解像度、ベクタ/イメージ描画、ディザリングなどのグラフィックス描画方法、印刷可能な用紙サイズおよび用紙種、最大設定可能コピー部数、N−up印刷時の印刷設定可能N−up数(複数ページ割付印刷時の割付可能ページ数)等の、前記プリンタドライバ102において各種印刷機能実行のための印刷能力属性情報を示す。
【0029】
そして、プリンタドライバ102は、上記生成された印刷機能属性情報および印刷能力属性情報を、前記アプリケーションプログラム103からコールされたプリンタドライバSDK API関数に対するリターンとして、OS101を介して、アプリケーションプログラム103に通知する。
【0030】
また、アプリケーションプログラム103では、プリンタドライバ102より通知された印刷機能属性情報および印刷能力属性情報に基づいて、アプリケーションプログラム内の各種設定処理を行う。例えば、印刷機能属性情報および印刷能力属性情報でカラー印刷機能が不可となっていた場合には、アプリケーションプログラム103でのカラー編集(カラードキュメント作成)を不可に設定する。また、製本機能が不可となっていた場合には、アプリケーションプログラム103での印刷ダイアログ上の製本指定を不可能に設定する。さらに、スタンプ機能が不可となっていた場合には、アプリケーションプログラム103での印刷ダイアログ上のスタンプ指定を不可能に設定する。そして、このように設定されたアプリケーションプログラム103において、ユーザはドキュメント作成・体裁加工を行う。
【0031】
さらに、ユーザがアプリケーションプログラム103上で印刷設定,印刷指示を行うと、アプリケーションプログラム103では、プリンタドライバSDK APIを使用しての各種印刷属性設定,印刷指示、又は/及び、通常のOS101がもつGDI(Graphical Device Interface)で提供されるWindows(登録商標) SDK APIを使用しての印刷設定(例えば、DEVMODE構造体を用いた印刷設定),印刷指示をプリンタドライバ102に対して行う。
【0032】
そして、プリンタドライバ102は、アプリケーションプログラム103からプリンタドライバSDK APIを使用しての各種印刷属性設定、印刷指示がなされると、該印刷属性設定に基づいて、印刷制御命令を生成し、印刷指示に基づく印刷データと組み合わせて、プリンタ104に送信する。一方、アプリケーションプログラム103から通常のWindows(登録商標) SDK APIを使用しての印刷設定、印刷指示がなされると、プリンタドライバ102では、OS101からコールされる印刷属性設定および印刷指示関数に基づいて、印刷制御命令を生成し、印刷指示に基づく印刷データと組み合わせて、プリンタ104に送信する。これにより、プリンタ104から目的のドキュメントの印刷出力105を行うことが可能となる。
【0033】
本実施形態の印刷システムは、以上示したような構成からなる。
【0034】
なお、ここでは、ホストコンピュータ100上の各種プログラム環境となるOS101として、Windows(登録商標)を例にあげて説明したが、他のオペレーティングシステムにおいても本発明を適用できる。
【0035】
<OS,アプリケーション、プリンタドライバの各処理の流れを表すブロック図の説明(図2)>
図2は、図1に示したホストコンピュータ100上のOS101、アプリケーションプログラム103、プリンタドライバ102およびプリンタ104における、プリンタドライバSDK APIを使用して、初期化から印刷までの各構成要素の内部および構成要素間の処理の流れをあらわすブロック図である。なお、図1と同一のものには同一の符号を付してある。
【0036】
図2において、300はOS101のWindows(登録商標) GDI(以下、単にGDI)である。
【0037】
以下、アプリケーションプログラム103、GDI300、プリンタドライバ102から、プリンタ200へドキュメントデータ送信、ドキュメント印刷までの流れについて、詳細に説明する。なお、図2中のS201〜S207はアプリケーションプログラム103のステップに対応する。また、S211〜S213はGDI300のステップに対応する。さらに、S221〜S229はプリンタドライバ102のステップに対応する。
【0038】
図2のステップS201に示すように、まず、アプリケーションプログラム103で、各種動作処理に要するメモリ領域の確保、各種属性パラメータの初期化、ディスプレイやプリンタ104に対するデバイスコンテキストの作成、フォント/ペン/ブラシなどのオブジェクト作成などの初期化処理を行う。
【0039】
GDI300では、アプリケーションプログラム103のドキュメント生成、印刷のための各種初期化処理を受けて、GDI300における各種動作処理に要するメモリ領域の確保、各種属性パラメータの初期化処理を行う(S211)。
【0040】
プリンタドライバ102においても、アプリケーションプログラム103およびGDI300のドキュメント印刷のための各種初期化処理を受けて、プリンタドライバ102における各種動作処理に要するメモリ領域の確保、各種属性パラメータの初期化処理を行う(S221)。
【0041】
次に、アプリケーションプログラム103から、プリンタドライバSDK APIを使用して、前記アプリケーションプログラム103のシステム上での使用目的あるいは動作目的に応じたアクセス権限に基づく認証情報をプリンタドライバ102に通知する(S202)。
【0042】
そして、プリンタドライバ102は、アプリケーションプログラム103からの認証情報通知を受けて、認証情報データベースを参照し、前記認証情報の認証および照合を行う(S222)。さらに、プリンタドライバ102は、アプリケーションプログラム103のドキュメント印刷に係る印刷機能および印刷能力・性能に対するアクセス制御レベルを決定する(S223)。
【0043】
続いて、アプリケーションプログラム103は、現在有効で使用可能なドキュメント印刷に係る印刷機能および印刷能力・性能について、プリンタドライバSDK APIを使用して、プリンタドライバ102に問い合わせる(S203)。
【0044】
プリンタドライバ102は、この問い合わせを受けて、アプリケーションプログラム103のドキュメント印刷に係る印刷機能および印刷能力・性能に対するアクセス制御レベルに応じた、印刷機能および印刷能力・性能を選択する(S224)。さらに、プリンタドライバ102は、前記選択した印刷機能および印刷能力・性能をアプリケーションプログラム103に通知するための印刷機能属性情報および印刷能力属性情報を生成する(S225)。さらに、プリンタドライバ102は、該生成した印刷機能属性情報および印刷能力属性情報を、前記アプリケーションプログラム103からの問い合わせのためにコールされたプリンタドライバSDK APIのリターン値として、アプリケーションプログラム103に通知する(S226)。
【0045】
ここで、印刷機能および印刷能力・性能とは、給紙方法、排紙方法、両面印刷機能、N−up印刷(複数ページ割付印刷)機能、ステイプル機能、パンチ機能、トリミング機能、用紙Z折り機能などの各種フィニッシング機能、さらにこれらの機能を複合して実現する製本機能、スタンプ(Watermark)機能、フォントダウンロード機能、フォント置換機能、フォームオーバレイ機能などの前記プリンタドライバにおいて実行可能な印刷機能属性情報、およびモノクロ印刷時の階調数、カラー印刷時の色深度、色調、色空間および設定可能なカラープロファイル、マッチング方法、設定可能解像度、ベクタ/イメージ描画、ディザリングなどのグラフィックス描画方法、印刷可能な用紙サイズおよび用紙種、最大設定可能コピー部数、N−up印刷時の印刷設定可能N−up数等である。
【0046】
アプリケーションプログラム103は、上述のプリンタドライバ102より通知された印刷機能属性情報および印刷能力属性情報を取得し、アプリケーションプログラム103上の各種設定を行う(S204)。具体的には、例えば、印刷機能属性情報および印刷能力属性情報でカラー印刷機能が不可となっていた場合には、アプリケーションプログラム103でのカラー編集(カラードキュメント作成)を不可に設定する。また、製本機能が不可となっていた場合には、アプリケーションプログラム103での印刷ダイアログ上の製本指定を不可能に設定する等である。
【0047】
そして、アプリケーションプログラム103は、GDI300のGDI描画エンジンと、Windows(登録商標) SDK APIを介して、ユーザからのドキュメント編集およびドキュメントの体裁加工を受け付ける(S204,S212)。
【0048】
そして、アプリケーションプログラム103は、ユーザからアプリケーションの印刷ダイアログ等により各種印刷属性が設定され(S205)、印刷指示がなされると、GDI300に対してドキュメント印刷指示を行う(S206)。なお、これらの各種印刷属性設定および指示は、プリンタドライバSDK APIを使用して行うことも可能である。
【0049】
GDI300は、アプリケーションプログラム103からのWindows(登録商標) SDK APIによる各種印刷属性設定およびドキュメント印刷指示に基づき、印刷に係るDevice Driver Interface(DDI)に変換するドキュメント印刷処理を経て、プリンタドライバ102に前記DDIをコールして、印刷指示を行う(S213)。
【0050】
プリンタドライバ102は、GDI300からの各種DDIコールに基づき、各種文字・図形・イメージ描画処理を行い(S227)、プリンタ200の印刷制御命令を生成し(S228)、スプーラに送信することにより(S229)、プリンタ104からドキュメント印刷105を行う。
【0051】
<GDI,アプリケーション、ドライバ間のSDK APIコーリングシーケンス図の説明(図3)>
図3は、図1に示したホストコンピュータ100上のOS101、アプリケーションプログラム103およびプリンタドライバ102における、プリンタドライバSDK APIの初期化から印刷までのコーリングシーケンス図である。なお、図1,図2と同一のものには同一の符号を付してある。
【0052】
アプリケーションプログラム103およびプリンタドライバ102間で通常のWindows(登録商標) SDK APIおよびプリンタドライバSDK APIによる情報およびデータの送受信は、OS101のGDI300を介して行なわれる。
【0053】
まず、アプリケーションプログラム103は、Windows(登録商標) SDK APIであるCreateDC( )関数303をコールし、プリンタ104に対するデバイスコンテキストを作成する。なお、対応するプリンタが複数ある場合には、このタイミングでダイアログを表示してユーザに使用するプリンタを選択させるように構成したもよい。また、このときにアプリケーションプログラム103は、プリンタドライバ102と組み合わせて用意されるアプリケーションプログラムインタフェース(API)関数群を構成するプリンタドライバSDKライブラリをロードする。
【0054】
次に、アプリケーションプログラム103は、初期化処理に移行し、Windows(登録商標) SDK APIであるStartDoc( )関数304をコールし、指定のプリンタデバイスで印刷ジョブを開始する。
【0055】
プリンタドライバ102では、アプリケーションプログラム103からコールされたStartDoc( )関数303がGDI300で変換されてDDIであるDrvStartDoc( )関数305がGDI300よりコールされる。この結果、プリンタドライバ102は、この関数内で印刷のための各種初期化処理を行う。
【0056】
アプリケーションプログラム103は、前記初期化処理と同時に、プリンタSDK APIである本システムにおけるその使用目的あるいは動作目的に応じたアクセス権限に基づく認証情報を通知するFS_FNCertificate( ) 関数401(詳細は図4に示す)をコールする。
【0057】
また、さらにアプリケーションプログラム103は、プリンタSDK APIであるプリンタおよびプリンタドライバにおける印刷に関する機能情報および能力情報を取得するFS_GetFuncItem( )関数402(詳細は図4に示す)をコールする。
【0058】
プリンタドライバ102は、前記FS_GetFuncItem( )関数402コールに基づいて、印刷能力情報および印刷機能情報をGDI300を介して、前記FS_GetFuncItem( )関数402のリターンとして、アプリケーションプログラム103に通知する。なお、ここで、印刷能力情報とは、具体的には、モノクロ印刷時の階調数、カラー印刷時の色深度、色調、色空間および設定可能なカラープロファイル、マッチング方法、設定可能解像度、ベクタ/イメージ描画、ディザリングなどのグラフィックス描画方法、印刷可能な用紙サイズおよび用紙種、最大設定可能コピー部数、N−up印刷時の印刷設定可能N−up数などの前記プリンタドライバ102において各種印刷機能実行のための印刷能力情報を示す。また、印刷機能情報とは、および給紙方法、排紙方法、両面印刷機能、N−up印刷機能、ステイプル機能、パンチ機能、トリミング機能、用紙Z折り機能などの各種フィニッシング機能、さらにこれらの機能を複合して実現する製本機能、スタンプ(Watermark)機能、フォントダウンロード機能、フォント置換機能、フォームオーバレイ機能などの前記プリンタドライバ102において実行可能な印刷機能情報を示す。
【0059】
そして、アプリケーションプログラム103では、上記FS_GetFuncItem( )関数402で取得した印刷能力情報および印刷機能情報に基づきアプリケーションプログラム103内の各種設定処理がなされ、ユーザによるドキュメントの編集,体裁加工が施されることになる。
【0060】
さらに、ユーザからの印刷設定及びドキュメント印刷指示がなされると、アプリケーションプログラム103は、ユーザからの各種印刷設定に基づいて各種印刷設定をプリンタドライバ102に指定する。例えば、前記同様にプリンタドライバSDK APIである両面印刷属性を設定するFS_SetDuplexPrint( )関数308あるいはステイプル印刷属性を設定するFS_SetStaplePrint( )関数309をコールして、最終的なドキュメント出力形態を指定する。
【0061】
以降、同様にプリンタドライバSDK APIを使用して、各印刷属性設定を行う。例えば、複数サイズの用紙の混在する場合の製本機能等のより付加価値が高い機能(一般的でない印刷機能)の設定も可能である。
【0062】
また、一般的な印刷設定に関しては、DEVMODE構造体に通常の印刷属性の設定値をセットし、Windows(登録商標) SDK APIであるResetDC( )をコールして印刷属性を指定するようにしてもよい。
【0063】
そして、プリンタドライバ102は、前記プリンタドライバSDK APIによる各種印刷属性設定を受けて、各関数処理において、プリンタ制御命令の生成あるいは解像度、カラー/モノクロ出力、ベクタ/イメージ描画、ディザリングなどの画像描画のための初期化設定処理などを行う。
【0064】
続いて、アプリケーションプログラム103は、ドキュメント出力処理に移行するために、Windows(登録商標) SDK APIであるStartPage( )関数310をコールし、プリンタドライバ102に新しいページも受け取りを開始するように指示する。以降、アプリケーションプログラム103は、ドキュメントページを構成するWindows(登録商標) SDK API,プリンタドライバSDK APIの各関数312および印刷データを書き込み・送信する。
【0065】
そして、プリンタドライバ102では、前記アプリケーションプログラム103からコールされたStartPage( )関数310がGDI300で変換されてDDIであるDrvStartPage( )関数311がGDI300よりコールされる。この関数内で、プリンタドライバ102は、新しいページ印刷のための各種処理を行う。
【0066】
また、アプリケーションプログラム103は、ドキュメントページ毎にWindows(登録商標) SDK APIであるEndPage( )関数313をコールし、1ページの書き込みを終えたことをプリンタドライバ102に伝える。
【0067】
プリンタドライバ102では、前記アプリケーションプログラム201からコールされたEndPage( )関数313がGDI 300で変換されてDDIであるDrvEndPage( )関数314がGDI 300よりコールされる。この関数内で、プリンタドライバ102は、ページ終了のための各種処理を行う。
【0068】
また、アプリケーションプログラム103は、全てのドキュメントページの書き込み・送信が完了したら、Windows(登録商標) SDK APIであるEndDoc( )関数315をコールし、StartDoc( )関数304で開始された印刷ジョブを終了する。
【0069】
プリンタドライバ102では、前記アプリケーションプログラム103からコールされたEndDoc( )関数317がGDI 300で変換されてDDIであるDrvEndDoc( )関数316がGDI 300よりコールされる。この関数内で、プリンタドライバ102は、ジョブ終了のための各種処理を行う。
【0070】
そして、アプリケーションプログラム103は、全ての印刷処理を完了し、Windows(登録商標) SDK APIであるDeleteDC( )関数317をコールして、CreateDC( )関数303で作成されたデバイスコンテキストを削除し、プリンタドライバ102とのセッションを終了する。
【0071】
<認証関数および印刷機能属性情報、印刷能力属性情報を取得する関数の説明(図4)>
図4は、図3に示したプリンタドライバSDK APIである認証情報通知するFS_FNCertificate( )関数401および印刷機能属性情報、印刷能力属性情報を取得・通知するFS_GetFuncItem()関数402を説明する図である。
【0072】
FS_FNCertificate( )関数401は、アプリケーションプログラム103において、本印刷システムにおけるその使用目的あるいは動作目的に応じたアクセス権限に基づく認証情報をプリンタドライバ102に通知するプリンタドライバSDK APIの関数である。
【0073】
アプリケーションプログラム103から本関数がコールされると、プリンタドライバ102は、プリンタドライバ内で備え、管理される各アプリケーションプログラムのアクセス制御レベル情報を格納・保管するデータベースを参照する。そして、プリンタドライバ102は、該参照した情報と前記通知されたアプリケーションプログラムの認証情報に基づき、前記アプリケーションプログラムに対する認証を行い、現在動作するアプリケーションプログラムが利用できる印刷機能・能力あるいは性能に対するアクセス制御レベルを決定する。
【0074】
アプリケーションプログラム103は、例えば、FS_FNCertificate( )関数401のパラメータの1つであるアプリケーションプログラム103側で確保されたメモリバッファのポインタとして渡されるCERTIFICATIONで型定義されるプログラム構造体に、識別情報および種認証情報を代入して、リターンすることで前記プリンタドライバ102に通知し、前記プリンタドライバ102で認証情報を参照することが可能となる。
【0075】
なお、上記識別情報とは、該当アプリケーションプログラムのアプリケーションプログラム名称、対応OS、バージョン番号等の該当アプリケーションプログラムを識別する情報を示す。また、上記種認証情報とは、あらかじめ該当アプリケーションプログラムに付与されるアクセスID,パスワード等の各種認証情報を示す。また、この認証情報に、ユーザID,パスワード等も含めるように構成してもよく、ユーザ毎にアプリケーションプログラムの認証情報を変化させるように構成してもよい。
【0076】
FS_GetFuncItem()関数402は、アプリケーションプログラム103において上述の印刷機能属性情報および印刷能力属性情報を問い合わせ・取得するプリンタドライバSDK APIの関数である。
【0077】
アプリケーションプログラム103から本関数がコールされると、プリンタドライバ102は、先にFS_FNCertificate( )関数401により通知された該当アプリケーションプログラムの認証情報に基づいて、印刷機能・能力あるいは性能に対するアクセス制御レベルに応じた、現在有効な印刷に係る印刷機能属性情報および印刷能力属性情報を決定・生成し、前記アプリケーションプログラム103に通知する。
【0078】
プリンタドライバ102は、例えば、FS_GetFuncItem()関数402のパラメータの1つであるアプリケーションプログラム103側で確保されたメモリバッファのポインタとして渡されるFUNCITEMで型定義されるプログラム構造体に、各種印刷機能情報および印刷能力情報を代入して、リターンすることでアプリケーションプログラム103に上記各種印刷機能情報および印刷能力情報を通知する。
【0079】
<32-Bitオペレーティングシステム環境での各構成要素ブロック図の説明(図5)>
図5は、Windows(登録商標) NT4.0/Windows(登録商標) 2000/Windows(登録商標) XP等の32-Bitオペレーティングシステム環境下におけるオペレーティングシステムのGDI,アプリケーションプログラム,プリンタドライバおよびプリンタドライバSDKライブラリの各構成例を示す図である。
【0080】
図5において、501は32-bitアプリケーションプログラムである。502はWindows(登録商標)(登録商標) NT4.0/Windows(登録商標) 2000/Windows(登録商標) XPなどの32-Bitオペレーティングシステムが備えるGDIである。
【0081】
503は、プリンタドライバSDKライブラリとしてのPDSDK.dllであり、32-bitオペレーティングシステム環境下で動作・実行できるよう32-bit関数群で構成される。このPDSDK.dll503は、アプリケーションプログラム501の初期化時にロードされる。そして、本ライブラリPDSDK.dll503に定義される関数を、前記アプリケーションプログラム501においてコールすることにより、プリンタドライバ504に実装される関数がコールされる。
【0082】
上述した図4に示したFS_FNCertificate( )関数401およびFS_GetFuncItem( )関数402等も、本SDKライブラリPDSDK.dll 503に定義される。
【0083】
なお、通常の印刷属性設定および印刷指示を行うWindows(登録商標) SDK APIは、アプリケーションプログラム501からコールされると、GDI502を介してDDIに変換されてプリンタドライバ504の各関数をコールする。
【0084】
一方、上記印刷機能属性情報および印刷能力属性情報に基づいてさらに高機能で詳細な印刷属性設定を行うプリンタドライバSDKライブラリPDSDK.dll503は、アプリケーションプログラム501からコールされると、直接プリンタドライバ504に対して通知を行う。
【0085】
<16-Bitオペレーティングシステム環境での各構成要素ブロック図の説明(図6)>
図6は、Windows(登録商標) 95/Windows(登録商標) 98/Windows(登録商標) Me等の16-Bitオペレーティングシステム環境下におけるオペレーティングシステムのGDI,アプリケーションプログラム,プリンタドライバおよびプリンタドライバSDKライブラリの各構成例を示す図である。
【0086】
図6において、601は現在一般的にある32-bitアプリケーションプログラムである。602はWindows(登録商標) 95/Windows(登録商標) 98/Windows(登録商標) Me等の16-Bitオペレーティングシステムが備えるGDIである。
【0087】
603はプリンタドライバSDKライブラリとしてのPDSDK.dllであり、32-bitオペレーティングシステム環境下で動作・実行できるよう32-bit関数群で構成される。
【0088】
上述の図4に示したFS_FNCertificate( )関数401およびFS_GetFuncItem( )関数402等も、本SDKライブラリPDSDK.dll603に定義される。
【0089】
604はプリンタドライバSDKライブラリとしてのSDK32.dllである。このSDK32.dllは、前記32-bitプリンタドライバSDKライブラリPDSDK.dll603からコールされる32-bit関数群および32-bitデータタイプを受け取り、16-bit関数群および16-bitデータタイプに変換し、前記16-bitGDI602との入出力インタフェースとなる。
【0090】
605はプリンタドライバSDKライブラリSDK16.dllである。このSDK16.dll605は、前記16-bitオペレーティングシステム環境下で動作・実行できるよう16-bitデータタイプを扱う16-bit関数群で構成され、16-bitデータタイプおよび関数群で構成されるプリンタドライバ606との入出力インタフェースとなる。
【0091】
前記PDSDK.dll603、SDK32.dll604およびSDK16.dll605は、前記アプリケーションプログラム601の初期化時にロードされる。PDSDK.dll603に定義される関数を、前記アプリケーションプログラム601においてコールすることにより、SDK32.dll604およびSDK16.dll605でそれぞれデータタイプを変化され、プリンタドライバ606に実装される関数がコールされる。
【0092】
なお、通常の印刷属性設定および印刷指示を行うWindows(登録商標) SDK APIは、アプリケーションプログラム601からコールされると、GDI602を介してDDIに変換されてプリンタドライバ504の各関数をコールする。
【0093】
一方、上記印刷機能属性情報および印刷能力属性情報に基づいてさらに高機能で詳細な印刷属性設定を行うプリンタドライバSDKライブラリPDSDK.dll603は、アプリケーションプログラム501からコールされると、SDK32.dll604およびSDK16.dll605を介して、直接プリンタドライバ504に対して通知を行う。
【0094】
<ホストコンピュータ及びプリンタ接続構成図の説明(図7)>
図7は、図1に示したホストコンピュータ100及びプリンタ104のハードウェア接続構成を示すブロック図である。
【0095】
図7において、1001は入力装置であり、ホストコンピュータ100に対して入力を行うキーボード,マウス等に対応する。1002は表示装置(ディスプレイ(Display))1002であり、表示出力を行う。1003はディスク(Disk)であり、ファイルの入出力を行うハードディスク等の外部記憶装置に対応する。
【0096】
以下、ホストコンピュータ100の構成を詳細に説明する。
【0097】
ホストコンピュータ100において、1004はCPUであり、ホストシステムおよび接続される各入出力装置の制御や、入力された指示に従って出力制御などの一連の処理、各種プログラムを実行する。1005はROMであり、CPU1004を動作させるためのブートプログラム、各種データ等を格納するメモリである。ディスク1003には、OS101、プリンタドライバプログラム102、アプリケーションプログラム103、SDKライブラリ、及び、各種データが格納されている。
【0098】
1006はRAMであり、プリンタに係る各種印刷属性設定、ドキュメント印刷を実行/動作させる各種処理のための作業領域として用いられるメモリである。また、このRAM1006上には、CPU1004により、ROM1005やディスク1003から各種プログラムがロードされて実行される。CPU1004は、ディスク1003からOS101,プリンタドライバ102,アプリケーションプログラム103,プリンタSDKライブラリをRAM1006上にロードして、これらのプログラムを用いて一連の印刷制御処理を行い、プリンタ104からドキュメント出力を行う。
【0099】
1007はキーボード・コントローラであり、入力装置1001のインタフェースを備える。1008はディスプレイ・コントローラであり、ディスプレイ1002への表示出力を行うためのインタフェースを備える。1009はディスク・コントローラであり、ディスク1003への入出力インタフェースを備える。
【0100】
1010はイーサネット(登録商標)・インタフェースであり、ホストコンピュータ100とプリンタ104を接続して、通信を行うための通信プロトコルを備えたイーサネット(登録商標)等のネットワーク回線を介して、入出力を行うネットワークインタフェースである。なお、ここでは、イーサネット(登録商標)・インタフェースとしているが、その他のネットワークインタフェースであってもよい。1011はCPUバスであり、各構成要素1004〜1011を接続するバスである。
【0101】
以下、プリンタ104の構成を詳細に説明する。
【0102】
プリンタ104において、1014はCPUであり、プリンタ104に接続される各種入出力の制御や、入力された指示に従って印刷制御等の一連の処理、通信制御制御処理等のプログラムを実行する。
【0103】
1015はROMであり、各入出力の制御、通信制御処理、入力された指示に従って印字制御など一連の処理、制御コマンド解析処理などプリンタを動作させるプログラム、各種データ等が格納されているメモリである。
【0104】
1016はRAMであり、CPU1014が各種プログラムで実行・処理を行うための作業領域として用いられるメモリである。このRAM1016には、CPU1014により、ROM1015から各種プログラムがロードされて実行される。
【0105】
1017はイーサネット(登録商標)・インタフェースであり、ホストコンピュータ100とプリンタ104を接続して、データのやり取りを行うための通信プロトコルを備えたイーサネット(登録商標)などのネットワーク回線を介して、入出力を行うネットワークインタフェースである。なお、ここでは、イーサネット(登録商標)・インタフェースとしているが、その他のネットワークインタフェースであってもよい。
【0106】
1018はディスク・コントローラであり、ハードディスク等のディスク1013への入出力インタフェースを備える。1019はエンジン制御処理部であり、機構的にパターン出力を行うビデオインタフェースで印刷装置駆動系(エンジン部)1021とのデータおよび信号のやり取りを行う入出力インタフェースを備える。1020はCPUバスであり、各構成要素1014〜1019を接続するバスである。
【0107】
なお、エンジン部1021は、レーザビーム方式であっても、レーザビーム方式以外の電子写真方式(例えばLED方式)でも、液晶シャッタ方式、インクジェット方式、熱転写方式、昇華方式でもその他のプリント方式であっても本発明は適用可能である。
【0108】
また、ホストコンピュータ100のイーサネット(登録商標)・インタフェース1010およびプリンタ104のイーサネット(登録商標)・インタフェース1017で構築されるTCP/IPなどの通信プロトコルを備えたネットワークに替えて、USB,セントロニクスインタフェース,シリアルインタフェース,SCSI等の通信プロトコルを備えた各種インタフェースにおいても適用可能である。
【0109】
以下、ホストコンピュータ100内のプログラムメモリRAM1006上にある(ロードされた)Windows(登録商標)SDKライブラリを含むOS101、アプリケーションプログラム103、プリンタドライバ102およびプリンタドライバSDKライブラリの各制御処理および動作を詳細に説明する。
【0110】
まず、アプリケーションプログラム103における動作について説明する。
【0111】
ホストコンピュータ100内のRAM1006上にある(ロードされた)アプリケーションプログラム103は、ドキュメント作成、体裁加工および印刷出力のための各種初期化処理を行う過程で、オペレーティングシステムを介してプリンタドライバのロードおよび起動、プリンタドライバSDKライブラリのロードを行う。
【0112】
ここでアプリケーションプログラム103は、通常のWindows(登録商標) SDK APIを使用しての各種初期化処理の他に、プリンタ104およびプリンタドライバ102において、現在使用可能な機能・能力を認識するために、前記プリンタドライバSDKライブラリに含まれるAPIを使用して、該当アプリケーションプログラムの使用目的あるいは動作目的に応じたアクセス権限に基づく認証情報をプリンタドライバ102に通知する。さらに、アプリケーションプログラム103は、プリンタドライバ102に印刷機能属性情報および印刷能力属性情報を問い合わせる。
【0113】
そして、アプリケーションプログラム103は、この印刷機能属性情報および印刷能力属性情報を問い合わせに応答してプリンタドライバ102から通知される前記印刷機能属性情報および印刷能力属性情報を取得し、これに基づきアプリケーションプログラム103内の各種設定を行う。具体的には、例えば、印刷機能属性情報および印刷能力属性情報でカラー印刷機能が不可となっていた場合には、アプリケーションプログラム103でのカラー編集(カラードキュメント作成)を不可に設定する。また、製本機能が不可となっていた場合には、アプリケーションプログラム103での印刷ダイアログ上の製本指定を不可能に設定する等である。
【0114】
このように設定処理されたアプリケーションプログラム103において、ユーザは入力手段1001によりドキュメントを目的の出力形態に作成および体裁加工を行う。
【0115】
さらにアプリケーションプログラム103において、ユーザは入力手段1001により、目的の出力形態を実現するために、各種印刷属性設定および印刷指示を行う。
【0116】
このユーザからの印刷指示により、アプリケーションプログラム103は、上述の各種印刷設定と印刷指示をドキュメントデータと共に、Windows(登録商標) SDK APIおよびプリンタドライバSDK APIを使用して送信する。
【0117】
以下、プリンタドライバ102における動作を説明する。
【0118】
ホストコンピュータ100内のRAM1006上にあるプリンタドライバ102は、前記アプリケーションプログラム103の起動初期化時に、OS101上にロードされて起動される。
【0119】
前記アプリケーションプログラム103におけるドキュメント作成、印刷のための各種初期化処理に基づき、Windows(登録商標) SDK APIがコールされることによって、OS101のGDI300を介してDDIに変換され、コールされることによって、プリンタドライバ102での初期化処理が開始される。
【0120】
同時に、アプリケーションプログラム103からプリンタSDK APIによる該当アプリケーションプログラムの使用目的あるいは動作目的に応じたアクセス権限に基づく認証情報をプリンタドライバ102に通知する。
【0121】
また、プリンタドライバ102は、アプリケーションプログラム103からプリンタSDK APIによる前記印刷機能属性情報および印刷能力属性情報を問い合わせに対し、プリンタ機器が有するリソース情報およびプリンタ機器が有する印刷機能情報に基づき、上述した印刷機能属性情報および印刷能力属性情報を生成し、前記アプリケーションプログラム103から問い合わせを受けたプリンタドライバSDK APIのリターンとして、前記アプリケーションプログラム103に通知する。
【0122】
なお、上記プリンタ機器が有するリソース情報とは、印刷用紙の給紙方法を決定する各種給紙装置、用紙出力方法を決定する各種排紙装置、両面印刷装置、ステイプル装置、パンチャー装置、トリマー装置、用紙Z折り装置などのフィニッシング装置類、メモリ、ハードディスクなどの記憶装置、機器に搭載され出力可能な用紙サイズおよび用紙種、搭載されるフォント等を示す。また、上記プリンタ機器が有する印刷機能情報とは、モノクロ/カラー印刷機能、解像度、グラフィックス描画方法、用紙印刷方向、最大コピー部数、N−up印刷機能、ジョブストア機能、フォントダウンロード機能等を示す。
【0123】
さらに、プリンタドライバ102は、アプリケーションプログラム103から目的のドキュメント印刷を行うための各種印刷属性設定をGDI300を介してWindows(登録商標) SDK APIおよびプリンタドライバSDK APIがコールされると、該コールされることによってプリンタドライバ102においてコールされるDDIに基づいて、各種印刷属性設定処理を行う。
【0124】
プリンタドライバ102は、前記アプリケーションプログラム103からのドキュメント印刷指示と併せて、ドキュメントデータに基づき、図形/文字およびイメージのパターン・データ、サイズ、描画出力開始位置などのデータおよび各種設定情報の入力処理を行う。さらに、プリンタドライバ102は、前記読み込まれた印刷属性設定情報等を解析する解析処理を行う。さらに、プリンタドライバ102は、サイズ、描画出力形態等を指示する各設定パラメータに基づいて、構成されるドキュメントの描画出力形態を決定する描画出力形態制御処理を行う。さらに、プリンタドライバ102は、前記決定したドキュメントを印刷するため、プリンタ104のプリンタ制御命令を変換・生成する出力制御命令変換処理を行う。さらに、プリンタドライバ102は、生成された印字出力制御命令をプリンタに送信する出力制御命令送信制御処理を行う。これらの一連の処理により、プリンタドライバ102は、プリンタ104から目的のドキュメントを出力する。
【0125】
以下、プリンタ104における動作について説明する。
【0126】
プリンタ104内のメモリROM1015上にある制御プログラムにおける印刷出力制御処理によるドキュメントの出力動作を詳細に説明する。
【0127】
まず、プリンタ104内の制御プログラムは、現在サポートしている用紙サイズ、用紙タイプ、ステイプル機能をもつフィニッシャの有無など、印刷を行う際の有効な機能、資源のプリンタ構成情報をイーサネット(登録商標)・インタフェース1017を介して、ホストコンピュータ100のRAM1006上にあるプリンタドライバ102に通知する。
【0128】
また、プリンタ104内の制御プログラムは、ホストコンピュータ100内のプログラムメモリRAM1006上にあるプリンタドライバ102から送信されるプリンタを初期化する制御命令を受信し、初期化処理を行う。
【0129】
続いて、プリンタ104内の制御プログラムは、ホストコンピュータ100からプリンタ104で印刷を行うために送信されてくるプリンタ印刷制御命令の入力を行な印刷制御命令入力処理を行う。さらに、プリンタ104内の制御プログラムは、前記入力されたプリンタ印刷制御命令及び各種設定パラメータなどを解析する制御設定パラメータ解析処理を行う。さらに、プリンタ104内の制御プログラムは、前記印刷制御命令、制御設定パラメータに基づいて、ビットマップを生成し、ビットマップメモリに展開するビットマップ展開処理の一連の処理を行う。そして、プリンタ104内の制御プログラムは、エンジン制御処理部1021と入出力を行うビデオインタフェース1019を通して、印字出力装置駆動系(エンジン部)1021に前記生成されたビットマップ・データを送信して、ドキュメントを出力する(105)。
【0130】
<本実施形態のアプリケーションプログラムにおける各制御処理(図8)>
以下、図8に示すフローチャートによって、本実施形態におけるホストコンピュータ100のプログラムメモリ上にあるアプリケーションプログラム103の各制御処理を詳細に説明する。
【0131】
図8は、本発明の印刷システムにおける第1の制御処理手順の一例を示すフローチャートである。
【0132】
なお、図8中、S701〜S709に示すステップは、本実施形態に係るホストコンピュータ100におけるアプリケーションプログラム103(CPU304がRAM306上で実行する)での各処理に対応する。これらの処理は、プリンタドライバSDKライブラリを使用して、アプリケーションプログラム103の認証情報をプリンタドライバ102に通知して、この認証情報より決定されるアクセス制御レベルに応じた印刷機能属性情報および印刷能力属性情報を取得して、目的のドキュメント作成、体裁加工および印刷指示を行う一連の制御処理に対応する。
【0133】
まず、ステップS701は、アプリケーションプログラム起動時に行われる初期化処理である(CreateDC( )303,StartDC( )304をコール)。このときにプリンタドライバもOS101上でロードされ、起動される。
【0134】
また同時にステップS702において、アプリケーションプログラム103は、プリンタドライバSDK APIライブラリもロードする。
【0135】
そして、アステップS703において、アプリケーションプログラム103は、プリンタドライバ102に対して、プリンタドライバSDK APIであるFS_FNCertificate( )関数401(図4)を使用して、該当アプリケーションプログラムの使用目的あるいは動作目的に応じたアクセス権限に基づく認証情報を通知する。ここでの認証情報は、アプリケーションプログラムの名称、対応OS、バージョン番号などの前記アプリケーションプログラムを識別する情報、及び、あらかじめ該当アプリケーションプログラム103に付与されるアクセスID、パスワード等の情報であり、前記アプリケーションプログラムにおいて利用する印刷機能・能力あるいは性能に対するアクセス権限を決定するための情報である。また、この認証情報に、ユーザID,パスワード等も含めるように構成してもよく、ユーザ毎にアプリケーションプログラムの認証情報を変化させるように構成してもよい。
【0136】
次に、ステップS704において、アプリケーションプログラム103は、プリンタドライバ102に対して、プリンタドライバSDK APIであるFS_GetFuncItem( )関数402(図4)を使用して、印刷機能属性情報および印刷能力属性情報の問い合わせを行い、該情報をプリンタドライバ102から取得する。
【0137】
そして、ステップS705において、アプリケーションプログラム103は、前記取得した印刷機能属性情報および印刷能力属性情報に基づき、アプリケーションプログラム内の各種設定を行う。具体的には、例えば、印刷機能属性情報および印刷能力属性情報でカラー印刷機能が不可となっていた場合には、アプリケーションプログラム103でのカラー編集(カラードキュメント作成)を不可に設定する。この様子を図9に示す。また、スタンプ機能,製本機能が不可となっていた場合には、アプリケーションプログラム103での印刷ダイアログ上のスタンプ指定,製本指定を不可能に設定する等である。この様子を図10,図11に示す。
【0138】
図9は、図1に示したアプリケーションプログラム103の編集画面及び色設定画面の一例を示す図である。
【0139】
図9において、1300はアプリケーションプログラム103の編集画面である。1301はアプリケーションプログラム103の色設定ダイアログである。ここでは、印刷機能属性情報および印刷能力属性情報でカラー印刷機能が不可となり、1302に示すように、カラー選択部分がグレー表示され(又は非表示とされ)、カラー選択不可能になっている。即ち、アプリケーションプログラム103でのカラー編集が不可能に制御される。
【0140】
図10,図11は、図1に示したアプリケーションプログラム103の印刷ダイアログの一例を示す図である。
【0141】
図10,図11において、1400はアプリケーションプログラム103の印刷ダイアログである。1401はプリンタドライバ102より通知された印刷機能属性情報および印刷能力属性情報に基づいて、設定された部分である。
【0142】
図10では、印刷機能属性情報および印刷能力属性情報でスタンプ(Watermark)機能が不可となり、1402に示すように、スタンプ設定部分がグレー表示され(又は非表示とされ)、スタンプ(Watermark)機能が使用不可と設定された場合に対応する。
【0143】
図11では、印刷機能属性情報および印刷能力属性情報で製本機能が不可となり、1403に示すように、製品設定部分がグレー表示され(又は非表示とされ)、製本機能が使用不可と設定された場合に対応する。
【0144】
以下、図8のフローチャートの説明に戻る。
【0145】
次に、ステップS705において、アプリケーションプログラム103は、図9に示したような、図9に示したような、上記ステップS704で印刷機能属性情報および印刷能力属性情報に基づいて設定された編集画面1300をディスプレイ1002に表示し、目的のドキュメントを作成のためのドキュメントを構成する文字・図形などの描画操作および体裁加工操作等のユーザによる編集操作を受け付ける。
【0146】
次に、ステップS706において、アプリケーションプログラム103は、ユーザから印刷ダイアログ表示指示があると、図10,図11に示したような、上記ステップS704で印刷機能属性情報および印刷能力属性情報に基づいて設定された印刷ダイアログ1400をディスプレイ1002に表示し、ユーザからの各種設定及び印刷指示を受け付ける。
【0147】
そして、ユーザから印刷指示があると(印刷ダイアログ1400の「OK」ボタンが入力装置1001により指示されると)、ステップS707において、アプリケーションプログラム103は、一般的な印刷属性設定欄1301の設定に従いWindows(登録商標) SDK APIを使用して一般的な印刷属性設定を行い、また、高度な印刷属性設定欄1302の設定値に従いプリンタドライバSDK APIを使用して、プリンタ104およびプリンタドライバ102が有するより高機能な印刷属性設定を行う。ここで、高度な印刷属性設定とは、例えば、異なるサイズの用紙が混在し、さらに、製本設定等がなされている場合に、自動的に縮小又は拡大して、一つのサイズの用紙に印刷処理して製本処理するような高機能を有する印刷装置に対して、この機能を使用する設定を示す。なお、高度な印刷設定は、この例に限られるものではなく、一般的に用意されている印刷機能以外の印刷機能の設定も全て含まれる。
【0148】
さらに、アプリケーションプログラム103は、Windows(登録商標) SDK APIを使用してドキュメント印刷指示とともに、前記描画処理を行った文字・図形データをプリンタドライバ1002に送る。
【0149】
全てのドキュメントデータを送信後、ステップS708において、アプリケーションプログラム103は、印刷終了処理に移行するとともに、ステップS709において、プリンタドライバSDK APIライブラリをアンロードし、処理を終了する。
【0150】
<本実施形態のプリンタドライバにおける認証、印刷機能/能力情報通知の各制御処理(図12,図13)>
以下、図12,図13に示すフローチャートによって、本実施形態におけるホストコンピュータ100のプログラムメモリ上にあるプリンタドライバプログラム104の各制御処理を詳細に説明する。
【0151】
図12は、本発明の印刷システムにおける第2の制御処理手順の一例を示すフローチャートである。
【0152】
なお、図12中、S801〜S809に示すステップは、本実施形態に係るホストコンピュータ100におけるプリンタドライバプログラム102(CPU304がRAM306上で実行する)におけるアプリケーションプログラム103から通知される認証情報の照合、印刷機能/能力に対するアクセス制御レベルに応じた印刷機能属性情報および印刷能力属性情報をアプリケーションプログラム103に通知する一連の制御処理に対応する。
【0153】
まず、ステップS801において、プリンタドライバ102は、プリンタドライバが動作するためのプログラムメモリ領域確保、各種パラメータの初期化を行う。プリンタドライバSDK APIの各種関数処理を行うライブラリの初期化も行う。
【0154】
次に、ステップS802において、プリンタドライバ102は、アプリケーションプログラム103からの認証情報通知に対する受理を行う。この認証情報通知は、アプリケーションプログラム103から、プリンタドライバSDK APIであるFS_FNCertificate( )関数401がコールされることにより行われる。
【0155】
ステップS803において、プリンタドライバ102は、認証情報の照合処理(プリンタドライバ102におけるFS_FNCertificate( )関数401モジュール処理である)を行い、前記認証情報に基づくアクセス制御レベルあるいは認証失敗ステータスを出力する。なお、この認証情報照合処理の詳細は図13に示す。
【0156】
次に、ステップS804において、プリンタドライバ102は、上記ステップS803の認証情報照合処理(FS_FNCertificate( )関数401モジュール処理)の処理結果に基づき、認証に成功しアプリケーションプログラム103のアクセス制御レベルが決定できたか否か(認証に失敗したか)を判定する。
【0157】
ステップS804で、プリンタドライバ102が、認証に成功したと判定し、前記アプリケーションプログラム103のアクセス制御レベルが決定できたと判定した場合には、ステップS805に処理を進め、前記決定したアクセス制御レベルに応じた印刷機能および印刷能力を選択し、ステップS807に処理を進める。なお、アクセス制御レベルに応じた印刷機能および印刷能力の情報は、プリンタドライバ102内に格納されているものとする。
【0158】
一方、ステップS804で、プリンタドライバ102が、認証に失敗したと判定した場合には、ステップS806に処理を進め、デフォルトの印刷機能および印刷能力を選択し、ステップS807に処理を進める。なお、通常、デフォルトの印刷機能および印刷能力は、一般的な印刷機能および印刷能力選択にとどまるものとする。なお、このデフォルト印刷機能および印刷能力を、管理者等が自由に設定可能に構成してもよい。
【0159】
次に、ステップS807において、プリンタドライバ102は、前記アプリケーションプログラム103からの印刷機能属性情報および印刷能力属性情報の問い合わせ通知受理を行う。この印刷機能属性情報および印刷能力属性情報の問い合わせ通知は、アプリケーションプログラム103から、プリンタドライバSDK APIであるFS_GetFuncItem( )関数402コールによって行なわれる。
【0160】
次に、ステップS808において、プリンタドライバ102は、上記ステップS805あるいはステップS806の印刷機能および印刷能力の選択結果より、印刷機能属性情報および印刷能力属性情報を作成する。
【0161】
次に、ステップS809において、プリンタドライバ102は、ステップS808で作成した印刷機能属性情報および印刷能力属性情報を、アプリケーションプログラム103からコールされたFS_GetFuncItem( )関数402のパラメータであるメモリバッファのポインタへコピーして、リターンすることにより、前記アプリケーションプログラムに通知して、処理を終了する。
【0162】
図13は、本発明の印刷システムにおける第3の制御処理手順の一例を示すフローチャートであり、図12のステップS803に示した認証情報照合処理に対応する。
【0163】
なお、図12中、S901〜S907に示す各ステップは、本実施形態に係るホストコンピュータ100におけるプリンタドライバプログラム102(CPU304がRAM306上で実行する)により実行される認証情報照合処理であるFS_FNCertificate( )関数401モジュール内の処理の一例に対応する。
【0164】
まず、ステップS901において、プリンタドライバ102は、図8のステップS703でFS_FNCertificate( )関数401をコールしたアプリケーションプログラムから通知される認証情報を入力する。
【0165】
上記FS_FNCertificate( )関数401のパラメータであるCERTIFICATIONプログラム構造体へのポインタが示す領域には、前記アプリケーションプログラム103のアプリケーションプログラム名称、対応OS、バージョン番号等の前記アプリケーションプログラム103を識別する情報および予め該当アプリケーションプログラム103に付与されるアクセスID、パスワード等の各種認証情報が格納されている。また、この認証情報に、ユーザID,パスワード等も含めるように構成してもよく、ユーザ毎にアプリケーションプログラムの認証情報を変化させるように構成してもよい。
【0166】
ステップS902において、プリンタドライバ102は、プリンタドライバ102のデータ定義領域あるいはリソース(例えば、ディスク1003内の所定の領域)に格納される認証情報データベース(認証情報DB)を参照する。この認証情報DBは、複数のアプリケーションプログラムに関する前記アプリケーションプログラム名称、対応OS、バージョン番号等の前記アプリケーションプログラムを識別する情報、あらかじめ該当アプリケーションプログラムに付与されるアクセスID、パスワードなどの各種認証情報、およびこれらに対応するアクセス制御レベルを格納・保管および管理するものである。ここでの認証情報は、アプリケーションプログラムの名称、対応OS、バージョン番号などの前記アプリケーションプログラムを識別する情報、及び、あらかじめ該当アプリケーションプログラム103に付与されるアクセスID、パスワード等の情報であり、前記アプリケーションプログラムにおいて利用する印刷機能・能力あるいは性能に対するアクセス権限を決定するための情報である。また、この認証情報に、ユーザID,パスワード等も含めるように構成してもよく、ユーザ毎にアプリケーションプログラムの認証情報を変化させるように構成してもよい。
【0167】
次に、ステップS903において、プリンタドライバ102は、ステップS901でアプリケーションプログラム103から通知・入力された認証情報内のアプリケーションプログラム103を識別する情報に基づいて、ステップS902で参照した認証情報データベースに登録されている前記アプリケーションプログラム103を検索する(登録アプリケーションプログラム検索)。
【0168】
次に、ステップS904において、プリンタドライバ102は、上記ステップS903の登録アプリケーションプログラムの検索結果に基づき、検索に成功したか失敗したかを判定する。
【0169】
ステップS904で、プリンタドライバ102が、検索に成功したと判定した場合には、ステップS905に処理を進め、該認証情報DBから検索されたアプリケーションプログラムの登録アクセスID,パスワード等と前記アプリケーションプログラム103から通知された認証情報内のアクセスID、パスワード等を照合する。ここでの認証情報は、アプリケーションプログラムの名称、対応OS、バージョン番号などの前記アプリケーションプログラムを識別する情報、及び、あらかじめ該当アプリケーションプログラム103に付与されるアクセスID、パスワード等の情報であり、前記アプリケーションプログラムにおいて利用する印刷機能・能力あるいは性能に対するアクセス権限を決定するための情報である。ユーザID,パスワード等の照合も含めるように構成してもよい。
【0170】
次に、ステップS906において、プリンタドライバ102は、前記ステップS905の照合結果に基づき、照合に成功したか失敗したかを判定する。
【0171】
ステップS906で、プリンタドライバ102が、照合に成功したと判定した場合には、ステップS907に処理を進め、該照合されたアプリケーションプログラムの印刷機能および印刷能力に対するアクセス制御レベルを認証情報DBから取得出力して、処理を終了する。
【0172】
一方、ステップS904で、プリンタドライバ102が、検索に成功しなかった(失敗した)と判定した場合には、ステップS908に処理を進め、認証失敗ステータスを出力して、処理を終了する。
【0173】
また、ステップS906で、プリンタドライバ102が、照合に成功しなかった(失敗した)と判定した場合には、上記検索に失敗した場合と同様に、ステップS908に処理を進め、認証失敗ステータスを出力して、処理を終了する。
【0174】
<プリンタドライバプログラムにおける印刷制御処理の説明(図14)>
以下、図14に示すフローチャートによって、本実施形態におけるホストコンピュータ100のプログラムメモリRAM1006上にあるプリンタドライバプログラム102の印刷制御処理を詳細に説明する。
【0175】
図14は、本発明の印刷システムにおける第4の制御処理手順の一例を示すフローチャートである。
【0176】
なお、図14中の1101〜S1111に示すステップは、本実施形態に係るプリンタ104におけるプリンタドライバプログラム102(CPU304がRAM306上で実行する)での印刷制御処理に対応する。
【0177】
プリンタドライバ102は、外部、例えば文字、図形、イメージ作成、編集、印刷アプリケーションプログラム103などのドキュメント入力プログラムからのプリンタへの印刷指示によって、起動されステップS1101〜S1111を実行する。
【0178】
まず、ステップS1101において、プリンタドライバプログラム102は、アプリケーションプログラム103からWindows(登録商標) SDK APIを介して渡される各種印刷属性設定パラメータおよびアプリケーションから印刷指示されたドキュメントを構成する文字/図形/イメージデータの印刷指示を入力する。
【0179】
そして、ステップS1102おいて、プリンタドライバプログラム102は、ステップS1101で入力されたパラメータおよびデータを解析する。
【0180】
なお、ステップS1101,S1102は、各種印刷属性設定パラメータおよび文字/図形/イメージデータの印刷指示が入力される毎に実行される。
【0181】
次に、ステップS1103において、プリンタドライバプログラム102は、ステップS1102での前記入力データの解析結果より、用紙サイズ、印刷方向、描画解像度設定、座標系の単位設定など印刷の準備をするため、プリンタ104に対する各設定パラメータをプリンタ制御命令に変換・生成し、プリンタ104に送信してプリンタ104の初期化処理を行う。
【0182】
なお、ステップS1103は、ジョブ中のページ/グループ/章単位で出力属性が異なる度に実行される。
【0183】
さらに、ステップS1104およびステップS1106において、プリンタドライバプログラム102は、前記ステップS1102で解析処理されたパラメータ及びデータを、文字データ,図形データ,イメージデータに分離する。
【0184】
ステップS1104で、プリンタドライバプログラム102が、文字データと判定したデータについては、ステップS1105において、文字印字制御処理モジュールで文字印字制御処理を施す。
【0185】
また、ステップS1104及びS1106で、プリンタドライバプログラム102が図形データと判定したデータについては、ステップS1107において、図形描画制御処理モジュールで図形描画制御処理を施す。
【0186】
また、ステップS1104及びS1106で、プリンタドライバプログラム102がイメージデータと判定したデータについては、ステップS1108において、イメージ描画制御処理モジュールでイメージ描画制御処理を施す。
【0187】
そして、ステップS1109において、プリンタドライバプログラム102は、上記ステップS1105の文字印字制御処理,ステップS1107の図形描画制御処理,ステップS1108のイメージ描画制御処理に基づき、ドキュメント構成制御処理モジュールで描画出力属性,サイズ計算,描画出力位置等パターンの出力形態を決定し、プリンタの出力ページに配置する処理(ドキュメント構成処理)を行う。
【0188】
次に、ステップS1110において、プリンタドライバプログラム102は、ステップS1109で構成されたドキュメント出力の制御データを、印刷制御命令生成処理モジュールで、プリンタにドキュメントを出力するためにプリンタの印刷制御命令に変換・生成する処理(印刷制御命令生成処理)を行う。
【0189】
そして、ステップS1111において、プリンタドライバプログラム102は、プリンタへの出力送信処理モジュールで、ステップS1110で生成した印刷制御命令をプリンタ104に対して送信する処理(出力送信処理)を行い、プリンタ104でドキュメントを印刷させる。
【0190】
なお、ステップS1104〜S1111の処理は、各種印刷属性設定パラメータおよび文字/図形/イメージデータの印刷指示毎に実行される。
【0191】
以上説明したように、本実施形態によれば、Windows(登録商標)オペレーティングシステム環境下において、ドキュメント作成・印刷アプリケーションプログラムで標準的に使用されるWindows(登録商標) SDK APIライブラリとともに、本発明のプリンタドライバSDK APIライブラリも使用することによって、標準的な印刷機能の他に、オプション装置類を搭載して実現可能なプリンタデバイス機能およびプリンタドライバ機能を使用可能とし、より付加価値の高い印刷機能を提供することが可能である。
【0192】
さらに、これらの印刷機能は、アプリケーションプログラムの使用目的あるいは動作目的に応じて、アクセス制御レベルに基づく機能拡張および機能制限を行うため、アプリケーションプログラムの種類、アプリケーションプログラム利用者(ユーザ)にとって、特定用途向けに機能の拡張、あるいは簡便なドキュメント印刷操作などの最適用途かつ運用性の高い印刷システムを提供することが可能となる。
【0193】
また、認証による印刷機能および印刷能力の提供を行うため、セキュリティ向上を図るドキュメント印刷システムを構築することが可能となる。
【0194】
〔第2実施形態〕
第2実施形態では、上記第1実施形態の図2にあるプリンタドライバ102で行っているアプリケーションプログラム103の印刷機能および印刷能力・性能に対するアクセス制御レベルの決定を、部門管理あるいは課金管理に応用させるように構成する。
【0195】
部門管理においては、部門毎にアプリケーションプログラムの認証情報を変化させることによって、部門毎に前記アクセス制御レベルを変化させ、使用および動作可能とする印刷機能、印刷能力・性能を管理することで実現可能となる。
【0196】
また、課金管理においては、ユーザ毎の使用上限課金度数(使用上限費用)及び、前記プリンタドライバのアクセス制御レベルに基づいて、使用および動作可能とする印刷機能、印刷能力・性能を選択決定することにより、アプリケーション及びユーザに対する使用および動作可能とする印刷機能、印刷能力・性能を管理することで実現可能となる。
【0197】
以下、図15〜図17を参照して、課金管理に基づくアプリケーションプログラムの認証およびアクセス制御レベルの決定の一例について説明する。
【0198】
<本システムの課金管理における各制御処理の流れを表わすブロック図の説明(図15)>
図15は、本発明の第2実施形態におけるアプリケーションプログラム、プリンタドライバ、プリンタおよび各種データベースから構成されるドキュメント印刷課金管理システムの各制御処理の流れに一例を示す図である。なお、図1と同一のものには同一の符号を付してある。
【0199】
図15に示すように、アプリケーションプログラム103およびプリンタドライバ102は、上述の第1実施形態と同様に、アプリケーションプログラム103の認証情報をプリンタドライバ102にプリンタドライバSDK APIを使用して通知し、プリンタドライバ102がこの認証情報に基づき、印刷機能および印刷能力・性能に対するアクセス制御レベルを決定する。
【0200】
さらに、プリンタドライバ102は、アプリケーションプログラム103からプリンタドライバSDK APIを使用しての現在使用・動作可能な印刷機能および印刷能力・性能についての問い合わせに対して、前記アクセス制御レベルに基づく、印刷機能属性情報および印刷能力属性情報を生成してアプリケーションプログラムに通知する。
【0201】
一方、アプリケーションプログラム103は、これらのプリンタドライバ102から通知される情報に基づき、ドキュメント編集・加工を行い、ドキュメント印刷指示をプリンタドライバ102に対して行う。
【0202】
そして、プリンタドライバ102は、前記アプリケーションプログラム103からの印刷指示に基づき、各種印刷制御処理および文字、図形、イメージ描画出力に係るプリンタ印刷制御命令に変換・生成し、OS101のスプーラ1202を経由してプリンタ104に送信し、ドキュメント出力105を行う構成からなる。
【0203】
なお、本実施形態のプリンタドライバ102は、認証情報DB1200からアクセス制御レベル及びアクセス制御レベルに応じたユーザ毎の使用上限課金度数(使用上限費用)を取得する。
【0204】
また、本実施形態のプリンタドライバ102は、図示しないサーバ上に構築された機能/能力コスト情報データベース1208にアクセス可能である。なお、この機能/能力コスト情報データベース1208は、給紙方法、排紙方法、両面印刷機能、N−up印刷機能、ステイプル機能、パンチ機能、トリミング機能、用紙Z折り機能などの各種フィニッシング機能、さらにこれらの機能を複合して実現する製本機能、スタンプ(Watermark)機能、フォントダウンロード機能、フォント置換機能、フォームオーバレイ機能等の前記プリンタドライバにおいて実行可能な印刷機能属性情報、およびモノクロ印刷時の階調数、カラー印刷時の色深度、色調、色空間および設定可能なカラープロファイル、マッチング方法、設定可能解像度、ベクタ/イメージ描画、ディザリング等のグラフィックス描画方法、印刷可能な用紙サイズおよび用紙種、最大設定可能コピー部数、N−up印刷時の印刷設定可能N−up数などの各種印刷機能および印刷能力それぞれに、使用費用,公開費用(より高度な機能の明示/使用に係る費用)等を割り当てて管理するデータベースである。なお、上記「使用費用」も「公開費用(より高度な機能の明示/使用に係る費用)」も共に、使用された際に課金されるものであるが、「使用費用」は一般的な印刷属性設定をの使用費用に対応し、「公開費用(より高度な機能の明示/使用に係る費用)」は、例えば、異なるサイズの用紙が混在し、さらに、製本設定等がなされている場合に、自動的に縮小又は拡大して、一つのサイズの用紙に印刷処理して製本処理するような高機能を有する印刷装置に対して、この機能を使用する費用に対応する。なお、「公開費用(より高度な機能の明示/使用に係る費用)」は、この例に限られるものではなく、一般的な印刷装置に用意されている印刷機能以外の印刷機能を使用する費用は全て含まれるものである。
【0205】
そして、プリンタドライバ102において、アプリケーションプログラム103に通知する印刷機能および印刷能力・性能を選択決定する際、この機能/能力コスト情報データベース1208を参照し、アクセス制御レベル及び上記使用上限課金度数に応じた(使用上限課金度数以下の)課金対象となる印刷機能および印刷能力を選択・決定しアプリケーションプログラム103に通知する。
【0206】
また、プリンタドライバ102は、アプリケーションプログラム103から印刷指示とともに送信される各種印刷属性設定情報に基づき、印刷制御命令を生成し、OS101のスプーラ1202を経由してプリンタ104に送信し、ドキュメント出力105を行う。そして、プリンタドライバ102は、上記各種印刷属性設定情報の使用実績に基づいて、課金対象の情報を生成し(1206)、前記機能/能力コスト情報データベース1208を参照して、ドキュメント印刷を行ったユーザ毎に課金算出処理を行い(1207)、課金結果を課金情報データベース1209に蓄積する。
【0207】
なお、前記機能/能力コスト情報データベース1208および課金情報データベース1209は、一般的にホストコンピュータ100が通信可能なサーバ上に構築することにより運用される。
【0208】
<第2実施形態のプリンタドライバにおける認証、印刷機能/能力情報通知の各制御処理(図16,図17)>
以下、図16,図17に示すフローチャートによって、第2実施形態におけるホストコンピュータ100のプログラムメモリ上にあるプリンタドライバプログラム104の各制御処理を詳細に説明する。
【0209】
図16は、本発明の印刷システムにおける第5の制御処理手順の一例を示すフローチャートである。なお、図12と同一のステップには同一のステップ番号を付してある。
【0210】
また、図16中、S801〜S802、S1601〜S160、S805〜S809に示すステップは、本実施形態に係るホストコンピュータ100におけるプリンタドライバプログラム102(CPU304がRAM306上で実行する)におけるアプリケーションプログラム103から通知される認証情報の照合、印刷機能/能力に対するアクセス制御レベルに応じた印刷機能属性情報および印刷能力属性情報をアプリケーションプログラム103に通知する一連の制御処理に対応する。
【0211】
以下、図12と異なるステップのみ説明する。
【0212】
ステップS1601において、プリンタドライバ102は、認証情報の照合処理(プリンタドライバ102におけるFS_FNCertificate( )関数401モジュール処理である)を行い、前記認証情報に基づくアクセス制御レベル,上限課金度数あるいは認証失敗ステータスを出力する。なお、この認証情報照合処理の詳細は図17に示す。
【0213】
次に、ステップS1602において、プリンタドライバ102は、上記ステップS803の認証情報照合処理(FS_FNCertificate( )関数401モジュール処理)の処理結果に基づき、認証に成功しアプリケーションプログラム103のアクセス制御レベル,上限課金度数が決定できたか否か(認証に失敗したか)を判定する。
【0214】
ステップS1602で、プリンタドライバ102が、認証に成功したと判定し、前記アプリケーションプログラム103のアクセス制御レベル,上限課金度数が決定できたと判定した場合には、ステップS1603に処理を進め、前記決定したアクセス制御レベル,上限課金度数に応じた印刷機能および印刷能力を選択し、ステップS807に処理を進める。
【0215】
一方、ステップS1602で、プリンタドライバ102が、認証に失敗したと判定した場合には、ステップS806に処理を進る。
【0216】
図17は、本発明の印刷システムにおける第6の制御処理手順の一例を示すフローチャートであり、図16のステップS1601に示した認証情報照合処理に対応する。なお、図13と同一のステップには同一のステップ番号を付してある。
【0217】
なお、図12中、S901〜S906,S908,S1701に示す各ステップは、本実施形態に係るホストコンピュータ100におけるプリンタドライバプログラム102(CPU304がRAM306上で実行する)により実行される認証情報照合処理であるFS_FNCertificate( )関数401モジュール内の処理の一例に対応する。
【0218】
ステップS906で、プリンタドライバ102が、照合に成功したと判定した場合には、ステップS1701に処理を進め、該照合されたアプリケーションプログラムの印刷機能および印刷能力に対するアクセス制御レベル,上限課金度数を認証情報DBから取得出力して、処理を終了する。
【0219】
<プリンタドライバプログラムにおける印刷制御処理の説明(図18)>
以下、図18に示すフローチャートによって、第2実施形態におけるホストコンピュータ100のプログラムメモリRAM1006上にあるプリンタドライバプログラム102の印刷制御処理を詳細に説明する。
【0220】
図18は、本発明の印刷システムにおける第7の制御処理手順の一例を示すフローチャートである。なお、図14と同一のステップには同一のステップ番号を付してある。
【0221】
なお、図18中の1101〜S1111,S1801に示すステップは、本実施形態に係るプリンタ104におけるプリンタドライバプログラム102(CPU304がRAM306上で実行する)での印刷制御処理に対応する。
【0222】
プリンタドライバプログラム102は、プリンタ104でのドキュメントが印刷が終了すると、ステップS1801において、この印刷処理における上記各種印刷属性設定情報の使用実績に基づいて、課金対象の情報を生成し、前記機能/能力コスト情報データベース1208を参照して、ドキュメント印刷を行ったユーザ毎に課金算出処理を行い、課金結果を課金情報データベース1209に蓄積し、処理を終了する。
【0223】
本実施形態によれば、第1の実施形態をさらに部門管理あるいは課金管理を行うことによって、印刷機能および印刷能力・性能を得るために、最適なコストで印刷システム構築、運用が可能となる。
【0224】
〔第3実施形態〕
第3実施形態では、上記第1実施形態において、プリンタドライバ102内に備えていたアプリケーションプログラム103の認証情報データベースを外部ファイル形式で提供するように構成する。例えば、プリンタドライバ102へのプラグイン形態・運用を採用することによって、必要に応じて、上記各種認証情報あるいはアクセス制御レベルを書き換え可能とすることができる。
【0225】
本実施形態によれば、例えば、アプリケーションプログラムのバージョンアップ、印刷機能・能力および利用者制限解除などを行った場合に、プリンタドライバ提供者あるいはユーザシステム管理者により、上記各種認証情報あるいはアクセス制御レベルを更新可能になり、効率の良い、柔軟なシステム構築、運用を実現することが可能となる。
【0226】
〔第4実施形態〕
第4実施形態では、上記第1実施形態において、プリンタドライバ内に備えていたアプリケーションプログラムの認証情報データベースを外部のサーバ上に構築するように構成してもよい。
【0227】
例えば、上記第2実施形態において、機能/能力コスト情報データベース1208および課金情報データベース1209と併せて、サーバ上に構築するように構成してもよい。
【0228】
本実施形態によれば、例えば、大規模なシステムにおいて、多数のアプリケーションプログラム、多数のアプリケーションプログラム利用者の認証情報を一元管理することができる。また、上記第2形態形態の部門管理あるいは課金管理を適用する場合でも、効率の良いシステム構築、運用を実現することが可能となる。
【0229】
〔第5実施形態〕
第5実施形態では、アプリケーションプログラム103側で動作環境、特定用途利用者向けなどの各レベルに応じた複数認証情報を用意し、該アプリケーションプログラム103側に設定しておくように構成する。
【0230】
本実施形態によれば、アプリケーションプログラム側で意図した印刷機能および印刷能力・性能に対するアクセス制御レベル決定を可能になるため、セキュリティの高いアプリケーションプログラム、ドキュメント印刷システムの提供が可能となる。
【0231】
〔第6実施形態〕
上記各実施形態では、プリンタSDK APIライブラリを、ホストコンピュータ100上のアプリケーションプログラム103、プリンタドライバプログラム102から読み込み可能なプログラムライブラリ形式として提供する構成について説明した。
【0232】
このプリンタSDK APIライブラリは、ホストコンピュータ100上のアプリケーションプログラム103、プリンタドライバプログラム102において、スタティックリンクライブラリとして、予め各プログラムに内蔵される構成であっても、或いは、外部ファイル形式(ダイナミックリンクライブラリ)として、任意のタイミングで必要に応じて、プログラムメモリ上に外部ライブラリファイルをロードして使用する構成であってもよい。
【0233】
なお、上記各実施形態内で示した印刷能力情報および印刷機能情報等の各種情報や画面等の構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【0234】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0235】
なお、上記各実施形態をいずれか又は全てを組み合わせた実施形態も全て本発明に含まれるものである。
【0236】
以上説明したように、本実施形態の情報処理装置は、一般的な印刷機能はもとより、印刷装置のもつオプション類などのリソース付加による種々の機能およびプリンタドライバで処理実現される高付加価値機能をアプリケーションプログラムから利用するために、ドキュメント作成・印刷アプリケーションプログラムで標準的に使用されるWindows(登録商標) SDKライブラリとともに、使用可能な機能をアプリケーションプログラムインタフェース(API)を使用して、プリンタドライバからアプリケーションプログラムに通知することにより、アプリケーションプログラムにおいて、印刷可能な機能に応じた印刷するドキュメント体裁加工を可能とし、標準的な印刷機能の他に、オプション装置類などを搭載して実現可能なプリンタデバイス機能および高度なプリンタドライバ実現機能を使用可能とし、より付加価値の高い印刷機能を提供することが可能である。
【0237】
さらに、アプリケーションプログラムの使用目的あるいは動作目的により、アプリケーションプログラムの認証情報をアプリケーションプログラムインタフェース(API)を使用して、プリンタドライバに通知することにより、アプリケーションプログラムのシステム上における使用目的、動作目的および利用者毎の印刷機能使用制限に応じて認証を行い、印刷機能および印刷能力・性能のアクセス制御が行えるため、個別ユーザ向けの特定アプリケーションプログラム、特殊用途アプリケーションプログラム、公開されていない機能を利用するアプリケーションプログラム、製本機能などのプリンタの機能をフルに使用するアプリケーションプログラム、機能・能力に関してセキュリティの高い印刷システムを実現できる。従って、アプリケーションプログラムおよび印刷システム開発のコスト低減、低コストかつ構築・運用性の高い印刷システムの提供が可能となる効果を奏する。
【0238】
さらに、前記認証について、印刷機能のアクセス制御を部門管理、課金管理に基づいて行う等の応用も可能である。
【0239】
以下、図19に示すメモリマップを参照して本発明に係る印刷システムを構成する情報処理装置(ホストコンピュータ100)で読み取り可能なデータ処理プログラムの構成について説明する。
【0240】
図19は、本発明に係る本発明に係る印刷システムを構成する情報処理装置(ホストコンピュータ100)で読み取り可能な各種データ処理プログラムを格納する記憶媒体(記録媒体)のメモリマップを説明する図である。
【0241】
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【0242】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【0243】
本実施形態における図8,図12,図13,図14,図16,図17,図18に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【0244】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0245】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0246】
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
【0247】
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
【0248】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0249】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記憶媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバやftpサーバ等も本発明の請求項に含まれるものである。
【0250】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【0251】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0252】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0253】
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記憶媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0254】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組み合わせを含む)が可能であり、それらを本発明の範囲から排除するものではない。
【0255】
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではない。
【0256】
以上説明したように、アプリケーションからSDK APIでアプリケーションの使用/動作目的に応じた認証情報をプリンタドライバに通知し、ドライバにおいてこの認証情報に基づき各種印刷機能及び印刷能力・性能に対するアクセス制御レベルを決定し、アプリケーションからAPIによる現在使用可能な印刷機能及び印刷能力・性能をドライバに問い合わせ、ドライバは、アクセス制御レベルに基づいた印刷機能属性情報及び印刷能力属性情報をアプリケーションに通知し、アプリケーションは、これらの情報に基づき、ドキュメント編集・加工及び印刷設定を制御し、ドキュメント印刷を行うことにより、アプリケーションの使用/動作目的に応じ使用する各種印刷機能に対するアクセス制御レベルを与え、印刷に関して、機能拡張、機能制限を設けることが可能とあんり、アプリケーション用途及び利用者による高機能あるいは簡便機能を目的に応じて提供することを可能とする。また、APIによる認証により機能制限を行えるため、低コストかつセキュリティ向上を図る運用性の高い印刷システムを提供することが可能となる。
【図面の簡単な説明】
【0257】
【図1】本発明の一実施形態を示す印刷システムの一例を示すシステム構成図である。
【図2】図1に示したホストコンピュータ上のOS、アプリケーションプログラム、プリンタドライバおよびプリンタにおける、プリンタドライバSDK APIを使用して、初期化から印刷までの各構成要素の内部および構成要素間の処理の流れをあらわすブロック図である。
【図3】図1に示したホストコンピュータ上のOS、アプリケーションプログラムおよびプリンタドライバにおける、プリンタドライバSDK APIの初期化から印刷までのコーリングシーケンス図である。
【図4】図3に示したプリンタドライバSDK APIである認証情報通知するFS_FNCertificate( )関数および印刷機能属性情報、印刷能力属性情報を取得・通知するFS_GetFuncItem()関数を説明する図である。
【図5】Windows(登録商標) NT4.0/Windows(登録商標) 2000/Windows(登録商標) XP等の32-Bitオペレーティングシステム環境下におけるオペレーティングシステムのGDI,アプリケーションプログラム,プリンタドライバおよびプリンタドライバSDKライブラリの各構成例を示す図である。
【図6】Windows(登録商標) 95/Windows(登録商標) 98/Windows(登録商標) Me等の16-Bitオペレーティングシステム環境下におけるオペレーティングシステムのGDI,アプリケーションプログラム,プリンタドライバおよびプリンタドライバSDKライブラリの各構成例を示す図である。
【図7】図1に示したホストコンピュータ及びプリンタのハードウェア接続構成を示すブロック図である。
【図8】本発明の印刷システムにおける第1の制御処理手順の一例を示すフローチャートである。
【図9】図1に示したアプリケーションプログラム103の編集画面及び色設定画面の一例を示す図である。
【図10】図1に示したアプリケーションプログラム103の印刷ダイアログの一例を示す図である。
【図11】図1に示したアプリケーションプログラム103の印刷ダイアログの一例を示す図である。
【図12】本発明の印刷システムにおける第2の制御処理手順の一例を示すフローチャートである。
【図13】本発明の印刷システムにおける第3の制御処理手順の一例を示すフローチャートである。
【図14】本発明の印刷システムにおける第4の制御処理手順の一例を示すフローチャートである。
【図15】本発明の第2実施形態におけるアプリケーションプログラム、プリンタドライバ、プリンタおよび各種データベースから構成されるドキュメント印刷課金管理システムの各制御処理の流れに一例を示す図である。
【図16】本発明の印刷システムにおける第5の制御処理手順の一例を示すフローチャートである。
【図17】本発明の印刷システムにおける第6の制御処理手順の一例を示すフローチャートである。
【図18】本発明の印刷システムにおける第7の制御処理手順の一例を示すフローチャートである。
【図19】本発明に係る本発明に係る印刷システムを構成する情報処理装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体(記録媒体)のメモリマップを説明する図である。
【符号の説明】
【0258】
100 ホストコンピュータシステム
101 オペレーティングシステム(OS)
102 プリンタドライバ
103 アプリケーションプログラム
104 プリンタ




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013