JP2000298565A - 印刷制御方法及び装置と前記印刷制御方法を実行するプログラムを記憶した記憶媒体 - Google Patents
印刷制御方法及び装置と前記印刷制御方法を実行するプログラムを記憶した記憶媒体Info
- Publication number
- JP2000298565A JP2000298565A JP11106416A JP10641699A JP2000298565A JP 2000298565 A JP2000298565 A JP 2000298565A JP 11106416 A JP11106416 A JP 11106416A JP 10641699 A JP10641699 A JP 10641699A JP 2000298565 A JP2000298565 A JP 2000298565A
- Authority
- JP
- Japan
- Prior art keywords
- printer
- application
- control
- printer driver
- 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.)
- Withdrawn
Links
Landscapes
- Record Information Processing For Printing (AREA)
Abstract
(57)【要約】
【課題】 アプリケーションに対応してプリンタ制御コ
マンドの生成方法を変更することにより、そのアプリケ
ーションに最適なプリンタ制御コマンドを作成して印刷
させる。 【解決手段】 アプリケーションからの印刷要求により
プリンタ制御用コマンドを生成する印刷制御方法及び装
置であって、アプリケーションに対応した制御情報をテ
ーブルに登録しておき、印刷要求を発行したアプリケー
ションに応じた制御情報を、そのテーブルから取得し
(S31)、その制御情報を基に、プリンタドライバの
能力を決定し(S33)、その能力をグラフィックエン
ジンに宣言する。これによりグラフィックエンジンは、
その能力に応じてイメージのラスタライズを実行する。
マンドの生成方法を変更することにより、そのアプリケ
ーションに最適なプリンタ制御コマンドを作成して印刷
させる。 【解決手段】 アプリケーションからの印刷要求により
プリンタ制御用コマンドを生成する印刷制御方法及び装
置であって、アプリケーションに対応した制御情報をテ
ーブルに登録しておき、印刷要求を発行したアプリケー
ションに応じた制御情報を、そのテーブルから取得し
(S31)、その制御情報を基に、プリンタドライバの
能力を決定し(S33)、その能力をグラフィックエン
ジンに宣言する。これによりグラフィックエンジンは、
その能力に応じてイメージのラスタライズを実行する。
Description
【0001】
【発明の属する技術分野】本発明は、ホストコンピュー
タと同ホストコンピュータへ接続されたプリンタからな
るシステムに適用可能な情報処理方法および装置および
ホストコンピュータで読み出し可能なプログラムを格納
した記録媒体に関するものである。
タと同ホストコンピュータへ接続されたプリンタからな
るシステムに適用可能な情報処理方法および装置および
ホストコンピュータで読み出し可能なプログラムを格納
した記録媒体に関するものである。
【0002】
【従来の技術】パソコンなどのホストコンピュータで
は、オペレーティングシステム(OS)のグラフィック
スエンジンが出力するプリンタデバイスに依存しないグ
ラフィックス描画命令を入力し、プリンタデバイスに依
存するプリンタ制御コマンドへ翻訳して出力するソフト
ウェアプログラム(以下、プリンタドライバ)が実装さ
れて印刷処理に利用されている。
は、オペレーティングシステム(OS)のグラフィック
スエンジンが出力するプリンタデバイスに依存しないグ
ラフィックス描画命令を入力し、プリンタデバイスに依
存するプリンタ制御コマンドへ翻訳して出力するソフト
ウェアプログラム(以下、プリンタドライバ)が実装さ
れて印刷処理に利用されている。
【0003】このようなプリンタドライバは、それぞれ
に特有なプリンタアーキテクチャをサポートし、このア
ーキテクチャにはドットマトリクスプリンタなどに代表
されるラスタデバイス、プロッタなどのようなベクタデ
バイス、もしくは高度なページ記述言語をサポートする
デバイスといったものが含まれる。この内、ラスタデバ
イスをサポートするプリンタドライバは、ホストコンピ
ュータでグラフィックス描画要求から印刷イメージを構
築(以下、ラスタライズ)してプリンタ制御コマンドを
生成する。従って、このようなプリンタドライバは、適
時ラスタライズした印刷イメージをメモリ等の記憶領域
へ一時的に保持しておかなければならない。
に特有なプリンタアーキテクチャをサポートし、このア
ーキテクチャにはドットマトリクスプリンタなどに代表
されるラスタデバイス、プロッタなどのようなベクタデ
バイス、もしくは高度なページ記述言語をサポートする
デバイスといったものが含まれる。この内、ラスタデバ
イスをサポートするプリンタドライバは、ホストコンピ
ュータでグラフィックス描画要求から印刷イメージを構
築(以下、ラスタライズ)してプリンタ制御コマンドを
生成する。従って、このようなプリンタドライバは、適
時ラスタライズした印刷イメージをメモリ等の記憶領域
へ一時的に保持しておかなければならない。
【0004】しかしながら、近年に発売されるプリンタ
では高解像度であるため、印刷ページ全体に対応するイ
メージデータのサイズは非常に大きくなる傾向にある。
このため、ラスターデバイスをサポートするプリンタド
ライバでは、ページ全体の矩形領域をより小さいバンド
と呼ばれる矩形領域に分割しながら印刷イメージを順次
ラスタライズしてプリンタ制御コマンドを生成する技法
(以下、バンディング技法)を採用している。
では高解像度であるため、印刷ページ全体に対応するイ
メージデータのサイズは非常に大きくなる傾向にある。
このため、ラスターデバイスをサポートするプリンタド
ライバでは、ページ全体の矩形領域をより小さいバンド
と呼ばれる矩形領域に分割しながら印刷イメージを順次
ラスタライズしてプリンタ制御コマンドを生成する技法
(以下、バンディング技法)を採用している。
【0005】このようなバンディング技法を採用したプ
リンタドライバは、自分自身の初期化処理を行う際、グ
ラフィックスエンジンに対してバンディング制御を必要
とする旨を宣言する。そして、アプリケーションプログ
ラムがこのような宣言を行ったプリンタドライバに対し
て描画命令を発行した場合、グラフィックスエンジン
は、その描画命令を、決められたフォーマットを適用し
ながらディスクファイルへ記憶する。こうしてアプリケ
ーションプログラムがページ全体に対する描画命令を発
行し終えると、グラフィックスエンジンはプリンタドラ
イバに対してバンド位置情報を要求し、その位置情報を
クリップ情報として設定しながら、記憶しておいた描画
命令を再生する。この一連のバンド制御処理は、プリン
タドライバが新たなバンド位置情報が無いとグラフィッ
クスエンジンへ通知するまで続けられる。
リンタドライバは、自分自身の初期化処理を行う際、グ
ラフィックスエンジンに対してバンディング制御を必要
とする旨を宣言する。そして、アプリケーションプログ
ラムがこのような宣言を行ったプリンタドライバに対し
て描画命令を発行した場合、グラフィックスエンジン
は、その描画命令を、決められたフォーマットを適用し
ながらディスクファイルへ記憶する。こうしてアプリケ
ーションプログラムがページ全体に対する描画命令を発
行し終えると、グラフィックスエンジンはプリンタドラ
イバに対してバンド位置情報を要求し、その位置情報を
クリップ情報として設定しながら、記憶しておいた描画
命令を再生する。この一連のバンド制御処理は、プリン
タドライバが新たなバンド位置情報が無いとグラフィッ
クスエンジンへ通知するまで続けられる。
【0006】一方、バンディング技法を採用しないプリ
ンタドライバの場合には、前述の初期化処理を行う際、
バンディング制御を必要としない旨をグラフィックスエ
ンジンに対して宣言する。このような場合、グラフィッ
クスエンジンは前述したような描画命令の記録/再生処
理を行わず、直ちに描画命令をプリンタドライバに対し
て出力する。
ンタドライバの場合には、前述の初期化処理を行う際、
バンディング制御を必要としない旨をグラフィックスエ
ンジンに対して宣言する。このような場合、グラフィッ
クスエンジンは前述したような描画命令の記録/再生処
理を行わず、直ちに描画命令をプリンタドライバに対し
て出力する。
【0007】このようにラスタデバイスをサポートする
従来のプリンタドライバでは、バンディング技法を採用
するかどうかを予め固定的に決めておき、これに基づき
プリンタ制御コマンドを生成する。
従来のプリンタドライバでは、バンディング技法を採用
するかどうかを予め固定的に決めておき、これに基づき
プリンタ制御コマンドを生成する。
【0008】
【発明が解決しようとする課題】ホストコンピュータに
インストールされて動作するアプリケーションプログラ
ムはほとんど印刷機能をサポートしているが、各アプリ
ケーションプログラムの描画制御手法は、扱うデータ種
類やプログラム設計に依存して千差万別である。従っ
て、アプリケーションプログラムの描画制御手法によっ
ては、プリンタドライバがバンディング技法を採用する
かしないかで、印刷処理のパフォーマンスが大きく変化
してしまう場合がある。しかしながら、ラスタデバイス
をサポートする従来のプリンタドライバでは、バンディ
ング技法を採用するかどうかは予め固定的に定められて
いるため、常に決まった技法に基づいてプリンタ制御コ
マンドを生成するのみであった。
インストールされて動作するアプリケーションプログラ
ムはほとんど印刷機能をサポートしているが、各アプリ
ケーションプログラムの描画制御手法は、扱うデータ種
類やプログラム設計に依存して千差万別である。従っ
て、アプリケーションプログラムの描画制御手法によっ
ては、プリンタドライバがバンディング技法を採用する
かしないかで、印刷処理のパフォーマンスが大きく変化
してしまう場合がある。しかしながら、ラスタデバイス
をサポートする従来のプリンタドライバでは、バンディ
ング技法を採用するかどうかは予め固定的に定められて
いるため、常に決まった技法に基づいてプリンタ制御コ
マンドを生成するのみであった。
【0009】本発明は上記従来例に鑑みてなされたもの
で、アプリケーションに対応してプリンタ制御コマンド
の生成方法を変更する印刷制御方法及び装置を提供する
ことを目的とする。
で、アプリケーションに対応してプリンタ制御コマンド
の生成方法を変更する印刷制御方法及び装置を提供する
ことを目的とする。
【0010】又本発明の目的は、アプリケーションに対
応して記憶されている、プリンタ制御コマンドを生成す
るための制御情報を変更可能とすることにより、アプリ
ケーションに対応してプリンタ制御コマンドの生成方法
を動的に変更することができる印刷制御方法及び装置を
提供することにある。
応して記憶されている、プリンタ制御コマンドを生成す
るための制御情報を変更可能とすることにより、アプリ
ケーションに対応してプリンタ制御コマンドの生成方法
を動的に変更することができる印刷制御方法及び装置を
提供することにある。
【0011】
【課題を解決するための手段】上記目的を達成するため
に本発明の印刷制御装置は以下のような構成を備える。
即ち、アプリケーションからの印刷要求によりプリンタ
制御用コマンドを生成する印刷制御装置であって、アプ
リケーションに対応した制御情報を記憶する記憶手段
と、前記印刷要求を発行したアプリケーションに応じた
制御情報を前記記憶手段から取得する取得手段と、画像
情報を基にプリンタ制御用コマンドを生成するプリンタ
コマンド生成手段と、前記アプリケーションからのデー
タに基づいて前記プリンタコマンド生成手段に応じた描
画処理を実行して画像情報を出力する描画手段と、前記
取得手段により取得された前記制御情報を基に、前記プ
リンタコマンド生成手段の能力を決定して前記描画手段
に通知する制御手段と、を有することを特徴とする。
に本発明の印刷制御装置は以下のような構成を備える。
即ち、アプリケーションからの印刷要求によりプリンタ
制御用コマンドを生成する印刷制御装置であって、アプ
リケーションに対応した制御情報を記憶する記憶手段
と、前記印刷要求を発行したアプリケーションに応じた
制御情報を前記記憶手段から取得する取得手段と、画像
情報を基にプリンタ制御用コマンドを生成するプリンタ
コマンド生成手段と、前記アプリケーションからのデー
タに基づいて前記プリンタコマンド生成手段に応じた描
画処理を実行して画像情報を出力する描画手段と、前記
取得手段により取得された前記制御情報を基に、前記プ
リンタコマンド生成手段の能力を決定して前記描画手段
に通知する制御手段と、を有することを特徴とする。
【0012】上記目的を達成するために本発明の印刷制
御方法は以下のような工程を備える。即ち、アプリケー
ションからの印刷要求に基づいてプリンタドライバによ
りプリンタ制御用コマンドを生成してプリンタ装置に出
力する印刷制御方法であって、印刷要求を発行したアプ
リケーションに応じた制御情報を、アプリケーションに
対応した制御情報を記憶するメモリから取得する取得工
程と、前記取得工程で取得された前記制御情報を基に前
記プリンタドライバの能力を決定してOSに通知する工
程と、前記アプリケーションからのデータに基づいて前
記プリンタドライバに応じた描画処理を実行して画像情
報を前記プリンタドライバに出力する描画工程と、を有
することを特徴とする。
御方法は以下のような工程を備える。即ち、アプリケー
ションからの印刷要求に基づいてプリンタドライバによ
りプリンタ制御用コマンドを生成してプリンタ装置に出
力する印刷制御方法であって、印刷要求を発行したアプ
リケーションに応じた制御情報を、アプリケーションに
対応した制御情報を記憶するメモリから取得する取得工
程と、前記取得工程で取得された前記制御情報を基に前
記プリンタドライバの能力を決定してOSに通知する工
程と、前記アプリケーションからのデータに基づいて前
記プリンタドライバに応じた描画処理を実行して画像情
報を前記プリンタドライバに出力する描画工程と、を有
することを特徴とする。
【0013】
【発明の実施の形態】以下、添付図面を参照して本発明
の好適な実施の形態を詳細に説明する。
の好適な実施の形態を詳細に説明する。
【0014】図1は、本発明の実施の形態に係る印刷シ
ステムの構成を示すブロック図である。尚、本実施の形
態に係る機能が実行されるのであれば、単体の機器であ
っても、複数の機器からなるシステムであっても、或は
LAN、WAN等のネットワークを介して接続され、印
刷処理が行われるシステムであっても適用できることは
言うまでもない。
ステムの構成を示すブロック図である。尚、本実施の形
態に係る機能が実行されるのであれば、単体の機器であ
っても、複数の機器からなるシステムであっても、或は
LAN、WAN等のネットワークを介して接続され、印
刷処理が行われるシステムであっても適用できることは
言うまでもない。
【0015】図1において、3000はホストコンピュ
ータで、ROM3のプログラム用ROM3bに記憶され
た文書処理プログラム等に基づいて、図形、イメージ、
文字、表(表計算等を含む)等が混在した文書処理を実
行するCPU1を備え、システムバス4に接続される各
デバイスをCPU1が総括的に制御する。また、このR
OM3のプログラム用ROM3b或は外部メモリ11に
は、CPU1の制御プログラムであるオペレーティング
システムプログラム(以下OS)等が記憶されており、
ROM3のフォント用ROM3a或は外部メモリ11に
は上記文書処理の際に使用するフォントデータ等が記憶
されており、ROM3のデータ用ROM3c或は外部メ
モリ11には、上記文書処理等を行う際に使用する各種
データ(例えば、ディレクトリ情報、プリンタドライバ
・テーブル等)が記憶されている。この場合、制御の主
体は、ハードウェア上はCPUである。一方、ソフトウ
ェア上は制御の主体は、プリンタ制御コマンド生成プロ
グラム(以下プリンタドライバ)というアプリケーショ
ンソフトウェアである。本実施の形態では、OSは例え
ば、ウィンドウズ95(マイクロソフト社製)を想定し
ているが、これに限るものではない。
ータで、ROM3のプログラム用ROM3bに記憶され
た文書処理プログラム等に基づいて、図形、イメージ、
文字、表(表計算等を含む)等が混在した文書処理を実
行するCPU1を備え、システムバス4に接続される各
デバイスをCPU1が総括的に制御する。また、このR
OM3のプログラム用ROM3b或は外部メモリ11に
は、CPU1の制御プログラムであるオペレーティング
システムプログラム(以下OS)等が記憶されており、
ROM3のフォント用ROM3a或は外部メモリ11に
は上記文書処理の際に使用するフォントデータ等が記憶
されており、ROM3のデータ用ROM3c或は外部メ
モリ11には、上記文書処理等を行う際に使用する各種
データ(例えば、ディレクトリ情報、プリンタドライバ
・テーブル等)が記憶されている。この場合、制御の主
体は、ハードウェア上はCPUである。一方、ソフトウ
ェア上は制御の主体は、プリンタ制御コマンド生成プロ
グラム(以下プリンタドライバ)というアプリケーショ
ンソフトウェアである。本実施の形態では、OSは例え
ば、ウィンドウズ95(マイクロソフト社製)を想定し
ているが、これに限るものではない。
【0016】2はRAMで、CPU1の主メモリ、ワー
クエリア等として機能する。5はキーボードコントロー
ラ(KBC)で、キーボード9や示図示のポインティン
グデバイス(マウス等)からの入力を制御する。6はC
RTコントローラ(CRTC)で、CRTディスプレイ
(CRT)10への表示を制御する。7はディスクコン
トローラ(DKC)で、ブートプログラム、各種アプリ
ケーショシ、フォントデータ、ユーザファイル、編集フ
ァイル、プリンタドライバ等を記憶するハードディスク
(HD)、フロッピー(登録商標)ディスク(FD)等
を含む外部メモリ11とのアクセスを制御する。8はプ
リンタコントローラ(PRTC)で、所定の双方向イン
ターフェース(LAN、通信回線等を含む)21を介し
てプリンタ1500に接続されており、プリンタ150
0との通信制御処理を実行する。なお、CPU1は、例
えばRAM2上に設定された表示情報に基づきアウトラ
インフォントの展開(ラスタライズ)処理などを実行
し、CRT10上でのWYSIWYGを可能としてい
る。また、CPU1は、CRT10上の不図示のマウス
カーソル等で指示されたコマンドに基づいて登録された
種々のウィンドウを開き、種々のデータ処理を実行する
ことができる。
クエリア等として機能する。5はキーボードコントロー
ラ(KBC)で、キーボード9や示図示のポインティン
グデバイス(マウス等)からの入力を制御する。6はC
RTコントローラ(CRTC)で、CRTディスプレイ
(CRT)10への表示を制御する。7はディスクコン
トローラ(DKC)で、ブートプログラム、各種アプリ
ケーショシ、フォントデータ、ユーザファイル、編集フ
ァイル、プリンタドライバ等を記憶するハードディスク
(HD)、フロッピー(登録商標)ディスク(FD)等
を含む外部メモリ11とのアクセスを制御する。8はプ
リンタコントローラ(PRTC)で、所定の双方向イン
ターフェース(LAN、通信回線等を含む)21を介し
てプリンタ1500に接続されており、プリンタ150
0との通信制御処理を実行する。なお、CPU1は、例
えばRAM2上に設定された表示情報に基づきアウトラ
インフォントの展開(ラスタライズ)処理などを実行
し、CRT10上でのWYSIWYGを可能としてい
る。また、CPU1は、CRT10上の不図示のマウス
カーソル等で指示されたコマンドに基づいて登録された
種々のウィンドウを開き、種々のデータ処理を実行する
ことができる。
【0017】次に、プリンタ1500について説明す
る。
る。
【0018】12はプリンタCPUで、ROM13のプ
ログラム用ROM13bに記憶された制御プログラム或
は外部メモリ14に記憶された制御プログラム等に基づ
いてシステムバス15に接続される印刷部(プリンタエ
ンジン)17に出力情報としての画像信号を出力する。
また、このROM13のプログラムROM13bには、
CPU12の制御プログラム等が記憶されている。RO
M13のフォント用ROM13aには上記出力情報を生
成する際に使用するフォントデータ等が記憶されてお
り、ROM13のデータ用ROM13cにはハードディ
スク等の外部メモリ14が接続されていないプリンタの
場合には、ホストコンピュータ3000で利用される情
報等も記憶している。CPU12は入力部18を介して
ホストコンピュータ3000との通信処理が可能となっ
ており、プリンタ1500の情報等をホストコンピュー
タ3000に通知可能に構成されている。19はCPU
12の主メモリ、ワークエリア等として機能するRAM
で、図示しない増設ポートに接続されるオプションRA
Mにより、そのメモリ容量を拡張することができるよう
に構成されている。なお、RAM19は、出力情報展開
領域、環境データ格納領域、NVRAM等に用いられ
る。前述したハードディスク(HD)、ICカード等の
外部メモリ14は、ディスクコントローラ(DKC)2
0によりアクセスを制御される。この外部メモリ14は
オプションとして接続され、フォントデータ、エミュレ
ーションプログラム、フォームデータ等を記憶する。ま
た、1501は操作パネルで、ユーザが操作するための
キースイッチおよびLED表示器等が配されている。前
述した外部メモリ14は1個に限らず、少なくとも1個
以上備え、内蔵フォントに加えてオプションフォントカ
ード、言語系の異なるプリンタ制御言語を解釈するプロ
グラムを格納した外部メモリ14を複数接続できるよう
に構成されていてもよい。さらに、図示しないNVRA
Mを有し、操作パネル1501からのプリンタモード設
定情報を記憶するようにしてもよい。
ログラム用ROM13bに記憶された制御プログラム或
は外部メモリ14に記憶された制御プログラム等に基づ
いてシステムバス15に接続される印刷部(プリンタエ
ンジン)17に出力情報としての画像信号を出力する。
また、このROM13のプログラムROM13bには、
CPU12の制御プログラム等が記憶されている。RO
M13のフォント用ROM13aには上記出力情報を生
成する際に使用するフォントデータ等が記憶されてお
り、ROM13のデータ用ROM13cにはハードディ
スク等の外部メモリ14が接続されていないプリンタの
場合には、ホストコンピュータ3000で利用される情
報等も記憶している。CPU12は入力部18を介して
ホストコンピュータ3000との通信処理が可能となっ
ており、プリンタ1500の情報等をホストコンピュー
タ3000に通知可能に構成されている。19はCPU
12の主メモリ、ワークエリア等として機能するRAM
で、図示しない増設ポートに接続されるオプションRA
Mにより、そのメモリ容量を拡張することができるよう
に構成されている。なお、RAM19は、出力情報展開
領域、環境データ格納領域、NVRAM等に用いられ
る。前述したハードディスク(HD)、ICカード等の
外部メモリ14は、ディスクコントローラ(DKC)2
0によりアクセスを制御される。この外部メモリ14は
オプションとして接続され、フォントデータ、エミュレ
ーションプログラム、フォームデータ等を記憶する。ま
た、1501は操作パネルで、ユーザが操作するための
キースイッチおよびLED表示器等が配されている。前
述した外部メモリ14は1個に限らず、少なくとも1個
以上備え、内蔵フォントに加えてオプションフォントカ
ード、言語系の異なるプリンタ制御言語を解釈するプロ
グラムを格納した外部メモリ14を複数接続できるよう
に構成されていてもよい。さらに、図示しないNVRA
Mを有し、操作パネル1501からのプリンタモード設
定情報を記憶するようにしてもよい。
【0019】図2は、本実施の形態に係るホストコンピ
ュータ3000とプリンタ1500の機能構成を示す機
能ブロック図である。
ュータ3000とプリンタ1500の機能構成を示す機
能ブロック図である。
【0020】ホストコンピュータ3000において、ア
プリケーション201、グラフィックエンジン202、
プリンタドライバ203、及びシステムスプーラ204
は、外部メモリ11に保存されたファイルとして存在
し、CPU1により実行される場合、OSやそのモジュ
ールを利用するモジュールによってRAM2にロードさ
れ実行されるプログラムモジュールである。また、アプ
リケーション201及びプリンタドライバ203は、外
部メモリ11のFDや不図示のCD−ROM、或は不図
示のネットワーク等を経由して外部ディスク11のHD
に追加することが可能となっている。
プリケーション201、グラフィックエンジン202、
プリンタドライバ203、及びシステムスプーラ204
は、外部メモリ11に保存されたファイルとして存在
し、CPU1により実行される場合、OSやそのモジュ
ールを利用するモジュールによってRAM2にロードさ
れ実行されるプログラムモジュールである。また、アプ
リケーション201及びプリンタドライバ203は、外
部メモリ11のFDや不図示のCD−ROM、或は不図
示のネットワーク等を経由して外部ディスク11のHD
に追加することが可能となっている。
【0021】また外部メモリ11に保存されているアプ
リケーション201は、RAM2にロードされて実行さ
れるが、このアプリケーション201からプリンタ15
00に対して印刷を行う際には、同様にRAM2にロー
ドされ実行可能となっているグラフィックエンジン20
2を利用して出力(描画)を行う。グラフィックエンジ
ン202は、各プリンタ装置ごとに用意されたプリンタ
ドライバ203を外部メモリ11からRAM2にロード
し、このプリンタドライバ203を用いて、アプリケー
ション201の出力をプリンタの制御コマンドに変換す
る。こうして変換されたプリンタ制御コマンドは、RA
M2にロードされたシステムスプーラ204を経て、O
Sによってインターフェース21経由でプリンタ150
0へ出力される仕組みとなっている。
リケーション201は、RAM2にロードされて実行さ
れるが、このアプリケーション201からプリンタ15
00に対して印刷を行う際には、同様にRAM2にロー
ドされ実行可能となっているグラフィックエンジン20
2を利用して出力(描画)を行う。グラフィックエンジ
ン202は、各プリンタ装置ごとに用意されたプリンタ
ドライバ203を外部メモリ11からRAM2にロード
し、このプリンタドライバ203を用いて、アプリケー
ション201の出力をプリンタの制御コマンドに変換す
る。こうして変換されたプリンタ制御コマンドは、RA
M2にロードされたシステムスプーラ204を経て、O
Sによってインターフェース21経由でプリンタ150
0へ出力される仕組みとなっている。
【0022】本実施の形態の印刷システムは、図2で示
すプリンタ1500とホストコンピュータ3000を有
する印刷システムに加えて、更に図3に示すように、ア
プリケーション201からの印刷データを一旦中間コー
ドデータでスプールする構成を有する。
すプリンタ1500とホストコンピュータ3000を有
する印刷システムに加えて、更に図3に示すように、ア
プリケーション201からの印刷データを一旦中間コー
ドデータでスプールする構成を有する。
【0023】図3は、図2に示すシステムを拡張した機
能構成を示す図で、グラフィックエンジン202からプ
リンタドライバ203へ印刷命令を送る際に、一旦中間
コードからなるスプールファイル303を生成する構成
をとる。
能構成を示す図で、グラフィックエンジン202からプ
リンタドライバ203へ印刷命令を送る際に、一旦中間
コードからなるスプールファイル303を生成する構成
をとる。
【0024】図2に示すシステムでは、アプリケーショ
ン201が印刷処理から開放されるのは、プリンタドラ
イバ203がグラフィックエンジン202からの全ての
印刷命令をプリンタの制御コマンドへ変換し終った時点
である。これに対して図3に示すシステムでは、スプー
ラ302が全ての印刷命令を中間コードデータに変換
し、スプールファイル303に出力した時点である。通
常、後者の方が短時間で済む。また、図3で示すシステ
ムにおいては、スプールファイル303の内容に対して
加工することができる。これによりアブリケーション2
01からの印刷データに対して、複数ページを1ページ
に縮小して印刷する等、アプリケーションの持たない機
能を実現することができる。
ン201が印刷処理から開放されるのは、プリンタドラ
イバ203がグラフィックエンジン202からの全ての
印刷命令をプリンタの制御コマンドへ変換し終った時点
である。これに対して図3に示すシステムでは、スプー
ラ302が全ての印刷命令を中間コードデータに変換
し、スプールファイル303に出力した時点である。通
常、後者の方が短時間で済む。また、図3で示すシステ
ムにおいては、スプールファイル303の内容に対して
加工することができる。これによりアブリケーション2
01からの印刷データに対して、複数ページを1ページ
に縮小して印刷する等、アプリケーションの持たない機
能を実現することができる。
【0025】これらの目的のために、図2のシステムに
対し、図3の様に中間コードデータでスプールする様、
システムの拡張がなされてきている。なお、印刷データ
の加工を行うためには、通常、プリンタドライバ203
が提供するウィンドウから設定を行い、プリンタドライ
バ203がその設定内容をRAM2、或は外部メモリ1
1上に保管する。
対し、図3の様に中間コードデータでスプールする様、
システムの拡張がなされてきている。なお、印刷データ
の加工を行うためには、通常、プリンタドライバ203
が提供するウィンドウから設定を行い、プリンタドライ
バ203がその設定内容をRAM2、或は外部メモリ1
1上に保管する。
【0026】以下、図3の詳細を説明する。
【0027】この拡張された処理方式では、グラフィッ
クエンジン202からの印刷命令をディスパッチャ30
1が受け取る。この受け取った印刷命令が、アプリケー
ション201からグラフィックエンジン202へ発行さ
れた印刷命令の場合には、ディスパッチャ301は外部
メモリ11に格納されているスプーラ302をRAM2
にロードし、プリンタドライバ203ではなくスプーラ
302へ印刷命令を送付する。
クエンジン202からの印刷命令をディスパッチャ30
1が受け取る。この受け取った印刷命令が、アプリケー
ション201からグラフィックエンジン202へ発行さ
れた印刷命令の場合には、ディスパッチャ301は外部
メモリ11に格納されているスプーラ302をRAM2
にロードし、プリンタドライバ203ではなくスプーラ
302へ印刷命令を送付する。
【0028】スプーラ302は、受け取った印刷命令を
中間コードに変換してスプールファイル303に出力す
る。またスプーラ302は、プリンタドライバ203に
対して設定されている印刷データに関する加工設定をプ
リンタドライバ203から取得してスプールファイル3
03に保存する。なお、スプールファイル303は外部
メモリ11にファイルとして生成するか、RAM2上に
生成されても構わない。更にスプーラ302は、外部メ
モリ11に格納されているスプールファイルマネージャ
304をRAM2にロードし、スプールファイルマネー
ジャ304に対してスプールファイル303の生成状況
を通知する。その後、スプールファイルマネージャ30
4は、スプールファイル303に保存された印刷データ
に関する加工設定の内容に従って印刷を行えるか否かを
判断する。
中間コードに変換してスプールファイル303に出力す
る。またスプーラ302は、プリンタドライバ203に
対して設定されている印刷データに関する加工設定をプ
リンタドライバ203から取得してスプールファイル3
03に保存する。なお、スプールファイル303は外部
メモリ11にファイルとして生成するか、RAM2上に
生成されても構わない。更にスプーラ302は、外部メ
モリ11に格納されているスプールファイルマネージャ
304をRAM2にロードし、スプールファイルマネー
ジャ304に対してスプールファイル303の生成状況
を通知する。その後、スプールファイルマネージャ30
4は、スプールファイル303に保存された印刷データ
に関する加工設定の内容に従って印刷を行えるか否かを
判断する。
【0029】スプールファイルマネージャ304がグラ
フィックエンジン202を利用して印刷を行えると判断
した際には、外部メモリ11に格納されているデスプー
ラ305をRAM2にロードし、デスプーラ305に対
して、スプールファイル303に記述された中間コード
の印刷処理を行うように指示する。
フィックエンジン202を利用して印刷を行えると判断
した際には、外部メモリ11に格納されているデスプー
ラ305をRAM2にロードし、デスプーラ305に対
して、スプールファイル303に記述された中間コード
の印刷処理を行うように指示する。
【0030】デスプーラ305はスプールファイル30
3に含まれる中間コードを、スプールファイル303に
含まれる加工設定の内容に従って加工し、もう一度グラ
フィックエンジン202経由で出力する。
3に含まれる中間コードを、スプールファイル303に
含まれる加工設定の内容に従って加工し、もう一度グラ
フィックエンジン202経由で出力する。
【0031】ディスパッチャ301がグラフィックエン
ジン202から受け取った印刷命令が、デスプーラ30
5からグラフィックエンジン202へ発行された印刷命
令の場合には、ディスパッチャ301はスプーラ302
ではなく、プリンタドライバ203に印刷命令を送る。
プリンタドライバ203はプリンタ制御コマンドを生成
し、システムスプーラ204経由でプリンタ1500に
出力する。
ジン202から受け取った印刷命令が、デスプーラ30
5からグラフィックエンジン202へ発行された印刷命
令の場合には、ディスパッチャ301はスプーラ302
ではなく、プリンタドライバ203に印刷命令を送る。
プリンタドライバ203はプリンタ制御コマンドを生成
し、システムスプーラ204経由でプリンタ1500に
出力する。
【0032】図4は、本実施の形態に係るプリンタドラ
イバ203がホストコンピュータ3000のRAM2へ
ロードされ、実行可能となった状態でのCPU1からみ
たメモリマップを示す図である。
イバ203がホストコンピュータ3000のRAM2へ
ロードされ、実行可能となった状態でのCPU1からみ
たメモリマップを示す図である。
【0033】図4において、BIOS27は、プログラ
ムROM3に書き込まれており、OS26は外部メモリ
11であるハードディスク(以下、HD)に書き込まれ
ている。そして、ホストコンピュータ3000の電源が
オンされた時に、BIOS27のIPL(Initial Progr
am Loading)機能により、OS26がHDからRAM2
へ読み込まれ、OS26による動作が開始する。そして
実際に、プリンタドライバ203が動作可能となるの
は、ユーザ等の指示により、ホストコンピュータ300
0でOS26の管理の下に動作するアプリケーション2
01が印刷処理を開始した場合である。このとき、プリ
ンタドライバ203を記録している外部メモリ11等の
記憶媒体から、OS26及びBIOS27の制御の下に
プリンタドライバ203が読み出されてRAM2へロー
ドされる。尚、このとき、プリンタドライバ203に関
連したデータ24もRAM2にロードされる。
ムROM3に書き込まれており、OS26は外部メモリ
11であるハードディスク(以下、HD)に書き込まれ
ている。そして、ホストコンピュータ3000の電源が
オンされた時に、BIOS27のIPL(Initial Progr
am Loading)機能により、OS26がHDからRAM2
へ読み込まれ、OS26による動作が開始する。そして
実際に、プリンタドライバ203が動作可能となるの
は、ユーザ等の指示により、ホストコンピュータ300
0でOS26の管理の下に動作するアプリケーション2
01が印刷処理を開始した場合である。このとき、プリ
ンタドライバ203を記録している外部メモリ11等の
記憶媒体から、OS26及びBIOS27の制御の下に
プリンタドライバ203が読み出されてRAM2へロー
ドされる。尚、このとき、プリンタドライバ203に関
連したデータ24もRAM2にロードされる。
【0034】図5は、本発明の実施の形態に係るプリン
タドライバ203がOS26のグラフィックスエンジン
(以下、GDI)を介してアプリケーション201の印
刷要求を受け付けてプリンタ制御コマンドを生成する処
理を示すフローチャートである。
タドライバ203がOS26のグラフィックスエンジン
(以下、GDI)を介してアプリケーション201の印
刷要求を受け付けてプリンタ制御コマンドを生成する処
理を示すフローチャートである。
【0035】まずステップS1で、GDIからの印刷要
求を順次受け付けるとステップS2に進み、その印刷要
求が何であるかを判定し、以下の処理ステップで、各要
求に応じたそれぞれの処理を行う。この一連の動作は、
ステップS2で印刷終了要求を受け付けたと判断される
まで続けられる。
求を順次受け付けるとステップS2に進み、その印刷要
求が何であるかを判定し、以下の処理ステップで、各要
求に応じたそれぞれの処理を行う。この一連の動作は、
ステップS2で印刷終了要求を受け付けたと判断される
まで続けられる。
【0036】ステップS2の判定で、初期化処理の要求
であると判断されるとステップS3に進む。この初期化
処理は通常の印刷処理において、最初にプリンタドライ
バ203がGDIより受け付けるものである。この初期
化要求を受け付けるとステップS4に進み、プリンタド
ライバ203はグラフィックス描画能力等を含むプリン
タデバイスドライバ情報を、予め決められた規則に則っ
てGDIへ宣言する。こうしてプリンタドライバ203
から得た情報を基にGDIは、アプリケーション201
から発行された複雑なグラフィックス描画要求を簡易な
描画要求の組み合わせに展開しながらプリンタドライバ
203へ出力したり、バンディング処理を必要に応じて
サポートしたりすることができる。そしてステップS5
に進み、プリンタドライバ203は、プリンタデバイス
情報の初期化処理を行い、この初期化要求に対する処理
を終了する。
であると判断されるとステップS3に進む。この初期化
処理は通常の印刷処理において、最初にプリンタドライ
バ203がGDIより受け付けるものである。この初期
化要求を受け付けるとステップS4に進み、プリンタド
ライバ203はグラフィックス描画能力等を含むプリン
タデバイスドライバ情報を、予め決められた規則に則っ
てGDIへ宣言する。こうしてプリンタドライバ203
から得た情報を基にGDIは、アプリケーション201
から発行された複雑なグラフィックス描画要求を簡易な
描画要求の組み合わせに展開しながらプリンタドライバ
203へ出力したり、バンディング処理を必要に応じて
サポートしたりすることができる。そしてステップS5
に進み、プリンタドライバ203は、プリンタデバイス
情報の初期化処理を行い、この初期化要求に対する処理
を終了する。
【0037】いま、例えばステップS4で、プリンタド
ライバ203がバンディングを必要とする旨をGDIに
対して宣言すると、そのGDIはアプリケーション20
1から発行される印刷要求を、予め決められたフォーマ
ット形式でディスクファイルへ記憶する。アプリケーシ
ョン201がページ全体に対する印刷要求を発行し終え
ると、GDIはプリンタドライバ203から各描画領域
(以下、バンド領域)の情報を順次取得しながら、一時
記憶しておいた印刷要求をプリンタドライバ203に対
して繰り返して出力する。このような一連の処理は、プ
リンタドライバ203から終了通知がくるまで続けられ
ることになる。一方ステップS4で、プリンタドライバ
203がバンディングを必要としない旨を宣言すると、
GDIは前述のような処理を行わず、アプリケーション
201から発行された印刷要求を直ちにプリンタドライ
バ203へ出力するように動作する。
ライバ203がバンディングを必要とする旨をGDIに
対して宣言すると、そのGDIはアプリケーション20
1から発行される印刷要求を、予め決められたフォーマ
ット形式でディスクファイルへ記憶する。アプリケーシ
ョン201がページ全体に対する印刷要求を発行し終え
ると、GDIはプリンタドライバ203から各描画領域
(以下、バンド領域)の情報を順次取得しながら、一時
記憶しておいた印刷要求をプリンタドライバ203に対
して繰り返して出力する。このような一連の処理は、プ
リンタドライバ203から終了通知がくるまで続けられ
ることになる。一方ステップS4で、プリンタドライバ
203がバンディングを必要としない旨を宣言すると、
GDIは前述のような処理を行わず、アプリケーション
201から発行された印刷要求を直ちにプリンタドライ
バ203へ出力するように動作する。
【0038】この初期化要求に続いて印刷開始要求を受
け付けた場合はステップS2からステップS6に進み、
ラスタライズしたイメージデータをプリンタ制御コマン
ドに変換するまで一時的に記憶できるように、プリンタ
ドライバ203はホストコンピュータ3000のRAM
2にメモリ領域(以下、バンドメモリ)を確保する(ス
テップS7)。ここで、前述の初期化処理(ステップS
3〜S5)で、プリンタドライバ203がバンディング
が必要であると宣言した場合には、印刷する画像の1ペ
ージ分よりも小さな領域に対応するメモリ容量を確保す
るだけで良いが、バンディングが不要である宣言されて
いる場合には、ページ全体のイメージデータを完全に記
憶できるだけのメモリ容量を確保する必要がある。そし
て次にステップS8に進み、プリンタドライバ203
は、GDIが管理するシステムスプーラ204に対して
印刷ジョブの生成を要求し、その印刷開始要求に対する
処理を終了する。
け付けた場合はステップS2からステップS6に進み、
ラスタライズしたイメージデータをプリンタ制御コマン
ドに変換するまで一時的に記憶できるように、プリンタ
ドライバ203はホストコンピュータ3000のRAM
2にメモリ領域(以下、バンドメモリ)を確保する(ス
テップS7)。ここで、前述の初期化処理(ステップS
3〜S5)で、プリンタドライバ203がバンディング
が必要であると宣言した場合には、印刷する画像の1ペ
ージ分よりも小さな領域に対応するメモリ容量を確保す
るだけで良いが、バンディングが不要である宣言されて
いる場合には、ページ全体のイメージデータを完全に記
憶できるだけのメモリ容量を確保する必要がある。そし
て次にステップS8に進み、プリンタドライバ203
は、GDIが管理するシステムスプーラ204に対して
印刷ジョブの生成を要求し、その印刷開始要求に対する
処理を終了する。
【0039】こうして印刷開始要求を受け付けてから印
刷終了要求を受け付けるまでの間、プリンタドライバ2
03はグラフィックス描画要求とページ制御要求を、順
次、適当な順番で受け取ることになる。
刷終了要求を受け付けるまでの間、プリンタドライバ2
03はグラフィックス描画要求とページ制御要求を、順
次、適当な順番で受け取ることになる。
【0040】プリンタドライバ203がグラフィックス
描画要求を受け付けるとステップS2からステップS9
に進み、その描画要求に応じたイメージの構築(以下、
ラスタライズ)を直ちに行い(ステップS10)、前述
のステップS7で確保したバンドメモリへ、そのイメー
ジデータを記憶する(ステップS11)。
描画要求を受け付けるとステップS2からステップS9
に進み、その描画要求に応じたイメージの構築(以下、
ラスタライズ)を直ちに行い(ステップS10)、前述
のステップS7で確保したバンドメモリへ、そのイメー
ジデータを記憶する(ステップS11)。
【0041】一方、プリンタドライバ203がページ制
御要求を受け付けるとステップS2からステップS12
に進み、ページ制御要求の種類を判定する(ステップS
13)。次にステップS14で、このページ制御要求の
種類を判別し、その制御要求がGDIによるバンド領域
情報の要求であった場合にはステップS15に進み、プ
リンタドライバ203は新しいバンド領域情報を取得
し、ステップS16で、その結果をGDIに通知する。
そしてステップS17に進み、既にラスタライズしたイ
メージデータがあれば、そのイメージデータに対応する
プリンタ制御コマンドを生成してシステムスプーラ20
4へ出力する。
御要求を受け付けるとステップS2からステップS12
に進み、ページ制御要求の種類を判定する(ステップS
13)。次にステップS14で、このページ制御要求の
種類を判別し、その制御要求がGDIによるバンド領域
情報の要求であった場合にはステップS15に進み、プ
リンタドライバ203は新しいバンド領域情報を取得
し、ステップS16で、その結果をGDIに通知する。
そしてステップS17に進み、既にラスタライズしたイ
メージデータがあれば、そのイメージデータに対応する
プリンタ制御コマンドを生成してシステムスプーラ20
4へ出力する。
【0042】一方、ページ制御要求が改ページ要求であ
った場合はステップS14からステップS18に進み、
その改ページ要求を入力し、直ちにステップS17に進
み、既にラスタライズ済みのイメージデータからプリン
タ制御コマンドを生成して出力する。
った場合はステップS14からステップS18に進み、
その改ページ要求を入力し、直ちにステップS17に進
み、既にラスタライズ済みのイメージデータからプリン
タ制御コマンドを生成して出力する。
【0043】ここで例えば、前述のステップS3〜S5
の初期化処理でバンディングが必要とプリンタドライバ
203が宣言している場合には、通常、ページ制御要求
に対応する処理は「ステップS14→S15→S16→
S17」の流れで行われることになる。逆に前述の初期
化処理において、プリンタドライバ203がバンディン
グ不要と宣言した場合には「ステップS14→S18→
S17」の流れで処理が行われることになる。
の初期化処理でバンディングが必要とプリンタドライバ
203が宣言している場合には、通常、ページ制御要求
に対応する処理は「ステップS14→S15→S16→
S17」の流れで行われることになる。逆に前述の初期
化処理において、プリンタドライバ203がバンディン
グ不要と宣言した場合には「ステップS14→S18→
S17」の流れで処理が行われることになる。
【0044】最後にプリンタドライバ203は、印刷終
了要求を受け付けるとステップS19,S20に進み、
ステップS7で確保したメモリ領域を解放する次にステ
ップS21に進み、システムスプーラ204に対して印
刷ジョブのクローズを要求し、印刷終了要求に対する処
理を終了する。
了要求を受け付けるとステップS19,S20に進み、
ステップS7で確保したメモリ領域を解放する次にステ
ップS21に進み、システムスプーラ204に対して印
刷ジョブのクローズを要求し、印刷終了要求に対する処
理を終了する。
【0045】次に、本実施の形態に係るプリンタドライ
バ203の処理について詳しく説明する。このプリンタ
ドライバ203は、図5のステップS3とS4の処理の
間で図6のフローチャートに示す処理を行うことを特徴
とする。また、本実施の形態のプリンタドライバ203
が使用するアプリケーションの名称とアプリケーション
の特徴の対応情報を図7に示す。
バ203の処理について詳しく説明する。このプリンタ
ドライバ203は、図5のステップS3とS4の処理の
間で図6のフローチャートに示す処理を行うことを特徴
とする。また、本実施の形態のプリンタドライバ203
が使用するアプリケーションの名称とアプリケーション
の特徴の対応情報を図7に示す。
【0046】本実施の形態では、GDI及びプリンタド
ライバ203の印刷に関する処理パフォーマンスが、ア
プリケーション201の発行するグラフィックス描画要
求の特徴と、プリンタドライバ203の初期化時に宣言
するプリンタデバイスドライバ情報、特にバンディング
制御情報によって大きく変化するものと想定する。例え
ば、アプリケーション201が多層に重なったビットマ
ップや大きなサイズのビットマップを描画するグラフィ
ックス描画要求を送ってきた場合を考慮すると、バンデ
ィング制御の有無によって大きく処理パフォーマシスが
変化することになる。ここでプリンタドライバ203が
バンディング制御を必要と宣言している場合には、前述
したように、GDIがビットマップ描画要求を含む印刷
要求の全てをディスクファイルへ記憶し、後でプリンタ
ドライバ203へ繰り返して出力することになる。この
ようなビットマップ描画要求は、GDIがディスクファ
イルへ一時記憶する印刷要求情報のデータサイズを肥大
化させるので、その書き込み処理と、その後の読み出し
処理に要する時間は相対的に大きくなる。
ライバ203の印刷に関する処理パフォーマンスが、ア
プリケーション201の発行するグラフィックス描画要
求の特徴と、プリンタドライバ203の初期化時に宣言
するプリンタデバイスドライバ情報、特にバンディング
制御情報によって大きく変化するものと想定する。例え
ば、アプリケーション201が多層に重なったビットマ
ップや大きなサイズのビットマップを描画するグラフィ
ックス描画要求を送ってきた場合を考慮すると、バンデ
ィング制御の有無によって大きく処理パフォーマシスが
変化することになる。ここでプリンタドライバ203が
バンディング制御を必要と宣言している場合には、前述
したように、GDIがビットマップ描画要求を含む印刷
要求の全てをディスクファイルへ記憶し、後でプリンタ
ドライバ203へ繰り返して出力することになる。この
ようなビットマップ描画要求は、GDIがディスクファ
イルへ一時記憶する印刷要求情報のデータサイズを肥大
化させるので、その書き込み処理と、その後の読み出し
処理に要する時間は相対的に大きくなる。
【0047】一方、前述したようにプリンタドライバ2
03がバンディング制御を不要と宣言している場合に
は、このようなパフォーマンスの劣化要因は解消でき
る。但し、このような宣言をプリンタドライバ203が
行った場合には、ページ全体のイメージデータを完全に
記憶できるメモリ容量を確保する必要があるので、状況
によってはメモリ資源が枯渇してしまうことになり、相
対的にパフォーマンスが劣化する場合もある。通常、メ
モリ資源が枯渇してくると、RAM2へ記憶されている
データを外部メモリ11へ一時的に待避するスワップ処
理がOS26の管理の下に行われるため、システム全体
の処理パフォーマンスは低下する。
03がバンディング制御を不要と宣言している場合に
は、このようなパフォーマンスの劣化要因は解消でき
る。但し、このような宣言をプリンタドライバ203が
行った場合には、ページ全体のイメージデータを完全に
記憶できるメモリ容量を確保する必要があるので、状況
によってはメモリ資源が枯渇してしまうことになり、相
対的にパフォーマンスが劣化する場合もある。通常、メ
モリ資源が枯渇してくると、RAM2へ記憶されている
データを外部メモリ11へ一時的に待避するスワップ処
理がOS26の管理の下に行われるため、システム全体
の処理パフォーマンスは低下する。
【0048】本実施の形態では、一般的な印刷処理にお
いて、プリンタドライバ203がバンディング制御を必
要と宣言した方が経験的に処理パフォーマンスが良くな
るものとする。また、これと同時に、特定のアプリケー
ションを用いた印刷処理では、前述の原因により大きく
パフォーマンスが劣化するものの、このような場合でも
バンディング制御が不要であると宣言すれば、相対的に
大きくパフォーマンスを改善できるものと想定する。
いて、プリンタドライバ203がバンディング制御を必
要と宣言した方が経験的に処理パフォーマンスが良くな
るものとする。また、これと同時に、特定のアプリケー
ションを用いた印刷処理では、前述の原因により大きく
パフォーマンスが劣化するものの、このような場合でも
バンディング制御が不要であると宣言すれば、相対的に
大きくパフォーマンスを改善できるものと想定する。
【0049】本実施の形態では、プリンタドライバ20
3の導入時に、前述したような特定のアプリケーション
に関する情報をホストコンピュータ3000の外部メモ
リ11へ予め記憶しておくものとし、その情報へはOS
26が提供するシステムコールを使用してアクセス可能
とする。更に、このアプリケーション情報は、図7に示
したように、アプリケーションの名称を検索キーとして
構成されており、プリンタドライバ203が、バンディ
ング制御が不要であると宣言した方が総じて高速に印刷
処理を行えるといった情報を含め、幾つかの情報を複合
的に指定可能な形態にしている。具体的には、各アプリ
ケーション情報はそれぞれ4バイトで構成され、各ビッ
トフィールドはそれぞれ個別の情報を示しているものと
し、特に最下位ビットが立っていればバンディング制御
が不要である旨を宣言するものとする。
3の導入時に、前述したような特定のアプリケーション
に関する情報をホストコンピュータ3000の外部メモ
リ11へ予め記憶しておくものとし、その情報へはOS
26が提供するシステムコールを使用してアクセス可能
とする。更に、このアプリケーション情報は、図7に示
したように、アプリケーションの名称を検索キーとして
構成されており、プリンタドライバ203が、バンディ
ング制御が不要であると宣言した方が総じて高速に印刷
処理を行えるといった情報を含め、幾つかの情報を複合
的に指定可能な形態にしている。具体的には、各アプリ
ケーション情報はそれぞれ4バイトで構成され、各ビッ
トフィールドはそれぞれ個別の情報を示しているものと
し、特に最下位ビットが立っていればバンディング制御
が不要である旨を宣言するものとする。
【0050】なお本実施の形態では、アプリケーション
情報をプリンタ導入時に予めホストコンピュータ300
0の外部メモリ11へ静的に記憶しておくとしたが、こ
れに限るものではない。同様の情報をホストコンピュー
タ3000に着脱可能な記憶手段へ記憶しても良い。
情報をプリンタ導入時に予めホストコンピュータ300
0の外部メモリ11へ静的に記憶しておくとしたが、こ
れに限るものではない。同様の情報をホストコンピュー
タ3000に着脱可能な記憶手段へ記憶しても良い。
【0051】以上の前提に基づいて、図6に示すフロー
チャートを参照して処理を説明する。
チャートを参照して処理を説明する。
【0052】プリンタドライバ203は、初期化要求を
受け付けるとステップS31に進み、初期化要求の追加
情報から印刷要求を発行してきたアプリケーションの名
称を取得し、図7に示したアプリケーションの関連情報
をOS26のシステムコールを用いてRAM2へ読み込
む(ステップS32)。続いてステップS33に進み、
プリンタドライバ203は、ステップS31で取得した
アプリケーションの名称をキーにしてアプリケーション
情報を検索し、バンディング制御を必要と宣言した方が
良いか、そうでない方が良いかを判定し(ステップS3
3)、そして図5のステップS4に進んで、プリンタド
ライバ203の能力を宣言する。
受け付けるとステップS31に進み、初期化要求の追加
情報から印刷要求を発行してきたアプリケーションの名
称を取得し、図7に示したアプリケーションの関連情報
をOS26のシステムコールを用いてRAM2へ読み込
む(ステップS32)。続いてステップS33に進み、
プリンタドライバ203は、ステップS31で取得した
アプリケーションの名称をキーにしてアプリケーション
情報を検索し、バンディング制御を必要と宣言した方が
良いか、そうでない方が良いかを判定し(ステップS3
3)、そして図5のステップS4に進んで、プリンタド
ライバ203の能力を宣言する。
【0053】例えば本実施の形態では、最下位ビットが
立っているアプリケーションの名称「SINJUK
U」、「OHSAKI」、「SINAGAWA」を持つ
アプリケーションからの印刷処理でのみバンディング制
御が不要であると宣言し、それ以外のアプリケーション
の場合には、バンディング制御が必要であると宣言する
ことになる。このようにして判定した情報を基に、プリ
ンタドライバ203はプリンタドライバのグラフィック
ス描画能力を含むプリンタデバイスドライバ情報をGD
Iに対して宣言する(ステップS4)。
立っているアプリケーションの名称「SINJUK
U」、「OHSAKI」、「SINAGAWA」を持つ
アプリケーションからの印刷処理でのみバンディング制
御が不要であると宣言し、それ以外のアプリケーション
の場合には、バンディング制御が必要であると宣言する
ことになる。このようにして判定した情報を基に、プリ
ンタドライバ203はプリンタドライバのグラフィック
ス描画能力を含むプリンタデバイスドライバ情報をGD
Iに対して宣言する(ステップS4)。
【0054】尚、本実施の形態に示した機能が外部から
インストールされるプログラムによって、ホストコンピ
ュータ3000により遂行されても良い。その場合、そ
の機能がCD−ROMやフラッシュメモリやFD等の記
憶媒体により、或いは、電子メールやパソコン通信等の
ネットワークを介して外部の記憶媒体から、プログラム
を含む情報群を出力装置やホストコンピュータを含むシ
ステム内にロードすることにより、ホストコンピュータ
或いは出力装置に供給される場合でも本発明は適用され
るものである。
インストールされるプログラムによって、ホストコンピ
ュータ3000により遂行されても良い。その場合、そ
の機能がCD−ROMやフラッシュメモリやFD等の記
憶媒体により、或いは、電子メールやパソコン通信等の
ネットワークを介して外部の記憶媒体から、プログラム
を含む情報群を出力装置やホストコンピュータを含むシ
ステム内にロードすることにより、ホストコンピュータ
或いは出力装置に供給される場合でも本発明は適用され
るものである。
【0055】ここまでの実施の形態に示した通り、本実
施の形態に係るプリンタドライバ203は、初期化要求
時に特定のアプリケーション関連情報を取得し、その取
得した情報を基にオペレーティングシステムのグラフィ
ックスエンジンへ宣言するプリンタドライバ能力を選択
し、その選択したプリンタドライバ能力に基づいてプリ
ンタ制御コマンドを生成するので、状況に応じて比較的
に高速な印刷手法を選択して実行できるという効果があ
る。
施の形態に係るプリンタドライバ203は、初期化要求
時に特定のアプリケーション関連情報を取得し、その取
得した情報を基にオペレーティングシステムのグラフィ
ックスエンジンへ宣言するプリンタドライバ能力を選択
し、その選択したプリンタドライバ能力に基づいてプリ
ンタ制御コマンドを生成するので、状況に応じて比較的
に高速な印刷手法を選択して実行できるという効果があ
る。
【0056】[他の実施の形態]上記で示した第1実施
の形態では、特定のアプリケーションに関する情報を、
プリンタドライバ導入時に予めホストコンピュータ30
00の外部メモリ11へ記憶しておくものとしたが、同
様の情報をプリンタドライバが提供するグラフィックス
ユーザインターフェイスを介してホストコンピュータ3
000上の任意の記憶手段へ動的に記憶するといった構
成をとっても良い。また、ホストコンピュータ3000
上で動作するプリンタドライバ以外のプログラムモジュ
ールを介して、同様の情報を記憶しても良い。
の形態では、特定のアプリケーションに関する情報を、
プリンタドライバ導入時に予めホストコンピュータ30
00の外部メモリ11へ記憶しておくものとしたが、同
様の情報をプリンタドライバが提供するグラフィックス
ユーザインターフェイスを介してホストコンピュータ3
000上の任意の記憶手段へ動的に記憶するといった構
成をとっても良い。また、ホストコンピュータ3000
上で動作するプリンタドライバ以外のプログラムモジュ
ールを介して、同様の情報を記憶しても良い。
【0057】以上説明したように本実施の形態によれ
ば、プリンタ制御コマンド生成処理を開始する以前に特
定の情報を取得し、その取得した特定の情報からオペレ
ーティングシステムへ宣言するプリンタドライバ能力を
決定し、その決定したプリンタドライバ能力に基づい
て、プリンタ制御コマンド生成するので、状況に応じて
高速な印刷手法を選択して実行できるという効果があ
る。
ば、プリンタ制御コマンド生成処理を開始する以前に特
定の情報を取得し、その取得した特定の情報からオペレ
ーティングシステムへ宣言するプリンタドライバ能力を
決定し、その決定したプリンタドライバ能力に基づい
て、プリンタ制御コマンド生成するので、状況に応じて
高速な印刷手法を選択して実行できるという効果があ
る。
【0058】尚、本発明は複数の機器(例えばホストコ
ンピュータ、インターフェース機器、リーダ、プリンタ
など)から構成されるシステムに適用しても、又或は一
つの機器からなる装置(複写機、プリンタ、ファクシミ
リ装置など)に適用してもよい。
ンピュータ、インターフェース機器、リーダ、プリンタ
など)から構成されるシステムに適用しても、又或は一
つの機器からなる装置(複写機、プリンタ、ファクシミ
リ装置など)に適用してもよい。
【0059】また、本発明の目的は、前述した実施形態
の機能を実現するソフトウェアのプログラムコードを記
憶した記憶媒体を、システムあるいは装置のコンピュー
タ(またはCPUやMPU)が記憶媒体に格納されたプ
ログラムコードを読出し実行することによっても達成さ
れる。
の機能を実現するソフトウェアのプログラムコードを記
憶した記憶媒体を、システムあるいは装置のコンピュー
タ(またはCPUやMPU)が記憶媒体に格納されたプ
ログラムコードを読出し実行することによっても達成さ
れる。
【0060】この場合、記憶媒体から読み出されたプロ
グラムコード自体が前述した実施形態の機能を実現する
ことになり、そのプログラムコードを記憶した記憶媒体
は本発明を構成することになる。このプログラムコード
を供給するための記憶媒体としては、例えば、フロッピ
ーディスク、ハードディスク、光ディスク、光磁気ディ
スク、CD−ROM、CD−R、磁気テープ、不揮発性
のメモリカード、ROMなどを用いることができる。
グラムコード自体が前述した実施形態の機能を実現する
ことになり、そのプログラムコードを記憶した記憶媒体
は本発明を構成することになる。このプログラムコード
を供給するための記憶媒体としては、例えば、フロッピ
ーディスク、ハードディスク、光ディスク、光磁気ディ
スク、CD−ROM、CD−R、磁気テープ、不揮発性
のメモリカード、ROMなどを用いることができる。
【0061】また、コンピュータが読み出したプログラ
ムコードを実行することにより、前述した実施形態の機
能が実現されるだけでなく、そのプログラムコードの指
示に基づき、コンピュータ上で稼動しているOS(オペ
レーティングシステム)などが実際の処理の一部または
全部を行い、その処理によって前述した実施形態の機能
が実現される場合も含まれる。
ムコードを実行することにより、前述した実施形態の機
能が実現されるだけでなく、そのプログラムコードの指
示に基づき、コンピュータ上で稼動しているOS(オペ
レーティングシステム)などが実際の処理の一部または
全部を行い、その処理によって前述した実施形態の機能
が実現される場合も含まれる。
【0062】さらに、記憶媒体から読出されたプログラ
ムコードが、コンピュータに挿入された機能拡張ボード
やコンピュータに接続された機能拡張ユニットに備わる
メモリに書き込まれた後、そのプログラムコードの指示
に基づき、その機能拡張ボードや機能拡張ユニットに備
わるCPUなどが実際の処理の一部または全部を行い、
その処理によって前述した実施形態の機能が実現される
場合も含まれる。
ムコードが、コンピュータに挿入された機能拡張ボード
やコンピュータに接続された機能拡張ユニットに備わる
メモリに書き込まれた後、そのプログラムコードの指示
に基づき、その機能拡張ボードや機能拡張ユニットに備
わるCPUなどが実際の処理の一部または全部を行い、
その処理によって前述した実施形態の機能が実現される
場合も含まれる。
【0063】以上説明したように本実施の形態2によれ
ば、特定のAPIを発行するアプリケーション、特殊な
パラメータによるAPIの使用をするアプリケーショ
ン、ある特定モードにおいて、パフォーマンスの劣化を
引き起こすようなプリンタドライバのコールを行なうよ
うなアプリケーションの名称を登録して保存しておくこ
とを可能にし、その登録、保存されたアプリケーション
の名称に基づいて、より最適な印刷モードを選択でき
る。
ば、特定のAPIを発行するアプリケーション、特殊な
パラメータによるAPIの使用をするアプリケーショ
ン、ある特定モードにおいて、パフォーマンスの劣化を
引き起こすようなプリンタドライバのコールを行なうよ
うなアプリケーションの名称を登録して保存しておくこ
とを可能にし、その登録、保存されたアプリケーション
の名称に基づいて、より最適な印刷モードを選択でき
る。
【0064】これにより、先に登録されたアプリケーシ
ョンだけでなく、特定のアプリケーションにおいても印
刷スループットの向上、または適正な印刷結果を得るこ
とができるという効果がある。
ョンだけでなく、特定のアプリケーションにおいても印
刷スループットの向上、または適正な印刷結果を得るこ
とができるという効果がある。
【0065】また、上記登録条件を各デバイスに依存す
るドライバより取得することにより、さらに汎用性の高
い効果を得ることができる。
るドライバより取得することにより、さらに汎用性の高
い効果を得ることができる。
【0066】
【発明の効果】以上説明したように本発明によれば、ア
プリケーションに対応してプリンタ制御コマンドの生成
方法を変更することができる。
プリケーションに対応してプリンタ制御コマンドの生成
方法を変更することができる。
【0067】又本発明によれば、アプリケーションに対
応して記憶されている、プリンタ制御コマンドを生成す
るための制御情報を変更可能とすることにより、アプリ
ケーションに対応してプリンタ制御コマンドの生成方法
を動的に変更することができるという効果がある。
応して記憶されている、プリンタ制御コマンドを生成す
るための制御情報を変更可能とすることにより、アプリ
ケーションに対応してプリンタ制御コマンドの生成方法
を動的に変更することができるという効果がある。
【図1】本発明の実施の形態に係る印刷システムにおけ
る、ホストコンピュータ及びプリンタの構成を説明する
ブロック図である。
る、ホストコンピュータ及びプリンタの構成を説明する
ブロック図である。
【図2】本発明の実施の形態に係る印刷システムのホス
トコンピュータにおける機能構成を示す図である。
トコンピュータにおける機能構成を示す図である。
【図3】本実施の形態に係るホストコンピュータの機能
を説明する機能ブロック図である。
を説明する機能ブロック図である。
【図4】本実施の形態のホストコンピュータにプリンタ
ドライバがロードされた状態のRAMのメモリマップを
示している図である。
ドライバがロードされた状態のRAMのメモリマップを
示している図である。
【図5】本実施の形態のプリンタドライバの処理概略を
示したフローチャートである。
示したフローチャートである。
【図6】本実施の形態に係るプリンタドライバの特徴的
処理を説明するフローチャートである。
処理を説明するフローチャートである。
【図7】本実施の形態に係るプリンタドライバが使用す
るアプリケーション情報を説明する図である。
るアプリケーション情報を説明する図である。
Claims (10)
- 【請求項1】 アプリケーションからの印刷要求により
プリンタ制御用コマンドを生成する印刷制御装置であっ
て、 アプリケーションに対応した制御情報を記憶する記憶手
段と、 前記印刷要求を発行したアプリケーションに応じた制御
情報を前記記憶手段から取得する取得手段と、 画像情報を基にプリンタ制御用コマンドを生成するプリ
ンタコマンド生成手段と、 前記アプリケーションからのデータに基づいて前記プリ
ンタコマンド生成手段に応じた描画処理を実行して画像
情報を出力する描画手段と、 前記取得手段により取得された前記制御情報を基に、前
記プリンタコマンド生成手段の能力を決定して前記描画
手段に通知する制御手段と、を有することを特徴とする
印刷制御装置。 - 【請求項2】 前記プリンタコマンド生成手段は、プリ
ンタドライバ・ソフトウェアであることを特徴とする請
求項1に記載の印刷制御装置。 - 【請求項3】 前記描画手段は、前記アプリケーション
からの描画要求に基づいてラスタライズを行う、OS上
で動作するグラフィックスエンジン・ソフトウェアであ
ることを特徴とする請求項1に記載の印刷制御装置。 - 【請求項4】 前記制御情報は、前記プリンタコマンド
生成手段が印刷用イメージを印刷用イメージを順次ラス
タライズしたプリンタ制御用コマンドを生成するか否か
の情報を含むことを特徴とする請求項1乃至3のいずれ
か1項に記載の印刷制御装置。 - 【請求項5】 前記アプリケーションは前記OS上で動
作するアプリケーションプログラムであることを特徴と
する請求項3に記載の印刷制御装置。 - 【請求項6】 アプリケーションからの印刷要求に基づ
いてプリンタドライバによりプリンタ制御用コマンドを
生成してプリンタ装置に出力する印刷制御方法であっ
て、 印刷要求を発行したアプリケーションに応じた制御情報
を、アプリケーションに対応した制御情報を記憶するメ
モリから取得する取得工程と、 前記取得工程で取得された前記制御情報を基に前記プリ
ンタドライバの能力を決定してOSに通知する工程と、 前記アプリケーションからのデータに基づいて前記プリ
ンタドライバに応じた描画処理を実行して画像情報を前
記プリンタドライバに出力する描画工程と、を有するこ
とを特徴とする印刷制御方法。 - 【請求項7】 前記描画工程は、前記アプリケーション
からの描画要求に基づいてラスタライズを行う、OS上
で動作するグラフィックスエンジン・ソフトウェアによ
り実行されることを特徴とする請求項6に記載の印刷制
御方法。 - 【請求項8】 前記制御情報は、前記プリンタドライバ
が印刷用イメージを印刷用イメージを順次ラスタライズ
したプリンタ制御用コマンドを生成するか否かの情報を
含むことを特徴とする請求項6又は7に記載の印刷制御
方法。 - 【請求項9】 前記アプリケーションは前記OS上で動
作するアプリケーションプログラムであることを特徴と
する請求項7に記載の印刷制御方法。 - 【請求項10】 請求項6乃至9のいずれか1項に記載
の印刷制御方法を実行するプログラムを記憶したコンピ
ュータにより読み取り可能な記憶媒体。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11106416A JP2000298565A (ja) | 1999-04-14 | 1999-04-14 | 印刷制御方法及び装置と前記印刷制御方法を実行するプログラムを記憶した記憶媒体 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11106416A JP2000298565A (ja) | 1999-04-14 | 1999-04-14 | 印刷制御方法及び装置と前記印刷制御方法を実行するプログラムを記憶した記憶媒体 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2000298565A true JP2000298565A (ja) | 2000-10-24 |
Family
ID=14433078
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP11106416A Withdrawn JP2000298565A (ja) | 1999-04-14 | 1999-04-14 | 印刷制御方法及び装置と前記印刷制御方法を実行するプログラムを記憶した記憶媒体 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2000298565A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2004029744A (ja) * | 2002-04-15 | 2004-01-29 | Microsoft Corp | プログレッシブ・ビデオ表示のためのインターレース・ビデオ画像の処理を容易にする方法および装置 |
| US7929754B2 (en) | 2003-08-01 | 2011-04-19 | Microsoft Corporation | Strategies for processing image information using a color information data structure |
| JP2019066911A (ja) * | 2017-09-28 | 2019-04-25 | ブラザー工業株式会社 | プリンタドライバおよび、情報処理装置 |
-
1999
- 1999-04-14 JP JP11106416A patent/JP2000298565A/ja not_active Withdrawn
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2004029744A (ja) * | 2002-04-15 | 2004-01-29 | Microsoft Corp | プログレッシブ・ビデオ表示のためのインターレース・ビデオ画像の処理を容易にする方法および装置 |
| JP2010068544A (ja) * | 2002-04-15 | 2010-03-25 | Microsoft Corp | プログレッシブ・ビデオ表示のためのインターレース・ビデオ画像の処理を容易にする方法および装置 |
| US7876379B2 (en) | 2002-04-15 | 2011-01-25 | Microsoft Corporation | Methods and apparatuses for facilitating processing of interlaced video images for progressive video displays |
| US8176500B2 (en) | 2002-04-15 | 2012-05-08 | Microsoft Corporation | Closing a video stream object |
| US7929754B2 (en) | 2003-08-01 | 2011-04-19 | Microsoft Corporation | Strategies for processing image information using a color information data structure |
| US8428346B2 (en) | 2003-08-01 | 2013-04-23 | Microsoft Corporation | Strategies for processing image information using a color information data structure |
| JP2019066911A (ja) * | 2017-09-28 | 2019-04-25 | ブラザー工業株式会社 | プリンタドライバおよび、情報処理装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6493099B2 (en) | Print control apparatus and method | |
| US7884952B2 (en) | Print control apparatus, print control method, and program for implementing the method | |
| JP3747130B2 (ja) | 情報処理装置、メッセージ表示方法、インタフェース装置、及びコンピュータ読み取り可能なプログラムが格納された記憶媒体 | |
| US7319532B2 (en) | Printing control apparatus and printing control method capable of accurately printing embedded font | |
| JP2002041261A (ja) | 情報処理装置及び情報処理方法及びコンピュータ読み取り可能なプログラムを格納した記憶媒体 | |
| US6734986B1 (en) | Print control apparatus, print data generating apparatus, print control method, print data generating method, and storage medium | |
| JP3907362B2 (ja) | 印刷制御方法及び装置および印刷システム | |
| US7289235B2 (en) | Information processing device, information processing system, method for controlling information processing device, storage medium and control program | |
| US20030038959A1 (en) | Data processing apparatus capable of communicating with output apparatus and its data processing method | |
| JP3667043B2 (ja) | 情報処理システム、情報処理装置、及び印刷制御方法 | |
| JP2004192390A (ja) | データ処理装置 | |
| JP4467855B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
| JPH10278362A (ja) | 印刷制御装置及び方法と印刷システム | |
| JP2000298565A (ja) | 印刷制御方法及び装置と前記印刷制御方法を実行するプログラムを記憶した記憶媒体 | |
| US20040263892A1 (en) | Information processisng apparatus, information processing method, and control program | |
| JP2000099291A (ja) | 印刷制御装置および印刷制御装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体 | |
| JP4100912B2 (ja) | 情報処理装置及びその制御方法、プログラム並びに記憶媒体 | |
| JP2004038527A (ja) | プリンタドライバおよび印刷制御方法およびコンピュータが読み取り可能な記憶媒体およびプログラム | |
| JP3962559B2 (ja) | 印刷制御装置及び印刷制御方法 | |
| JP3870042B2 (ja) | 印刷制御装置及び印刷制御方法 | |
| JP2000185445A (ja) | 印刷制御方法及び装置 | |
| JP2000218901A (ja) | 情報処理装置、情報処理方法及びコンピュータ読み取り可能なプログラムが格納された記憶媒体 | |
| JP2005159764A (ja) | 記録方法及び装置及びプログラム及び記憶媒体 | |
| JP3483419B2 (ja) | コンピュータおよびデータ処理方法およびコンピュータが読み出し可能な記憶媒体 | |
| JP2000033730A (ja) | 印刷装置とその制御方法及び印刷システム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060704 |