JP4100912B2 - 情報処理装置及びその制御方法、プログラム並びに記憶媒体 - Google Patents

情報処理装置及びその制御方法、プログラム並びに記憶媒体 Download PDF

Info

Publication number
JP4100912B2
JP4100912B2 JP2002004690A JP2002004690A JP4100912B2 JP 4100912 B2 JP4100912 B2 JP 4100912B2 JP 2002004690 A JP2002004690 A JP 2002004690A JP 2002004690 A JP2002004690 A JP 2002004690A JP 4100912 B2 JP4100912 B2 JP 4100912B2
Authority
JP
Japan
Prior art keywords
control code
application
processing apparatus
information processing
setting
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.)
Expired - Fee Related
Application number
JP2002004690A
Other languages
English (en)
Other versions
JP2003208273A (ja
Inventor
淳一 宮田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2002004690A priority Critical patent/JP4100912B2/ja
Priority to US10/339,317 priority patent/US7196812B2/en
Publication of JP2003208273A publication Critical patent/JP2003208273A/ja
Application granted granted Critical
Publication of JP4100912B2 publication Critical patent/JP4100912B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1284Local printer device

Description

【0001】
【発明の属する技術分野】
本発明は、描画命令を出力する第1アプリケーションと、前記描画命令をページ単位に制御コードに変換するプリンタドライバと、前記制御コードを入力する第2アプリケーションとを有する情報処理装置及びその制御方法、プログラム並びに記憶媒体に関するものである。
【0002】
【従来の技術】
一般的に、情報処理装置上で動作するオペレーティングシステム(以下OS)上の印刷システムにおいて、文書作成ソフトウェアや画像編集ソフトウェア等のアプリケーションプログラムからの印刷情報(一般にGDI関数と呼ぶ)は、OSの内部モジュールであるグラフィックエンジンを介して、抽象的な論理描画要求(一般にDDI関数と呼ぶ)として、制御コード生成モジュール(以下プリンタドライバ)へと送信される。このプリンタドライバはその論理描画要求を解釈し、特定のフォーマットに準拠した制御コード群を生成する。
【0003】
通常、このような機能を提供するプリンタドライバは、OS上にソフトウエアモジュールとしてインストールされ、このOS上で稼動するすべてのアプリケーションプログラムから利用されることが可能である。また、プリンタドライバは情報処理装置上で動作する、すべてのアプリケーションに対して制御コード出力機能(印刷機能)を提供する。
【0004】
プリンタドライバが生成した制御コード群は、OSのシステムスプーラを介して、プリンタやFAX等の出力機器へと送信され、内部のラスタライズモジュールにより人間が視覚的に認識可能なビットマップイメージへと変換されて出力される。また、この制御コードを解釈可能な情報処理装置上で動作する別のプログラムモジュールによりラスタライズされ、ユーザが操作する画面上に表示させることも可能である。このプログラムモジュールは、プリンタドライバが生成した制御コード群を編集したり、異なる印刷ジョブの制御コード群を結合したりするアプリケーションであり、このようなぷリケーションを本明細において、印刷編集アプリケーションと呼ぶ。
【0005】
この印刷編集アプリケーションにおいては、たとえ解釈する制御コードのコマンド体系(命令群)が同じであっても、その内部アルゴリズムの違いや動作している機器のハードウェアリソースの違いなどにより解釈可能な制御コードが異なる場合がある。
【0006】
例えば、ある制御コードを編集処理するモジュールAは、ハードウエアのリソースが少ないため、制御コード中に埋め込まれるイメージデータのメモリ領域を10,000個までしか確保できないものとする。この時、10,000を超えるイメージデータが制御コードに埋め込まれていた場合にはメモリ確保エラーとなり処理が中止されることが考えうる。
【0007】
また、別の編集処理モジュールBで上述の制限がないとすれば、10,000を超えるイメージデータも解釈可能となる。即ち、編集処理モジュールに依存して、解釈可能な制御コードに違いが生じるということである。
【0008】
この問題により、以下のことが起こりうる。
【0009】
例えば、ある共通の制御コードを解釈可能な編集処理モジュールが複数存在していた場合、この共通制御コードを出力する別のモジュール(プリンタドライバ)から出力された制御コードは一番高い性能をもつ編集処理モジュールで編集処理が可能であったとしても、一番性能が低い編集処理モジュールでは編集処理が可能とは限らない。この時、メモリエラー等が発生して動作自体が強制終了するようなことも考えられる。
【0010】
【発明が解決しようとする課題】
上述したように、現在の印刷システムではOS上で動作するプリンタドライバは、通常OS上にソフトウェアモジュールとしてインストールされ、そのOS上で稼動するすべてのアプリケーションから利用されることが可能である。また、プリンタドライバは情報処理装置上で動作する、すべてのアプリケーションに対して印刷機能を提供する。
【0011】
しかし、現状、プリンタドライバが出力した制御コードを認識する情報処理装置上の編集処理モジュールが複数存在した場合、各編集処理モジュールの特性を理解し、制御コードをカスタマイズすることができない。例えば、あるプリンタドライバはある特定の制御コードを出力するが、これらがこの制御コードを認識するすべての編集処理モジュールで描画が可能とはなりえない。また、編集処理モジュールによっては、編集処理動作を遂行できないとなれば、一連の処理が中止されることも考えられる。
【0012】
本発明は、上記課題を解決するためになされたもので、プリンタドライバで制御コードに変換される描画命令の数を、変換された制御コードを入力するアプリケーションが設定可能とすることを目的とする。
【0013】
【課題を解決するための手段】
上記目的を達成するために、本発明は、描画命令を出力する第1アプリケーションと、前記描画命令をページ単位に制御コードに変換するプリンタドライバと、前記制御コードを入力する第2アプリケーションとを有する情報処理装置において、前記第2アプリケーションより前記第2アプリケーションが入力可能な前記制御コードに変換される描画命令の数を設定する設定手段と、前記第1アプリケーションから出力された描画命令の数が前記設定手段で設定された描画命令の数を超えているかを判断する判断手段と、前記判断手段で前記第1アプリケーションから出力された描画命令の数が前記設定手段で設定された描画命令の数を超えていないと判断された場合に、前記プリンタドライバを用いて、当該描画命令をページ単位に制御コードに変換する制御コード変換手段と、前記判断手段で前記第1アプリケーションから出力された描画命令の数が前記設定手段で設定された描画命令の数を超えていると判断された場合に、前記判断手段での判断結果を報知するための警告画面を表示する表示制御手段とを有し、前記制御コード変換手段は、前記設定手段によって設定された制御コードの描画命令の数を越える分について、当該描画命令を制御コードに変換する処理を実行しないことを特徴とする。
【0014】
また、上記目的を達成するために、本発明は、描画命令を出力する第1アプリケーションと、前記描画命令をページ単位に制御コードに変換するプリンタドライバと、前記制御コードを入力する第2アプリケーションとを有する情報処理装置の制御方法であって、前記第2アプリケーションより前記第2アプリケーションが入力可能な前記制御コードに変換される描画命令の数を設定する設定工程と、前記第1アプリケーションから出力された描画命令の数が前記設定工程で設定された描画命令の数を超えているかを判断する判断工程と、前記判断工程で前記第1アプリケーションから出力された描画命令の数が前記設定工程で設定された描画命令の数を超えていないと判断された場合に、前記プリンタドライバを用いて、当該描画命令をページ単位に制御コードに変換する制御コード変換工程と、前記判断工程で前記第1アプリケーションから出力された描画命令の数が前記設定工程で設定された描画命令の数を超えていると判断された場合に、前記判断工程での判断結果を報知するための警告画面を表示する表示制御工程とを有し、前記制御コード変換工程は、前記設定手段によって設定された制御コードの描画命令の数を越える分について、当該描画命令を制御コードに変換する処理を実行しないことを特徴とする。
【0015】
【発明の実施の形態】
以下、図面を参照しながら本発明に係る実施の形態を詳細に説明する。
【0016】
図1は、本実施形態におけるシステムの概要を示すブロック図である。図1に示す(a)において、101はある特定のプログラムモジュールが認識可能な制御コードを生成する制御コード生成部である。また、制御コード生成部101が生成した制御コードは、印刷装置で解釈され印刷出力可能な印刷ジョブとして利用することも可能である。制御コード生成部101の具体例としては、PDF Writerなどが挙げられる。102は制御コード生成部101において生成された制御コードをユーザにラスタライズされたビットマップイメージとして表示する制御コード表示部である。印刷編集アプリケーションは、制御コード表示モジュールを備えている。印刷編集アプリケーションは、ラスタライズ処理以外にも、印刷ジョブに相当する制御コード生成部101により一度の指示で生成される一連の制御コード群を結合するなどの編集処理を行う編集処理モジュールをも備えており、文書作成アプリケーションや表作成アプリケーションで生成された異なる制御コードを結合して1つの文書としたり、ページ順序を入れ替えるページハンドリング処理を行うためのソフトウェアである。
【0017】
また、図1に示す(b)及び(c)は一般的な制御コード生成部と印刷編集アプリケーション(制御コード表示部)の形態を示している。図1に示す(b)の形態において、制御コード生成部103は、パーソナルコンピュータ等の情報処理装置上で動作するプログラムモジュールであり、印刷編集アプリケーションの制御コード表示部104は生成された制御コードを同じ情報処理装置上、あるいはネットワーク上の他の情報処理装置上でユーザが認識可能なビットマップイメージとしてディスプレイ上に表示するプログラムモジュールである。
【0018】
更に、図1に示す(c)の形態において、制御コード生成部105は、パーソナルコンピュータ等の情報処理装置上で動作するプログラムモジュールであり、制御コード表示部106はネットワーク上で稼動するプリンタ機器やFAX機器等の出力装置であり、制御コードを解釈して、ユーザが認識可能なビットマップイメージとして印刷物を出力することで表示を行う。
【0019】
図2は、図1に示す(b)及び(c)の主要プログラムモジュールを具体的に表現したものである。ここで、図2に示す(a)は図1に示した(b)の形態を示している。本例においては、制御コード生成部201は情報処理装置上で動作するプリンタドライバプログラムで、制御コードを生成する。また、制御コード表示部202は制御コードを解釈して、ディスプレイ上に表示するビューワプログラムである。
【0020】
同様に、図2に示す(b)は図1に示した(c)の形態を示している。本例においては、制御コード生成部203は情報処理装置上で動作するプリンタドライバプログラムで、制御コードを生成する。また、制御コード表示部204は制御コードをラスタライズして、イメージデータとして記録用紙に出力するプリンタコントローラである。
【0021】
図3は、本実施形態における印刷システムが稼動する情報処理装置の構成を示すブロック図である。図3において、3000は情報処理装置で、その内部にはROM303内のプログラム用ROMや外部メモリ311に記憶されたアプリケーションプログラム等に基づいて図形、イメージ、文字、表(表計算等を含む)等が混在した文書処理を実行するCPU301を備え、CPU301がシステムバス304に接続される各デバイスを総括的に制御する。また、ROM303内のプログラム用ROMや外部メモリ311には、CPU301の制御プログラムであるオペレーティングシステム(以下OS)等が記憶され、ROM303内のデータROMや外部メモリ311には上述の文書処理の際に使用する各種データが記憶される。
【0022】
302はRAMで、CPU301の主メモリ、ワークエリア等として機能する。305はキーボードコントローラ(KBC)で、キーボード309や不図示のポインティングデバイスからのキー入力を制御する。306はビデオコントローラ(CRTC)で、CRTディスプレイ(CRT)や液晶ディスプレイ310への表示を制御する。307はディスクコントローラ(DKC)で、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、印刷編集アプリケーション、及び本実施形態によるプリンタドライバ等を記憶するハードディスク(HD)、フロッピーディスク(FD)等の外部メモリ311とのアクセスを制御する。308はネットワークコントローラ(NETC)で、所定のインターフェースを介してプリンタ機器等に接続されて通信制御処理を実行する。
【0023】
尚、CPU301は、ラスタライズプログラムを介して、例えばRAM302上に設定された表示情報RAMへの展開(ラスタライズ)処理を実行し、ディスプレイ10上での表示を可能としている。また、CPU301は、ディスプレイ310上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。更に、ユーザは印刷を実行する際に、接続されているプリンタドライバの設定に関するウインドウを開き、プリンタドライバに対する印刷処理方法の設定を行うことができる。
【0024】
図4は、本実施形態における印刷システムが稼動するプリンタ機器の構成を示すブロック図である。図4において、4000はプリンタ装置で、その内部にはROM403内のプログラム用ROMや外部メモリ409に記憶されたプリンタコントローラプログラム等を実行するCPU401を備え、CPU401がシステムバス404に接続される各デバイスを総括的に制御する。また、ROM403内のプログラム用ROMや外部メモリ409には、CPU401の制御プログラムであるオペレーティングシステム等が記憶され、ROM403内のデータROMや外部メモリ409には文字表示に使用するフォントデータ等の各種データが記憶される。
【0025】
402はRAMで、CPU401の主メモリ、ワークエリア等として機能する。406は出力コントローラ(OUTC)で、オペレーティングシステムの制御下で動作するコントローラプログラムによりホストコンピュータから転送された制御コードをラスタライズして、記録用紙に画像を形成して排紙トレイ等へ出力する出力ユニット408へ画像データとして出力する。407はディスクコントローラ(DKC)で、ブートプログラム、フォントデータ等を記憶するハードディスク(HD)等の外部メモリ409とのアクセスを制御する。405はネットワークコントローラ(NETC)で、所定のインターフェースを介して情報処理装置に接続されて情報処理装置との通信制御処理を実行する。
【0026】
尚、所定のインターフェースを介して入力された制御コードは、CPU401の制御の下、RAM402上にロードされたプリンタコントローラプログラムによりRAM402や外部メモリ409等の記憶領域に画像展開(ラスタライズ)され、出力コントローラ406を介して用紙等の媒体に印字を行う出力ユニット408に出力される。
【0027】
図5は、ホストコンピュータの典型的な印刷処理モジュールの構成を示す図である。この印刷処理モジュールは、外部メモリ311からRAM302にロードされ、CPU301によって実行されるものである。図示するように、文書処理プログラム等のアプリケーション501、OSの提供するグラフィックエンジン502、そのグラフィックエンジン502を経由し、アプリケーション501から渡された印刷描画命令を処理するプリンタドライバ503、及びそのプリンタドライバ503から受け取った制御コードをネットワーク上のプリンタや特定のファイル等に出力するシステムスプーラ504から構成される。これらのモジュールは外部メモリ311に保存されたファイルとして存在し、実行の際にOSによってRAM2にロードされ、実行されるプログラムモジュールである。また、アプリケーション501及びプリンタドライバ503は外部メモリ311のFDや不図示のCD−ROM或いは不図示のネットワークを経由して外部のHDから追加することも可能となっている。
【0028】
外部メモリ311に保存されているアプリケーション501はRAM302にロードされて実行されるが、このアプリケーション501からプリンタドライバ502に対して印刷を行う場合は、同様にRAM302にロードされ実行可能となっているグラフィックエンジン502を介して出力を行う。このグラフィックエンジン502もプリンタドライバ503と同様に外部メモリ311からRAM302にロードされ、アプリケーション501の描画要求であるGDI関数をプリンタドライバ503が解釈可能な描画関数であるDDI関数に変換し、変換された描画命令であるDDI関数をプリンタドライバ503に伝達する。一方、プリンタドライバ503は伝達された描画命令を印刷装置で印刷出力可能な特定の制御コードに変換する。そして、プリンタドライバ503により生成された制御コードはシステムスプーラ504を介して、ネットワークを上のプリンタ機器に送信されるか、或いは外部メモリ311のようなファイルシステム上にファイルとして出力されることも可能である。
【0029】
図6は、本実施形態におけるアプリケーションとプリンタドライバプログラムの情報伝達形態を示す図である。図6に示すように、アプリケーションA、B(501)がRAM302にロードされ、実行可能となっているものとする。尚、これらのアプリケーションの同時起動数はこれ以上であっても構わない。
【0030】
図6において、601はプリンタドライバ503とアプリケーション501が情報伝達に用いる外部メモリ311に代表されるファイルシステム上の記憶領域である。ここで、ある特定のアプリケーション501(印刷編集アプリケーションに相当する)とプリンタドライバ503はこの記憶領域601に情報を書き込み、これを読み込むことにより通信を確立することが可能となる。
【0031】
図7は、本実施形態における情報伝達用の記憶領域を示す図である。この例では、701にはプリンタドライバ503を識別するIDが格納され、702にはアプリケーション501によって設定され、プリンタドライバ503で出力可能な1ページ中の総描画数が保存され、703にはアプリケーション501によって設定され、プリンタドライバ503で出力可能な1つの印刷ジョブ(一連の制御データ群)全体の総描画数が保存されるものとする。また、記憶領域701、702、703に記述されるフォーマットは、プリンタドライバ503、アプリケーション501が認識可能であればどのような形式でも構わない。
【0032】
印刷処理がされていない通常状態において、この記憶領域601は図8に示すような構成になっているものとする。ここで、プリンタドライバを識別するID領域801には、"プリンタドライバA"という文字列が設定され、802及び803のページ中及び全体の出力可能描画総数には"制限なし"がそれぞれ設定されているものとする。通常状態において、プリンタドライバの出力先は印刷装置であり、印刷装置は描画処理においてハード的な制約がないため、出力可能描画総数に制限がない。
【0033】
まず、情報処理装置上で文書処理等の処理を行うアプリケーション501からの印刷開始時、アプリケーション501からの印字要求(GDI関数)はグラフィックエンジン502を介して印字命令(DDI関数)に変換され、プリンタドライバ503に伝えられる。図9は、本実施形態においてグラフィックエンジン502からプリンタドライバ503に要求された印字命令の例を示す図である。図9に示すように、グラフィックエンジン502から渡された印字要求は印刷開始と印刷終了を判別可能であるものとし、印字要求は印刷開始命令(StartPrint())901で開始され、任意の個数(n)の描画要求(Output(1),Output(2)...Output(n))902を経た後、印刷終了命令(EndPrint())903で終了するものと仮定する。
【0034】
ここで、アプリケーション501から記憶領域601の出力可能描画数を指定しないで、通常状態の"制限なし"が設定されている場合に、プリンタドライバ503がグラフィックエンジン502を介してアプリケーション501から受け取った印刷命令を解析し、ページ単位に制御コードに変換してページ描画ファイル(PDF:Page Description File)として出力する処理について説明する。
【0035】
図10は、本実施形態における出力処理を示すフローチャートである。まず、アプリケーション501で印刷開始が指示されると、プリンタドライバ503は、ステップS1001において、グラフィックエンジン502を介して描画要求を受け付ける。そして、ステップS1002において、この描画要求が印刷開始命令か判断する。ここで、印刷開始時はアプリケーション501からグラフィックエンジン502を介して印刷開始命令(StartPrint)901を受け取るので、ステップS1003へ進み、OS共通である記憶領域601を読み出す。この記憶領域601における参照位置はプリンタドライバのID701を判断することにより位置を識別することが可能である。この時、記憶領域601は初期状態で図8に示す値が設定されている。次に、プリンタドライバ503は、ステップS1004において、1ページ中の出力可能な描画数領域802よりデフォルトの出力可能描画数(この場合、制限なし)を読み込み、内部データとしてこの値を保持し、ステップS1001へ戻る。
【0036】
そして、ステップS1001において、グラフィックエンジン502を介して描画要求を受け付ける。この描画要求は(Output(1))902に示す描画命令であり、ステップS1002の印刷開始命令、ステップS1005の印刷終了命令ではないため、ステップS1006へ進み、内部データである出力済み描画数をインクリメントする。そして、ステップS1007において、この値がステップS1004で所得した出力可能描画数を超えているかをチェックする。ここでは、出力可能描画数は"制限なし"であるため、ステップS1012へ進み、この描画要求を制御コードに変換する。そして、この動作は、ステップS1005において、印刷終了命令(EndPrint)903を受け取るまで続けられる。その後、印刷終了命令903を受け取ったプリンタドライバ503は、ステップS1013へ進み、アプリケーション501に印刷終了を通知する。一般的に、この印刷終了通知はグラフィックエンジン502を介して行われることが可能である。
【0037】
このように、アプリケーション501はこの印刷終了通知を所得後、出力先がファイルであれば出力ファイルを所得及び参照することが可能となる。
【0038】
次に、アプリケーション501が印刷開始前に、記憶領域601の出力可能な描画数(ここでは、1ページ中の出力可能描画数とする)を図11に示すように変更した場合の出力処理について説明する。本実施形態では、アプリケーションBがプリンタドライバ503の出力可能な描画数を「4」までに制限するものとする。これは、アプリケーションA501が印刷開始時にプリンタドライバの出力先を、印刷装置とせずに、アプリケーションB501とした場合に、アプリケーションB501から通知される情報に基づいて出力可能描画数が設定される。
【0039】
まず、ステップS1001において、アプリケーションAからの印刷開始時、プリンタドライバ503は描画要求を受け付ける。そして、ステップS1002において、この描画要求が印刷開始命令か判断する。印刷開始時は印刷開始命令(StartPrint)901を受け取り、ステップS1003へ進む。次に、プリンタドライバ503は、ステップS1003において、OS共通である記憶領域601を読み出す。尚、記憶領域における参照位置はプリンタドライバのID701を判断することにより、位置を識別することが可能である。この時、プリンタドライバの出力先がアプリケーションBであるため、アプリケーションBにより記憶領域601は図11に示すような値に設定されている。次に、プリンタドライバ503は、ステップS1004において、1ページ中の出力可能な描画数(この場合、"4")を読み込み、内部データとしてこの値を保持し、ステップS1001へ戻る。
【0040】
そして、ステップS1001において、グラフィックエンジン502を介して描画要求を受け付ける。この描画要求は(Output(1))902に示す描画命令であり、ステップS1002の印刷開始命令、ステップS1005の印刷終了命令ではないため、ステップS1006へ進み、内部データである出力済み描画数をインクリメントする。そして、ステップS1007において、この値がステップS1004で所得した出力可能描画数を超えているかをチェックする。ここでは、出力可能描画数は"4"であるため、出力可能描画数を超えていないと判断し、ステップS1012へ進み、この描画要求を制御コードに変換する。そして、この動作は論理描画命令902を4回受け取るまで続けられる。
【0041】
その後、5回目の論理描画命令を受け取った時、ステップS1009において、出力可能描画数の上限を超えたと判断し、ステップS1010へ進み、この論理描画要求は捨てられ、制御コードには変換されない。本実施形態では、5回目の論理描画要求は最初の上限を超えた論理描画要求であり、ステップS1010において、図12に示すようなユーザインターフェースを表示してユーザに論理描画要求が無視された旨を表示する。次に、ステップS1011において、実際に印刷を行ったアプリケーションAに対して論理描画要求が無視された旨を表示する。一般的に、このアプリケーションAへの情報通知はグラフィックエンジン502を介して行うことが可能である。尚、以後の論理描画要求は、ステップS1009の判定にて非と判断され、無視されることなる。
【0042】
その後、ステップS1005において、印刷終了命令903を受け取ったプリンタドライバ503は、ステップS1013へ進み、アプリケーションAに印刷終了を通知する。一般的に、この印刷終了通知は一般的にグラフィックエンジン502を介して行われることが可能である。
【0043】
これにより、アプリケーションAが印刷終了通知を所得後、アプリケーションBは、出力ファイルを所得及び参照することが可能となる。
【0044】
図13は、アプリケーションAから印刷された描画データの例を示す図である。図13が大元のアプリケーションデータである。1301から1307までがそれぞれ印刷時に論理描画要求Output(1)-Output(7)に相当するものとする。
【0045】
本実施形態においては、論理描画要求Output(4)までは制御コードとして出力されるので、結局制御コード表示部102で描画されるデータは図14のようになり、論理描画要求5、6,7が削除されたものとなる。
【0046】
尚、本実施形態では、プリンタドライバの出力先のアプリケーションから1ページ中の出力可能な描画数が設定された場合を例に説明したが、全体の出力可能な描画数が設定された場合にも、図10に示すステップS1007において、ページ単位に出力可能描画数をチェックすると共に、全体の出力可能描画数を越えていないかチェックすることにより、同様に処理することが可能である。
【0047】
[他の実施形態]
次に、本発明に係る他の実施形態における処理について説明する。
【0048】
尚、他の実施形態における構成は、前述した実施形態と同様であり、ここではその差分を中心に説明する。
【0049】
前述した実施形態では、図10に示すフローチャートのステップS1004で所得する出力可能描画数を共通記憶領域601に設定したアプリケーションと、印刷を開始するアプリケーションが異なる例を説明したが、同じアプリケーションから設定を行うことも可能である。
【0050】
他の実施形態では、前述したアプリケーションBが印刷を開始する前に、同じまたは別のアプリケーションBまたはCが記憶領域601の設定をユーザの指定により予め変更する場合について説明する。以後、プリンタドライバ503を使用するすべてのアプリケーションで図10に示した描画処理が行われる。
【0051】
図15は、他の実施形態におけるアプリケーションB(C)の変更処理を示すフローチャートである。まず任意のタイミングでアプリケーションCが起動されると、ステップS1501において、アプリケーションB(C)は図16に示すようなユーザインターフェースを表示する。図16において、1601はユーザが特定のプリンタドライバを設定する領域、1602は設定されたプリンタドライバのページ中の最大描画数を決定する領域、1603は同様に全体の最大描画数を決定する領域である。
【0052】
ユーザがプリンタドライバ設定領域1601、ページ中及び全体の最大描画数の領域1602及び1603を設定した後、1604のOKボタンを押下すればステップS1502からステップS1503へ進み、アプリケーションCは記憶領域601に設定値を書き込む。ここで、ユーザが図16に示すように設定したとすれば、この処理により、記憶領域601は図11のように設定されることになる。以後、プリンタドライバ503は前述した実施形態と同様に、この記憶領域601を参照し、出力描画数を制限して動作することになる。
【0053】
また、他の実施形態では、出力先である印刷編集アプリケーションからユーザインターフェースを表示したが、ユーザインターフェースを表示することなく、直接記憶領域601に書き込んでも良い。
【0054】
図17は、直接記憶領域601に書き込む処理を示すフローチャートである。まずアプリケーション起動後、ステップS1701において、印刷編集アプリケーション内部で保持していた値を記憶領域601に書き込む。
【0055】
尚、出力先である印刷編集アプリケーションは、プリンタドライバのインストールのタイミングで起動されることも、或いはプリンタドライバ内部から呼ばれることも可能であり、任意のタイミングで呼ばれることで印刷設定を変更することが可能である。
【0056】
以上説明したように、制御コード生成モジュール(プリンタドライバ)が出力した制御コードを解釈するラスタライズモジュールの出力可能描画数に準じて、プリンタドライバが出力する出力描画数を制御するように動作させることが可能となる。
【0057】
ラスタライズモジュールが解釈できない数の描画出力要求はプリンタドライバで削除することにより、描画自体はアプリケーションが保持する印刷データとは違うものとなるが、ラスタライズモジュール毎の特性により、印刷、表示動作が途中で中止されるようなことを回避することが可能となる。
【0058】
尚、本発明は複数の機器(例えば、ホストコンピュータ,インターフェース機器,リーダ,プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機,ファクシミリ装置など)に適用してもよい。
【0059】
また、本発明の目的は前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(CPU若しくはMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【0060】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0061】
プログラムコードを供給するための記憶媒体としては、例えばフロッピーディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROMなどを用いることができる。
【0062】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0063】
更に、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0064】
【発明の効果】
以上説明したように、本発明によれば、プリンタドライバで制御コードに変換される描画命令の数を、変換された制御コードを入力するアプリケーションが設定可能とすることにより、プリンタドライバで変換すべき描画命令の数が設定された描画命令の数を超えていると判断された場合に、その描画命令を制御コードに変換せずに、警告画面を表示し、ユーザに報知することができる。
【図面の簡単な説明】
【図1】本実施形態におけるシステムの概要を示すブロック図である。
【図2】図1に示す(b)及び(c)の主要プログラムモジュールを具体的に表現したものである。
【図3】本実施形態における印刷システムが稼動する情報処理装置の構成を示すブロック図である。
【図4】本実施形態における印刷システムが稼動するプリンタ機器の構成を示すブロック図である。
【図5】ホストコンピュータの典型的な印刷処理モジュールの構成を示す図である。
【図6】本実施形態におけるアプリケーションとプリンタドライバプログラムの情報伝達形態を示す図である。
【図7】本実施形態における情報伝達用の記憶領域を示す図である。
【図8】図7に示す情報伝達用の記憶領域の構成を示す図である。
【図9】本実施形態においてグラフィックエンジン502からプリンタドライバ503に要求された印字命令の例を示す図である。
【図10】本実施形態における出力処理を示すフローチャートである。
【図11】印刷開始時に読み込まれる記憶領域の内容を示す図である。
【図12】出力可能な描画数を越えたときのユーザインターフェースを示す図である。
【図13】アプリケーションBから印刷された描画データの例を示す図である。
【図14】論理描画要求5、6、7が削除された結果を示す図である。
【図15】他の実施形態におけるアプリケーションCの変更処理を示すフローチャートである。
【図16】他の実施形態におけるユーザインターフェースを示す図である。
【図17】直接記憶領域601に書き込む処理を示すフローチャートである。

Claims (12)

  1. 描画命令を出力する第1アプリケーションと、前記描画命令をページ単位に制御コードに変換するプリンタドライバと、前記制御コードを入力する第2アプリケーションとを有する情報処理装置において、
    前記第2アプリケーションより前記第2アプリケーションが入力可能な前記制御コードに変換される描画命令の数を設定する設定手段と、
    前記第1アプリケーションから出力された描画命令の数が前記設定手段で設定された描画命令の数を超えているかを判断する判断手段と、
    前記判断手段で前記第1アプリケーションから出力された描画命令の数が前記設定手段で設定された描画命令の数を超えていないと判断された場合に、前記プリンタドライバを用いて、当該描画命令をページ単位に制御コードに変換する制御コード変換手段と、
    前記判断手段で前記第1アプリケーションから出力された描画命令の数が前記設定手段で設定された描画命令の数を超えていると判断された場合に、前記判断手段での判断結果を報知するための警告画面を表示する表示制御手段とを有し、
    前記制御コード変換手段は、前記設定手段によって設定された制御コードの描画命令の数を越える分について、当該描画命令を制御コードに変換する処理を実行しないことを特徴とする情報処理装置。
  2. 前記設定手段は、少なくとも1ページ中の最大描画命令のを設定することを特徴とする請求項1に記載の情報処理装置。
  3. 前記設定手段は、前記制御コード変換手段で変換される印刷ジョブ全体の最大描画命令のを設定することを特徴とする請求項1に記載の情報処理装置。
  4. 前記設定手段は、前記第2アプリケーションにて提供される設定画面を介して入力された値を、前記第2アプリケーションが入力可能な前記制御コードに変換される描画命令の数として設定することを特徴とする請求項1乃至3の何れか1項に記載の情報処理装置。
  5. 前記制御コードの出力先が前記第2アプリケーションである場合に、前記設定手段で設定されるべき描画命令の数を読み込む手段を更に有することを特徴とする請求項1乃至4の何れか1項に記載の情報処理装置
  6. 描画命令を出力する第1アプリケーションと、前記描画命令をページ単位に制御コードに変換するプリンタドライバと、前記制御コードを入力する第2アプリケーションとを有する情報処理装置の制御方法であって、
    前記第2アプリケーションより前記第2アプリケーションが入力可能な前記制御コードに変換される描画命令の数を設定する設定工程と、
    前記第1アプリケーションから出力された描画命令の数が前記設定工程で設定された描画命令の数を超えているかを判断する判断工程と、
    前記判断工程で前記第1アプリケーションから出力された描画命令の数が前記設定工程で設定された描画命令の数を超えていないと判断された場合に、前記プリンタドライバを用いて、当該描画命令をページ単位に制御コードに変換する制御コード変換工程と、
    前記判断工程で前記第1アプリケーションから出力された描画命令の数が前記設定工程で設定された描画命令の数を超えていると判断された場合に、前記判断工程での判断結果を報知するための警告画面を表示する表示制御工程とを有し、
    前記制御コード変換工程は、前記設定手段によって設定された制御コードの描画命令の数を越える分について、当該描画命令を制御コードに変換する処理を実行しないことを特徴とする情報処理装置の制御方法。
  7. 前記設定工程では、少なくとも1ページ中の最大描画命令のが設定されることを特徴とする請求項に記載の情報処理装置の制御方法。
  8. 前記設定工程では、前記制御コード変換工程で変換される印刷ジョブ全体の最大描画命令のが設定されることを特徴とする請求項に記載の情報処理装置の制御方法。
  9. 前記設定工程では、前記第2アプリケーションにて提供される設定画面を介して入力された値が、前記第2アプリケーションが入力可能な前記制御コードに変換される描画命令の数として設定されることを特徴とする請求項6乃至8の何れか1項に記載の情報処理装置の制御方法。
  10. 前記制御コードの出力先が前記第2アプリケーションである場合に、前記設定工程で設定されるべき描画命令の数を読み込む工程を更に有することを特徴とする請求項6乃至9の何れか1項に記載の情報処理装置の制御方法
  11. 請求項6乃至10の何れか1項に記載の情報処理装置の制御方法をコンピュータに実行させるためのプログラム。
  12. 請求項11に記載のプログラムが記憶されたコンピュータ読み取り可能な記憶媒体。
JP2002004690A 2002-01-11 2002-01-11 情報処理装置及びその制御方法、プログラム並びに記憶媒体 Expired - Fee Related JP4100912B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002004690A JP4100912B2 (ja) 2002-01-11 2002-01-11 情報処理装置及びその制御方法、プログラム並びに記憶媒体
US10/339,317 US7196812B2 (en) 2002-01-11 2003-01-10 Information processing apparatus and control code generation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002004690A JP4100912B2 (ja) 2002-01-11 2002-01-11 情報処理装置及びその制御方法、プログラム並びに記憶媒体

Publications (2)

Publication Number Publication Date
JP2003208273A JP2003208273A (ja) 2003-07-25
JP4100912B2 true JP4100912B2 (ja) 2008-06-11

Family

ID=19191025

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002004690A Expired - Fee Related JP4100912B2 (ja) 2002-01-11 2002-01-11 情報処理装置及びその制御方法、プログラム並びに記憶媒体

Country Status (2)

Country Link
US (1) US7196812B2 (ja)
JP (1) JP4100912B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4055745B2 (ja) * 2004-06-17 2008-03-05 コニカミノルタビジネステクノロジーズ株式会社 画像処理のための装置、方法およびプログラム、並びにファイル作成のための装置、方法およびプログラム
KR100652386B1 (ko) * 2004-11-16 2006-12-06 삼성전자주식회사 호스트와 하드디스크 드라이브 사이의 어플리케이션공유에 의한 작업 효율 증대방법 및 장치
US7949950B2 (en) * 2005-04-22 2011-05-24 Microsoft Corporation Systems and methods for enhanced document composition features
JP5130839B2 (ja) * 2007-09-13 2013-01-30 富士通株式会社 画像情報圧縮転送方法及び画像転送装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5764869A (en) * 1995-09-25 1998-06-09 Hewlett-Packard Company Hot based printing system with raster image data buffering
JP3191919B2 (ja) * 1997-03-25 2001-07-23 セイコーエプソン株式会社 プリントシステム、プリンタ制御装置、プリンタ及びプリンタ制御方法
JP2000263857A (ja) * 1999-03-17 2000-09-26 Oki Data Corp 印刷システム
JP2001260492A (ja) * 2000-03-17 2001-09-25 Minolta Co Ltd 印刷システム及び印刷方法
GB0027581D0 (en) * 2000-11-10 2000-12-27 Rue De Int Ltd Image output apparatus an method

Also Published As

Publication number Publication date
JP2003208273A (ja) 2003-07-25
US20030133142A1 (en) 2003-07-17
US7196812B2 (en) 2007-03-27

Similar Documents

Publication Publication Date Title
US7839531B2 (en) Printing control method
US7471401B2 (en) Information processing apparatus, printing processing method, and program therefor
US8319986B2 (en) Method of protecting leakage of information and information processing apparatus and driver program implementing the same
JPH11129583A (ja) 印刷制御装置および印刷制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP2002041261A (ja) 情報処理装置及び情報処理方法及びコンピュータ読み取り可能なプログラムを格納した記憶媒体
US20050190405A1 (en) Document conversion method and apparatus
JP2000083161A (ja) 画像処理装置及びその方法、及び画像処理システム
JP3907362B2 (ja) 印刷制御方法及び装置および印刷システム
JP3733284B2 (ja) 情報処理装置、印刷システム、及びコマンド生成方法
JP3667043B2 (ja) 情報処理システム、情報処理装置、及び印刷制御方法
JP4164488B2 (ja) 情報漏洩抑止方法及びそれを実現する情報処理装置とドライバプログラム
JP4100912B2 (ja) 情報処理装置及びその制御方法、プログラム並びに記憶媒体
JP2002014797A (ja) 情報処理装置、印刷制御装置、およびその制御方法、および記憶媒体、およびその制御プログラム
JP4467855B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP4817563B2 (ja) 情報処理装置および該装置のデータ処理方法およびデータ処理プログラムおよび該プログラムを格納した記憶媒体
JP2006235933A (ja) 画像処理装置及び印刷ジョブ生成装置
JP4054544B2 (ja) 情報処理装置、情報処理方法、印刷制御プログラム、印刷処理装置、印刷処理方法及び印刷処理プログラム
JP2008015563A (ja) 印刷制御装置および印刷制御方法およびプログラムおよび記録媒体
JP2006165863A (ja) 情報処理システム
JP3962559B2 (ja) 印刷制御装置及び印刷制御方法
US8756491B2 (en) PDL data processing device
JP2003015850A (ja) 印刷制御装置及び印刷制御方法
JP2003205651A (ja) 情報処理装置、情報処理方法、記録媒体及びプログラム
JP2003173446A (ja) 画像処理装置、画像処理システム、画像処理方法、記憶媒体、及びプログラム
JP2009140070A (ja) 印刷システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040525

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060824

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060908

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061023

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070413

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070612

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080318

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110328

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120328

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130328

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140328

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees