JP2003208273A - 情報処理装置、制御コード生成方法、プログラム及び記憶媒体 - Google Patents

情報処理装置、制御コード生成方法、プログラム及び記憶媒体

Info

Publication number
JP2003208273A
JP2003208273A JP2002004690A JP2002004690A JP2003208273A JP 2003208273 A JP2003208273 A JP 2003208273A JP 2002004690 A JP2002004690 A JP 2002004690A JP 2002004690 A JP2002004690 A JP 2002004690A JP 2003208273 A JP2003208273 A JP 2003208273A
Authority
JP
Japan
Prior art keywords
control code
generated
total number
application
code generation
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
JP2002004690A
Other languages
English (en)
Other versions
JP4100912B2 (ja
Inventor
Junichi Miyata
淳一 宮田
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

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Record Information Processing For Printing (AREA)

Abstract

(57)【要約】 【課題】 アプリケーションから印刷装置へ出力される
制御コードの生成可能な総数を設定可能な情報処理装
置、制御コード生成方法、プログラム及び記憶媒体を提
供する。 【解決手段】 印刷装置へ出力される制御コードを生成
する際に、アプリケーションから制御コードの生成可能
な総数が指定され、指定された生成可能な総数を越えた
場合、以降の制御コードを生成しないことにより、メモ
リエラー等を回避することができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、印刷装置へ出力さ
れる制御コードを生成する情報処理装置、制御コード生
成方法、プログラム及び記憶媒体に関するものである。
【0002】
【従来の技術】一般的に、情報処理装置上で動作するオ
ペレーティングシステム(以下OS)上の印刷システム
において、文書作成ソフトウェアや画像編集ソフトウェ
ア等のアプリケーションプログラムからの印刷情報(一
般にGDI関数と呼ぶ)は、OSの内部モジュールであ
るグラフィックエンジンを介して、抽象的な論理描画要
求(一般にDDI関数と呼ぶ)として、制御コード生成
モジュール(以下プリンタドライバ)へと送信される。
このプリンタドライバはその論理描画要求を解釈し、特
定のフォーマットに準拠した制御コード群を生成する。
【0003】通常、このような機能を提供するプリンタ
ドライバは、OS上にソフトウエアモジュールとしてイ
ンストールされ、このOS上で稼動するすべてのアプリ
ケーションプログラムから利用されることが可能であ
る。また、プリンタドライバは情報処理装置上で動作す
る、すべてのアプリケーションに対して制御コード出力
機能(印刷機能)を提供する。
【0004】プリンタドライバが生成した制御コード群
は、OSのシステムスプーラを介して、プリンタやFA
X等の出力機器へと送信され、内部のラスタライズモジ
ュールにより人間が視覚的に認識可能なビットマップイ
メージへと変換されて出力される。また、この制御コー
ドを解釈可能な情報処理装置上で動作する別のプログラ
ムモジュールによりラスタライズされ、ユーザが操作す
る画面上に表示させることも可能である。このプログラ
ムモジュールは、プリンタドライバが生成した制御コー
ド群を編集したり、異なる印刷ジョブの制御コード群を
結合したりするアプリケーションであり、このようなぷ
リケーションを本明細において、印刷編集アプリケーシ
ョンと呼ぶ。
【0005】この印刷編集アプリケーションにおいて
は、たとえ解釈する制御コードのコマンド体系(命令
群)が同じであっても、その内部アルゴリズムの違いや
動作している機器のハードウェアリソースの違いなどに
より解釈可能な制御コードが異なる場合がある。
【0006】例えば、ある制御コードを編集処理するモ
ジュールAは、ハードウエアのリソースが少ないため、
制御コード中に埋め込まれるイメージデータのメモリ領
域を10,000個までしか確保できないものとする。この
時、10,000を超えるイメージデータが制御コードに埋め
込まれていた場合にはメモリ確保エラーとなり処理が中
止されることが考えうる。
【0007】また、別の編集処理モジュールBで上述の
制限がないとすれば、10,000を超えるイメージデータも
解釈可能となる。即ち、編集処理モジュールに依存し
て、解釈可能な制御コードに違いが生じるということで
ある。
【0008】この問題により、以下のことが起こりう
る。
【0009】例えば、ある共通の制御コードを解釈可能
な編集処理モジュールが複数存在していた場合、この共
通制御コードを出力する別のモジュール(プリンタドラ
イバ)から出力された制御コードは一番高い性能をもつ
編集処理モジュールで編集処理が可能であったとして
も、一番性能が低い編集処理モジュールでは編集処理が
可能とは限らない。この時、メモリエラー等が発生して
動作自体が強制終了するようなことも考えられる。
【0010】
【発明が解決しようとする課題】上述したように、現在
の印刷システムではOS上で動作するプリンタドライバ
は、通常OS上にソフトウェアモジュールとしてインス
トールされ、そのOS上で稼動するすべてのアプリケー
ションから利用されることが可能である。また、プリン
タドライバは情報処理装置上で動作する、すべてのアプ
リケーションに対して印刷機能を提供する。
【0011】しかし、現状、プリンタドライバが出力し
た制御コードを認識する情報処理装置上の編集処理モジ
ュールが複数存在した場合、各編集処理モジュールの特
性を理解し、制御コードをカスタマイズすることができ
ない。例えば、あるプリンタドライバはある特定の制御
コードを出力するが、これらがこの制御コードを認識す
るすべての編集処理モジュールで描画が可能とはなりえ
ない。また、編集処理モジュールによっては、編集処理
動作を遂行できないとなれば、一連の処理が中止される
ことも考えられる。
【0012】本発明は、上記課題を解決するためになさ
れたもので、印刷装置で印刷出力可能な制御コードの生
成可能な総数を、該制御コードの出力先のアプリケーシ
ョンから設定可能な情報処理装置、制御コード生成方
法、プログラム及び記憶媒体を提供することを目的とす
る。
【0013】
【課題を解決するための手段】上記目的を達成するため
に、本発明は、印刷装置で印刷出力可能な制御コードを
生成する情報処理装置において、印刷装置で印刷出力可
能な制御コードを生成する制御コード生成手段と、前記
制御コードの出力先であるアプリケーションからの指定
により、前記制御コードの生成可能な総数を設定する設
定手段とを有し、前記制御コード生成手段は、設定され
た生成可能な総数を越えた場合、以降の制御コードを生
成しないことを特徴とする。
【0014】また、上記目的を達成するために、本発明
は、印刷装置で印刷出力可能な制御コードを生成する制
御コード生成方法であって、印刷装置で印刷出力可能な
制御コードを生成する制御コード生成工程と、前記制御
コードの出力先であるアプリケーションからの指定によ
り、前記制御コードの生成可能な総数を設定する設定工
程とを有し、前記制御コード生成工程は、設定された生
成可能な総数を越えた場合、以降の制御コードを生成し
ないことを特徴とする。
【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)で、CR
Tディスプレイ(CRT)や液晶ディスプレイ310へ
の表示を制御する。307はディスクコントローラ(D
KC)で、ブートプログラム、各種のアプリケーショ
ン、フォントデータ、ユーザファイル、編集ファイル、
印刷編集アプリケーション、及び本実施形態によるプリ
ンタドライバ等を記憶するハードディスク(HD)、フ
ロッピー(登録商標)ディスク(FD)等の外部メモリ
311とのアクセスを制御する。308はネットワーク
コントローラ(NETC)で、所定のインターフェース
を介してプリンタ機器等に接続されて通信制御処理を実
行する。
【0023】尚、CPU301は、ラスタライズプログ
ラムを介して、例えばRAM302上に設定された表示
情報RAMへの展開(ラスタライズ)処理を実行し、デ
ィスプレイ10上での表示を可能としている。また、C
PU301は、ディスプレイ310上の不図示のマウス
カーソル等で指示されたコマンドに基づいて登録された
種々のウインドウを開き、種々のデータ処理を実行す
る。更に、ユーザは印刷を実行する際に、接続されてい
るプリンタドライバの設定に関するウインドウを開き、
プリンタドライバに対する印刷処理方法の設定を行うこ
とができる。
【0024】図4は、本実施形態における印刷システム
が稼動するプリンタ機器の構成を示すブロック図であ
る。図4において、4000はプリンタ装置で、その内
部にはROM403内のプログラム用ROMや外部メモ
リ409に記憶されたプリンタコントローラプログラム
等を実行するCPU401を備え、CPU401がシス
テムバス404に接続される各デバイスを総括的に制御
する。また、ROM403内のプログラム用ROMや外
部メモリ409には、CPU401の制御プログラムで
あるオペレーティングシステム等が記憶され、ROM4
03内のデータROMや外部メモリ409には文字表示
に使用するフォントデータ等の各種データが記憶され
る。
【0025】402はRAMで、CPU401の主メモ
リ、ワークエリア等として機能する。406は出力コン
トローラ(OUTC)で、オペレーティングシステムの
制御下で動作するコントローラプログラムによりホスト
コンピュータから転送された制御コードをラスタライズ
して、記録用紙に画像を形成して排紙トレイ等へ出力す
る出力ユニット408へ画像データとして出力する。4
07はディスクコントローラ(DKC)で、ブートプロ
グラム、フォントデータ等を記憶するハードディスク
(HD)等の外部メモリ409とのアクセスを制御す
る。405はネットワークコントローラ(NETC)
で、所定のインターフェースを介して情報処理装置に接
続されて情報処理装置との通信制御処理を実行する。
【0026】尚、所定のインターフェースを介して入力
された制御コードは、CPU401の制御の下、RAM
402上にロードされたプリンタコントローラプログラ
ムによりRAM402や外部メモリ409等の記憶領域
に画像展開(ラスタライズ)され、出力コントローラ4
06を介して用紙等の媒体に印字を行う出力ユニット4
08に出力される。
【0027】図5は、ホストコンピュータの典型的な印
刷処理モジュールの構成を示す図である。この印刷処理
モジュールは、外部メモリ311からRAM302にロ
ードされ、CPU301によって実行されるものであ
る。図示するように、文書処理プログラム等のアプリケ
ーション501、OSの提供するグラフィックエンジン
502、そのグラフィックエンジン502を経由し、ア
プリケーション501から渡された印刷描画命令を処理
するプリンタドライバ503、及びそのプリンタドライ
バ503から受け取った制御コードをネットワーク上の
プリンタや特定のファイル等に出力するシステムスプー
ラ504から構成される。これらのモジュールは外部メ
モリ311に保存されたファイルとして存在し、実行の
際にOSによってRAM2にロードされ、実行されるプ
ログラムモジュールである。また、アプリケーション5
01及びプリンタドライバ503は外部メモリ311の
FDや不図示のCD−ROM或いは不図示のネットワー
クを経由して外部のHDから追加することも可能となっ
ている。
【0028】外部メモリ311に保存されているアプリ
ケーション501はRAM302にロードされて実行さ
れるが、このアプリケーション501からプリンタドラ
イバ502に対して印刷を行う場合は、同様にRAM3
02にロードされ実行可能となっているグラフィックエ
ンジン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に代表されるファイルシステム上の記憶
領域である。ここで、ある特定のアプリケーション50
1(印刷編集アプリケーションに相当する)とプリンタ
ドライバ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())9
03で終了するものと仮定する。
【0034】ここで、アプリケーション501から記憶
領域601の出力可能描画数を指定しないで、通常状態
の"制限なし"が設定されている場合に、プリンタドライ
バ503がグラフィックエンジン502を介してアプリ
ケーション501から受け取った印刷命令を解析し、ペ
ージ単位に制御コードに変換してページ描画ファイル
(PDF:Page Description File)として出力する処
理について説明する。
【0035】図10は、本実施形態における出力処理を
示すフローチャートである。まず、アプリケーション5
01で印刷開始が指示されると、プリンタドライバ50
3は、ステップ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の印刷終了命令ではないため、ステップS
1006へ進み、内部データである出力済み描画数をイ
ンクリメントする。そして、ステップS1007におい
て、この値がステップS1004で所得した出力可能描
画数を超えているかをチェックする。ここでは、出力可
能描画数は"制限なし"であるため、ステップS1012
へ進み、この描画要求を制御コードに変換する。そし
て、この動作は、ステップS1005において、印刷終
了命令(EndPrint)903を受け取るまで続けられる。
その後、印刷終了命令903を受け取ったプリンタドラ
イバ503は、ステップS1013へ進み、アプリケー
ション501に印刷終了を通知する。一般的に、この印
刷終了通知はグラフィックエンジン502を介して行わ
れることが可能である。
【0037】このように、アプリケーション501はこ
の印刷終了通知を所得後、出力先がファイルであれば出
力ファイルを所得及び参照することが可能となる。
【0038】次に、アプリケーション501が印刷開始
前に、記憶領域601の出力可能な描画数(ここでは、
1ページ中の出力可能描画数とする)を図11に示すよ
うに変更した場合の出力処理について説明する。本実施
形態では、アプリケーションBがプリンタドライバ50
3の出力可能な描画数を「4」までに制限するものとす
る。これは、アプリケーションA501が印刷開始時に
プリンタドライバの出力先を、印刷装置とせずに、アプ
リケーションB501とした場合に、アプリケーション
B501から通知される情報に基づいて出力可能描画数
が設定される。
【0039】まず、ステップS1001において、アプ
リケーションAからの印刷開始時、プリンタドライバ5
03は描画要求を受け付ける。そして、ステップS10
02において、この描画要求が印刷開始命令か判断す
る。印刷開始時は印刷開始命令(StartPrint)901を
受け取り、ステップS1003へ進む。次に、プリンタ
ドライバ503は、ステップS1003において、OS
共通である記憶領域601を読み出す。尚、記憶領域に
おける参照位置はプリンタドライバのID701を判断
することにより、位置を識別することが可能である。こ
の時、プリンタドライバの出力先がアプリケーションB
であるため、アプリケーションBにより記憶領域601
は図11に示すような値に設定されている。次に、プリ
ンタドライバ503は、ステップS1004において、
1ページ中の出力可能な描画数(この場合、"4")を読
み込み、内部データとしてこの値を保持し、ステップS
1001へ戻る。
【0040】そして、ステップS1001において、グ
ラフィックエンジン502を介して描画要求を受け付け
る。この描画要求は(Output(1))902に示す描画命
令であり、ステップS1002の印刷開始命令、ステッ
プS1005の印刷終了命令ではないため、ステップS
1006へ進み、内部データである出力済み描画数をイ
ンクリメントする。そして、ステップ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】本実施形態においては、論理描画要求Outp
ut(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】ユーザがプリンタドライバ設定領域160
1、ページ中及び全体の最大描画数の領域1602及び
1603を設定した後、1604のOKボタンを押下す
ればステップS1502からステップS1503へ進
み、アプリケーションCは記憶領域601に設定値を書
き込む。ここで、ユーザが図16に示すように設定した
とすれば、この処理により、記憶領域601は図11の
ように設定されることになる。以後、プリンタドライバ
503は前述した実施形態と同様に、この記憶領域60
1を参照し、出力描画数を制限して動作することにな
る。
【0053】また、他の実施形態では、出力先である印
刷編集アプリケーションからユーザインターフェースを
表示したが、ユーザインターフェースを表示することな
く、直接記憶領域601に書き込んでも良い。
【0054】図17は、直接記憶領域601に書き込む
処理を示すフローチャートである。まずアプリケーショ
ン起動後、ステップS1701において、印刷編集アプ
リケーション内部で保持していた値を記憶領域601に
書き込む。
【0055】尚、出力先である印刷編集アプリケーショ
ンは、プリンタドライバのインストールのタイミングで
起動されることも、或いはプリンタドライバ内部から呼
ばれることも可能であり、任意のタイミングで呼ばれる
ことで印刷設定を変更することが可能である。
【0056】以上説明したように、制御コード生成モジ
ュール(プリンタドライバ)が出力した制御コードを解
釈するラスタライズモジュールの出力可能描画数に準じ
て、プリンタドライバが出力する出力描画数を制御する
ように動作させることが可能となる。
【0057】ラスタライズモジュールが解釈できない数
の描画出力要求はプリンタドライバで削除することによ
り、描画自体はアプリケーションが保持する印刷データ
とは違うものとなるが、ラスタライズモジュール毎の特
性により、印刷、表示動作が途中で中止されるようなこ
とを回避することが可能となる。
【0058】尚、本発明は複数の機器(例えば、ホスト
コンピュータ,インターフェース機器,リーダ,プリン
タなど)から構成されるシステムに適用しても、一つの
機器からなる装置(例えば、複写機,ファクシミリ装置
など)に適用してもよい。
【0059】また、本発明の目的は前述した実施形態の
機能を実現するソフトウェアのプログラムコードを記録
した記憶媒体を、システム或いは装置に供給し、そのシ
ステム或いは装置のコンピュータ(CPU若しくはMP
U)が記憶媒体に格納されたプログラムコードを読出し
実行することによっても、達成されることは言うまでも
ない。
【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】本実施形態においてグラフィックエンジン50
2からプリンタドライバ503に要求された印字命令の
例を示す図である。
【図10】本実施形態における出力処理を示すフローチ
ャートである。
【図11】印刷開始時に読み込まれる記憶領域の内容を
示す図である。
【図12】出力可能な描画数を越えたときのユーザイン
ターフェースを示す図である。
【図13】アプリケーションBから印刷された描画デー
タの例を示す図である。
【図14】論理描画要求5、6、7が削除された結果を
示す図である。
【図15】他の実施形態におけるアプリケーションCの
変更処理を示すフローチャートである。
【図16】他の実施形態におけるユーザインターフェー
スを示す図である。
【図17】直接記憶領域601に書き込む処理を示すフ
ローチャートである。

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】 印刷装置で印刷出力可能な制御コードを
    生成する情報処理装置において、 印刷装置で印刷出力可能な制御コードを生成する制御コ
    ード生成手段と、 前記制御コードの出力先であるアプリケーションからの
    指定により、前記制御コードの生成可能な総数を設定す
    る設定手段とを有し、 前記制御コード生成手段は、設定された生成可能な総数
    を越えた場合、以降の制御コードを生成しないことを特
    徴とする情報処理装置。
  2. 【請求項2】 前記生成可能な総数は、少なくとも1ペ
    ージ中の最大描画数であることを特徴とする請求項1に
    記載の情報処理装置。
  3. 【請求項3】 前記生成可能な総数は、前記制御コード
    生成手段で生成される印刷ジョブ全体の最大描画数であ
    ることを特徴とする請求項1に記載の情報処理装置。
  4. 【請求項4】 前記生成可能な総数は、アプリケーショ
    ンにより表示されるユーザインターフェース画面を介し
    てユーザが指定することを特徴とする請求項1に記載の
    情報処理装置。
  5. 【請求項5】 前記生成可能な総数は、任意のタイミン
    グでアプリケーションから直接設定されることを特徴と
    する請求項1に記載の情報処理装置。
  6. 【請求項6】 印刷装置で印刷出力可能な制御コードを
    生成する制御コード生成方法であって、 印刷装置で印刷出力可能な制御コードを生成する制御コ
    ード生成工程と、 前記制御コードの出力先であるアプリケーションからの
    指定により、前記制御コードの生成可能な総数を設定す
    る設定工程とを有し、 前記制御コード生成工程は、設定された生成可能な総数
    を越えた場合、以降の制御コードを生成しないことを特
    徴とする制御コード生成方法。
  7. 【請求項7】 前記生成可能な総数は、少なくとも1ペ
    ージ中の最大描画数であることを特徴とする請求項6に
    記載の制御コード生成方法。
  8. 【請求項8】 前記生成可能な総数は、前記制御コード
    生成手段で生成される印刷ジョブ全体の最大描画数であ
    ることを特徴とする請求項6に記載の制御コード生成方
    法。
  9. 【請求項9】 前記生成可能な総数は、アプリケーショ
    ンにより表示されるユーザインターフェース画面を介し
    てユーザが指定することを特徴とする請求項6に記載の
    制御コード生成方法。
  10. 【請求項10】 前記生成可能な総数は、任意のタイミ
    ングでアプリケーションから直接設定されることを特徴
    とする請求項6に記載の制御コード生成方法。
  11. 【請求項11】 印刷装置で印刷出力可能な制御コード
    を生成する情報処理装置に、 印刷装置で印刷出力可能な制御コードを生成する制御コ
    ード生成手順と、 前記制御コードの出力先であるアプリケーションからの
    指定により、前記制御コードの生成可能な総数を設定す
    る設定手順とを実行させ、 前記制御コード生成手順で、設定された生成可能な総数
    を越えた場合、以降の制御コードを生成しないことを特
    徴とするプログラム。
  12. 【請求項12】 前記生成可能な総数は、少なくとも1
    ページ中の最大描画数であることを特徴とする請求項1
    1に記載のプログラム。
  13. 【請求項13】 前記生成可能な総数は、前記制御コー
    ド生成手段で生成される印刷ジョブ全体の最大描画数で
    あることを特徴とする請求項11に記載のプログラム。
  14. 【請求項14】 前記生成可能な総数は、アプリケーシ
    ョンにより表示されるユーザインターフェース画面を介
    してユーザが指定することを特徴とする請求項11に記
    載のプログラム。
  15. 【請求項15】 前記生成可能な総数は、任意のタイミ
    ングでアプリケーションから直接設定されることを特徴
    とする請求項11に記載のプログラム。
  16. 【請求項16】 請求項11乃至請求項15の何れか一
    項に記載のプログラムが記憶されたコンピュータ読み取
    り可能な記憶媒体。
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 true JP2003208273A (ja) 2003-07-25
JP4100912B2 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009070178A (ja) * 2007-09-13 2009-04-02 Fujitsu Ltd 画像情報圧縮転送方法及び画像転送装置

Families Citing this family (3)

* 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

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009070178A (ja) * 2007-09-13 2009-04-02 Fujitsu Ltd 画像情報圧縮転送方法及び画像転送装置

Also Published As

Publication number Publication date
US20030133142A1 (en) 2003-07-17
JP4100912B2 (ja) 2008-06-11
US7196812B2 (en) 2007-03-27

Similar Documents

Publication Publication Date Title
US7471401B2 (en) Information processing apparatus, printing processing method, and program therefor
JP3862652B2 (ja) 印刷制御方法及び情報処理装置
JP3907362B2 (ja) 印刷制御方法及び装置および印刷システム
JP2007257592A (ja) 印刷システム、情報処理装置、および印刷装置
JP3733284B2 (ja) 情報処理装置、印刷システム、及びコマンド生成方法
JP3667043B2 (ja) 情報処理システム、情報処理装置、及び印刷制御方法
JP2002014797A (ja) 情報処理装置、印刷制御装置、およびその制御方法、および記憶媒体、およびその制御プログラム
JP2004192390A (ja) データ処理装置
JP2003208273A (ja) 情報処理装置、制御コード生成方法、プログラム及び記憶媒体
JP4467855B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP4817563B2 (ja) 情報処理装置および該装置のデータ処理方法およびデータ処理プログラムおよび該プログラムを格納した記憶媒体
JP2006171861A (ja) 情報処理装置、印刷方法、記録媒体およびプログラム
JP2006235933A (ja) 画像処理装置及び印刷ジョブ生成装置
JP2003177905A (ja) 情報処理装置、情報処理システム、印刷制御方法、記憶媒体、及びプログラム
JPH11191042A (ja) データ処理装置およびデータ処理装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP2008015563A (ja) 印刷制御装置および印刷制御方法およびプログラムおよび記録媒体
JP4054544B2 (ja) 情報処理装置、情報処理方法、印刷制御プログラム、印刷処理装置、印刷処理方法及び印刷処理プログラム
JP2004038527A (ja) プリンタドライバおよび印刷制御方法およびコンピュータが読み取り可能な記憶媒体およびプログラム
JP2002108580A (ja) 情報処理装置、印刷システム、及びモジュール決定方法
JP2004021452A (ja) 画像出力システム
JP2003076512A (ja) 情報処理装置および印刷装置およびデータ処理方法および記憶媒体およびプログラム
JP2001282482A (ja) データ処理装置、および、該データの処理方法
JP2005159764A (ja) 記録方法及び装置及びプログラム及び記憶媒体
JP2003015849A (ja) 印刷制御装置及び印刷制御方法
JP2004310259A (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