JP2006239946A - 印刷制御装置及びその制御方法とデバイスドライバ - Google Patents

印刷制御装置及びその制御方法とデバイスドライバ Download PDF

Info

Publication number
JP2006239946A
JP2006239946A JP2005056215A JP2005056215A JP2006239946A JP 2006239946 A JP2006239946 A JP 2006239946A JP 2005056215 A JP2005056215 A JP 2005056215A JP 2005056215 A JP2005056215 A JP 2005056215A JP 2006239946 A JP2006239946 A JP 2006239946A
Authority
JP
Japan
Prior art keywords
device driver
graphic engine
graphic
engine
format
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
JP2005056215A
Other languages
English (en)
Other versions
JP4522290B2 (ja
JP2006239946A5 (ja
Inventor
Yoshihiro Takagi
義博 高木
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 JP2005056215A priority Critical patent/JP4522290B2/ja
Priority to EP06250800.7A priority patent/EP1698968B1/en
Priority to US11/359,718 priority patent/US7706001B2/en
Publication of JP2006239946A publication Critical patent/JP2006239946A/ja
Priority to US12/717,805 priority patent/US9013718B2/en
Publication of JP2006239946A5 publication Critical patent/JP2006239946A5/ja
Application granted granted Critical
Publication of JP4522290B2 publication Critical patent/JP4522290B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/1206Improving or facilitating administration, e.g. print management resulting in increased flexibility in input data format or job format or job type
    • 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
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1245Job translation or job parsing, e.g. page banding by conversion to intermediate or common format
    • 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/1275Print workflow management, e.g. defining or changing a workflow, cross publishing
    • G06F3/1276Print workflow management, e.g. defining or changing a workflow, cross publishing within a printer driver, e.g. driver resides either on a server or on a client
    • 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/1224Client or server resources management
    • G06F3/1228Printing driverless or using generic drivers
    • 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
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1247Job translation or job parsing, e.g. page banding by conversion to printer ready format

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)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

【課題】 GDIドライバを一度開発すれば、以後どのようなデバイスであっても修正することなくそのまま使用できる。
【解決手段】 GDIドライバにより、NGPPグラフィックエンジン仕様のスプールフォーマット505を生成し、そのスプールフォーマットを用いてNGPPグラフィックエンジン仕様のアプリケーションを起動し、そのNGPPグラフィックエンジン仕様のアプリケーションにより、そのスプールフォーマット505に基づいて印刷を実行させる。
【選択図】 図5

Description

本発明は、互いに異なる2つのグラフィックエンジンを用いて印刷処理を実行する印刷制御装置及びその制御方法とデバイスドライバに関するものである。
複数のOSに対応したプリンタドライバをより効率的に開発するために、第1のOSからの描画コマンドと第2のOSからの描画コマンドとをOS非依存形式の共通のスプールデータに変換し、OS非依存形式の共通のスプールデータをOS共通のレンダラに渡し、印刷コマンドを生成することが特許文献1に開示されている。
また、2004年米国シアトルにおいて、ハードウェアエンジニアリングカンファレンスWinHEC 2004がマイクロソフト社によって開催された。この場にて、マイクロソフト社の次世代のプリンティングシステム(NextGen Print Path:以後NGPPと記す)の概要が紹介された。
このNGPPは、GDI(Graphic Device Interface)に代わる新しいグラフィックエンジンAvalonに、ネイティブに対応したマイクロソフトの次世代のプリンティングシステムである。このNGPPにおいては、印刷ジョブのスプールフォーマットもGDIベースのEnhanced Metafile(以後、EMFと記す)に代わり、新しいファイル形式(NextGen Spool File:以後NGSFと記す)に置き換わる。
図3は、NGPPを初めとするプリントパスの概要を説明する図である。
図において、新プリントパスがNGPPで、旧プリントパスはGDIプリントパスである。NGPPドライバが存在しない場合、NextGen転換プリントパスが使われる。これらの関係より次のことが明らかになる。
・Avalonアプリケーション303は、NGPPドライバ304を使用する(右上から右下へ)。
・Win32アプリケーション301は、GDIドライバ302を使用する(左上から左下)。
・Avalonアプリケーション303は、NGPPドライバ304が存在しない場合、NextGen転換プリントパスによりGDIドライバ302を使用する(右上から左下)。
つまり、いかなる場合であってもGDIドライバ302は常に必要で、NGPPドライバ304はオプション扱いという位置付けになる。
特開平11−110151号公報
今後、プリンタドライバを開発する各社の開発戦略において、NGPPに投資してGDIプリントパスに投資しないという選択をする企業が増えてくると思われる。しかしながら上述したプリンティングシステムの構成上、GDIドライバを必ず開発しなければならなくなるため、GDIプリントパスへの投資は避けられず、開発コスト上、大きな負担になることが容易に予想される。
本発明は、上記従来技術の欠点を解決することにある。
また本願発明の特徴は、汎用のGDIを用いて次世代のプリントパスに対応する汎用のスプールファイルを作成し、次世代のアプリケーションにその汎用のスプールファイルを渡すことにより、次世代のアプリケーションに対応したデバイスドライバを提供できることにある。
上記特徴は、独立クレームに記載の特徴の組み合わせにより達成され、従属項は発明の単なる有利な具体例を規定するものである。
本発明の一態様に係るデバイスドライバは以下のような構成を備える。即ち、
互いに異なる第1及び第2グラフィックエンジンが混在したコンピュータOS上で実行可能なデバイスドライバであって、
前記第2グラフィックエンジン仕様のスプールフォーマットを生成する前記第1グラフィックエンジン仕様の第1デバイスドライバと、
前記第1デバイスドライバにより前記スプールフォーマットを用いて前記第2グラフィックエンジン仕様のアプリケーションを起動させる手段と、
前記第2グラフィックエンジン仕様の前記アプリケーションにより前記スプールフォーマットに基づいて印刷を実行させる前記第2グラフィックエンジン仕様の第2デバイスドライバとを有することを特徴とする。
本発明の一態様に係る印刷制御装置は以下のような構成を備える。即ち、
OS上で互いに異なる第1及び第2グラフィックエンジンを実行可能な印刷制御装置であって、
前記第2グラフィックエンジン仕様のスプールフォーマットを生成する前記第1グラフィックエンジン仕様の第1デバイスドライバと、
前記第1デバイスドライバにより前記スプールフォーマットを用いて前記第2グラフィックエンジン仕様のアプリケーションを起動させる手段と、
前記第2グラフィックエンジン仕様の前記アプリケーションにより前記スプールフォーマットに基づいて印刷データを印刷装置に出力する前記第2グラフィックエンジン仕様の第2デバイスドライバとを有することを特徴とする。
本発明の一態様に係る印刷制御装置の制御方法は以下のような工程を備える。即ち、
OS上で互いに異なる第1及び第2グラフィックエンジンを実行可能な印刷制御装置における制御方法であって、
前記第1グラフィックエンジン仕様の第1デバイスドライバにより、前記第2グラフィックエンジン仕様のスプールフォーマットを生成する工程と、
前記第1デバイスドライバにより前記スプールフォーマットを用いて前記第2グラフィックエンジン仕様のアプリケーションを起動させる工程と、
前記第2グラフィックエンジン仕様の第2デバイスドライバにより、前記第2グラフィックエンジン仕様の前記アプリケーションにより前記スプールフォーマットに基づいて印刷データを印刷装置に出力する工程とを有することを特徴とする。
尚、この発明の概要は、必要な特徴を全て列挙しているものでなく、よって、これら特徴群のサブコンビネーションも発明になり得る。
本発明によれば、GDIドライバを一度開発すれば、以後どのようなデバイスであっても修正することなくそのまま使用できる。
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。尚、この実施の形態に係る情報処理装置としてコンピュータ機器(PC)の場合で説明する。
図1は、本発明の実施の形態に係るコンピュータ(PC)を含むプリンタ制御システムの構成を説明するブロック図である。尚、特に断らない限り、本実施の形態の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、或はLAN,WAN等のネットワークを介して複数の装置が接続されて処理が行われるシステムであっても本発明を適用できることは言うまでもない。
図において、ホストコンピュータ3000は、ROM3のプログラム用ROM或は外部メモリ11に記憶された文書処理プログラム等に基づいて図形、イメージ、文字、表(表計算等を含む)等が混在した文書処理を実行するCPU1を備え、システムバス4に接続される各デバイスをCPU1が総括的に制御する。また、このROM3のプログラム用ROM或は外部メモリ11には、CPU1の制御プログラムであるオペレーティングシステムプログラム(以下OS)等が記憶されており、ROM3のフォント用ROM或は外部メモリ11には、上記文書処理の際に使用するフォントデータ等が記憶されており、ROM3のデータ用ROM或は外部メモリ11には、上記文書処理等を行う際に使用する各種データが記憶されている。RAM2は、CPU1の主メモリ、ワークエリア等として機能する。キーボードコントローラ(KBC)5は、キーボード9や不図示のポインティングデバイスからのキー入力を制御する。CRTコントローラ(CRTC)6は、CRTディスプレイ(CRT)10の表示を制御する。ディスクコントローラ(DKC)7は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタ制御コマンド生成プログラム(以下プリンタドライバ)等を記憶するハードディスク(HD)、フロッピー(登録商標)ディスク(FD)等の外部メモリ11とのアクセスを制御する。プリンタコントローラ(PRTC)8は、所定の双方向性インターフェース21を介してプリンタ1500に接続されて、プリンタ1500との通信制御処理を実行する。尚、CPU1は、例えばRAM2上に設定された表示用RAMへのアウトラインフォントの展開(ラスタライズ)処理を実行し、CRT10上でのWYSIWYGを可能としている。またCPU1は、CRT10上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。これによりユーザは印刷を実行する際、印刷の設定に関するウインドウを開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行える。
次にプリンタ1500の構成を説明する。プリンタCPU12は、ROM13のプログラム用ROMに記憶された制御プログラム等或は外部メモリ14に記憶された制御プログラム等に基づいてシステムバス15に接続される印刷部(プリンタエンジン)17に出力情報としての画像信号を出力する。また、このROM13のプログラム用ROMには、CPU12の制御プログラム等が記憶されている。ROM13のフォント用ROMは、上記出力情報を生成する際に使用するフォントデータ等を記憶し、ROM13のデータ用ROMは、ハードディスク等の外部メモリ14がないプリンタの場合には、ホストコンピュータ3000で利用される情報等を記憶している。
CPU12は入力部18を介してホストコンピュータ3000との通信処理が可能となっており、プリンタ1500の情報等をホストコンピュータ3000に通知可能に構成されている。CPU12の主メモリ、ワークエリア等として機能するRAM19は、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。尚、このRAM19は、出力情報展開領域、環境データ格納領域、NVRAM等に用いられる。前述したハードディスク(HD)、ICカード等の外部メモリ14は、メモリコントローラ(MC)20によりアクセスを制御される。外部メモリ14はオプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、入力部18は、前述した操作パネルで操作のためのスイッチおよびLED表示器等が配されている。また、前述した外部メモリ14は1個に限らず、少なくとも1個以上備え、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。更に、図示しないNVRAMを有し、操作パネル1501を使用して設定されたプリンタのモード設定情報を記憶するようにしてもよい。
図2は、本実施の形態に係るホストコンピュータ3000における典型的な印刷データの生成方法を説明する図である。
アプリケーション201、グラフィックエンジン202、プリンタドライバ203及びシステムスプーラ204は、ハードディスクなどの外部メモリ11に保存されたファイルとして存在し、OSやそのモジュールを利用するモジュールによってRAM2にロードされ実行されるプログラムモジュールである。また、アプリケーション201及びプリンタドライバ203は、外部メモリ11のFDや不図示のCD−ROM、或は不図示のネットワークを経由して外部ディスク11のHDに追加することが可能となっている。また外部メモリ11に保存されているアプリケーション201は、RAM2にロードされて実行されるが、このアプリケーション201からプリンタ1500に対して印刷を行う際には、同様にRAM2にロードされて実行可能となっているグラフィックエンジン202を利用して出力(描画)を行う。このグラフィックエンジン202は、プリンタごとに用意されたプリンタドライバ203を、外部メモリ11からRAM2にロードし、アプリケーション210の出力をプリンタドライバ203を用いてプリンタ1500の制御コマンドに変換する。こうして変換されたプリンタ制御コマンドは、OSによってRAM2にロードされたシステムスプーラ204を経て、インターフェース21を経由してプリンタ1500へ出力され、プリンタ1500による印刷処理が実行される。
図4は、本実施の形態に係るホストコンピュータ3000におけるアプリケーション201と、各プリンタ用のプリンタドライバ203a,203bとの関係を説明する模式図である。
アプリケーション201は、オペレーティングシステム210が提供する各種関数(API)をコールして処理を行い、オペレーティングシステム210は印刷に関わる処理を、選択されているプリンタのプリンタドライバが提供する関数(DDI)をコールして処理を行う。こうしてアプリケーション201から選択されたプリンタドライバ203a,203bに対応するプリンタにおける印刷処理が可能となっている。
図5は、本実施の形態に係るアプリケーション層からOS層、ドライバ層、デバイス層までの印刷データの流れを示した図である。
Win32アプリケーション501が、GDI502のAPIを呼び出して印刷処理を実行すると、中間スプールファイルとしてEMF503が生成される。そして、このEMF503からドライバ関数(DDI)の呼び出しに置き換わりGDIドライバ504が呼び出される。このGDIドライバ504はPDLを出力しない。その代わり、NGPPのスプールファイルであるNGSF505を生成する。更に、このGDIドライバ504の中から独自のAvalonアプリケーション506を起動し、そのAvalonアプリケーション506に、その生成したNGSF505を渡す。このNGSF505の生成処理の詳細は、図6のフローチャートを参照して後述する。
GDIドライバ504から起動されたAvalonアプリケーション506は、OS層のAvalon507のAPIを呼び出してNGSFの印刷を実行する。ここでは詳細を述べないが、この段階で、NGSF505内の描画データのレイアウトを編集することも可能である。ここではAvalon507のAPIにより中間スプールファイルとしてNGSF508が生成される。尚、ここで必ずしもNGSF505とNGSF508とは一致するとは限らない。NGPPドライバ509は、この生成されたNGSF508を読み込み、PDL510へ変換してプリンタ1500に出力する。このPDL変換の詳細は、図10のフローチャートを参照して後述する。尚、ここでPDL510を出力せず、GDIドライバ504のように、再度Avalonアプリケーション506を起動し、その編集したNGSF508を、再度印刷し直してもよい。
以上の説明より、GDIドライバ504は、プリンタ1500及びPDL510と依存関係がないことがわかる。このようなGDIドライバ504の汎用性の高さが本実施の形態における特徴である。
図6は、本実施の形態に係るGDIドライバ504がNGSF505を生成する処理を説明するフローチャートである。尚、このフローチャートでは、GDI特有の描画データ(例えばROP)をAvalonの描画データに変換するのは困難であるため、そのGDI特有の描画データをアルファチャンネルに置き換えたスプールファイルを作成している。
通常の印刷ではドキュメントは複数のページから構成され、ページは複数の描画DDI(Device Driver Interface)から構成される。つまり、このフローチャートで示される処理は、描画DDIが一回呼び出されたときの処理のみ記述しているので、この処理はページ内において複数回繰り返され、更に、そのページも複数回繰り返される。その結果、印刷物としてのドキュメントが生成されることになる。以上を踏まえ、このフローチャートの詳細を説明する。
まずステップS1でDDIが呼び出される。このDDIは関数で、引数として描画に必要な様々なパラメータが渡されてくる。次にステップS2で、その入力されたDDIのパラメータと、後述するステップS4で保存しておいたDDIパラメータとを組み合わせて、アルファブレンド処理に置き換え可能かどうか判定する。置き換え可能な場合はステップS3に進み、それ以外の場合はステップS6へ進む。尚、このアルファブレンド置き換え条件の詳細については、図7及び図8を参照して後述する。
ステップS3では、ステップS2で得た一連のDDIパターンの形成が完了したかどうか判定する。一連のDDIパターンの形成がまだ完了していない場合はステップS4へ進み、ステップS1で得たDDIを保存する。形成が完了していればステップS5へ進み、ステップS2で得た一連のDDIパターンをアルファブレンド処理に置き換えてNGSF505を出力する。
一方ステップS6では、ステップS4で保存しておいたDDI群をNGSF505に拡張・変換しながら出力する。この拡張変換の詳細については後述する。次にステップS7で、ステップS1で得たDDIがROPを使用しているかどうか判定する。使用していない場合はステップS8へ進み、使用している場合はステップS9へ進む。ステップS8では、ステップS1で得たDDIをNGSF505に変換して出力する。またステップS9では、ステップS1で得たDDIをNGSF505に拡張・変換して出力する。
図7及び図8は、DDIをアルファブレンド処理に置き換える処理の一例を説明する図で、図7はDDI、図8はアルファブレンド処理を示している。
図7は、ROPを用いてビットマップの背景を透かしながらビットマップを描画する典型的な例を示している。具体的には、DrvBitBltというビットマップ系DDI関数が、ステップ1とステップ2で2回連続描画される。ステップ1では、2値の白黒画像を下地に対し論理積の論理描画(ROPではSRCANDと表現される)を行う。
ステップ2では、背景が黒いビットマップを、ステップ1で生成された下地に対し論理和の論理描画(ROPではSRCPAINTと表現される)を行う。
以上の描画によって、下地に対しビットマップの特定の色を透かしながらビットマップを描画できるようになる。
図8は、アルファブレンドを用いてビットマップの背景を透かしながらビットマップを描画する典型的な例を示す。ここでは2値の白黒画像を基に、アルファブレンドの指定を振り分けて描画する。この例では白黒画像の黒が不透明を示し、白は透明を示す。
以上より、図7のROPを用いた複数回の描画方法と、図8のアルファブレンドを用いた1回の描画方法により同一の描画結果が得られることがわかる。
図9は、DDIを拡張変換して拡張NGSFを生成する処理例を説明する図である。
NGSFにはROPを記述する方法は無い。しかしながら、NGSFの描画部はXMLで記述できるので、901で示すように独自のネームスペースを定義することによって、アルファブレンドにより置き換えることができないROPの記述を拡張してNGSFに追記できる。901では、ROP3コード「SRCAND」を記述している。これにより、いかなるROPでもNGSFで定義することができる。
図10は、NGPPドライバ509がPDL510を生成する処理フローの概略を示すフローチャートである。
まずステップS11で、NGSF508が入力される。次にステップS12で、描画方式を判定する。出力データをベクターグラフィックとして描画処理をする場合はステップS13に進み、それ以外、即ちラスタイメージとして描画処理する場合はステップS16に進む。ステップS13では、NGSFが拡張されているかどうか調べる。ここで前述の図6のステップS6やステップS9を経てきたならばNGSFは拡張されていることになる。NGSFが拡張されていればステップS14に進み、それ以外の場合はステップS15に進む。ステップS14では、PDL510がROPを処理可能かどうか判定する。処理可能な場合はステップS15に進み、それ以外の場合はステップS16に進む。ステップS15では、ベクタグラフィックデータを有するPDL510を出力する。一方、ステップS6では、ラスタイメージデータを有したPDL510を出力する。
以上説明したように本実施の形態によれば、GDIドライバを一度開発すれば、以後どのようなデバイスであっても修正することなくそのまま使用できる。
また開発行為においてNGPPのみ注力可能なので開発コストは激減する。
しかも、本来Avalonで表現不可能なGDI特有のラスタオペレーション(Raster Operation:以後ROPと記す)を使った描画であっても正常に印刷可能となる。以上より、プリンタドライバ開発の生産性を大きく向上させることができる。
なお本発明は、前述した実施の形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが、その供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。その場合、プログラムの機能を有していれば、その形態はプログラムである必要はない。従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明には、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
プログラムを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などがある。その他のプログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記憶媒体にダウンロードすることによっても供給できる。また本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明のクレームに含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件を満足するユーザに対してインターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
またコンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行ない、その処理によっても前述した実施形態の機能が実現される。
本発明の実施の形態に係るコンピュータ(PC)を含むプリンタ制御システムの構成を説明するブロック図である。 本実施の形態に係るホストコンピュータにおける典型的な印刷データ生成方法を説明する図である。 NGPPを初めとするプリントパスの概要を説明する図である。 本実施の形態に係るホストコンピュータにおけるアプリケーションと、各プリンタ用のプリンタドライバとの関係を説明する模式図である。 本実施の形態に係るアプリケーション層からOS層、ドライバ層、デバイス層までの印刷データの流れを示した図である。 本実施の形態に係るGDIドライバがNGSFを生成する処理を説明するフローチャートである。 DDIをアルファブレンド処理に置き換える処理の一例を説明する図で、DDI処理を示している。 DDIをアルファブレンド処理に置き換える処理の一例を説明する図で、アルファブレンド処理を示している。 本発明の一実施形態としての拡張NGSFの例。 NGPPドライバがPDLを生成する処理フローの概略を示すフローチャートである。

Claims (14)

  1. 互いに異なる第1及び第2グラフィックエンジンが混在したコンピュータOS上で実行可能なデバイスドライバであって、
    前記第2グラフィックエンジン仕様のスプールフォーマットを生成する前記第1グラフィックエンジン仕様の第1デバイスドライバと、
    前記第1デバイスドライバにより前記スプールフォーマットを用いて前記第2グラフィックエンジン仕様のアプリケーションを起動させる手段と、
    前記第2グラフィックエンジン仕様の前記アプリケーションにより前記スプールフォーマットに基づいて印刷を実行させる前記第2グラフィックエンジン仕様の第2デバイスドライバと、
    を有することを特徴とするデバイスドライバ。
  2. 前記第1デバイスドライバは更に、前記第2グラフィックエンジンではサポートされない前記第1グラフィックスエンジン特有の描画データを前記第2グラフィックエンジン仕様のグラフィックエンジンに適合した形式に変換する手段を有することを特徴とする請求項1に記載のデバイスドライバ。
  3. 前記第1デバイスドライバは、前記第2グラフィックエンジンではサポートされない前記第1グラフィックスエンジン特有の描画データを拡張された前記第2グラフィックエンジン仕様のスプールフォーマットに記述する手段を有し、
    前記第2デバイスドライバは、前記拡張された前記第2グラフィックエンジン仕様の前記スプールフォーマットをPDLに変換する手段を有することを特徴とする請求項1又は2に記載のデバイスドライバ。
  4. 前記第1グラフィックエンジンは旧タイプのグラフィックエンジンで、前記第2グラフィックエンジンは新タイプのグラフィックエンジンであることを特徴とする請求項1に記載のデバイスドライバ。
  5. OS上で互いに異なる第1及び第2グラフィックエンジンを実行可能な印刷制御装置であって、
    前記第2グラフィックエンジン仕様のスプールフォーマットを生成する前記第1グラフィックエンジン仕様の第1デバイスドライバと、
    前記第1デバイスドライバにより前記スプールフォーマットを用いて前記第2グラフィックエンジン仕様のアプリケーションを起動させる手段と、
    前記第2グラフィックエンジン仕様の前記アプリケーションにより前記スプールフォーマットに基づいて印刷データを印刷装置に出力する前記第2グラフィックエンジン仕様の第2デバイスドライバと、
    を有することを特徴とする印刷制御装置。
  6. 前記第1デバイスドライバは更に、前記第2グラフィックエンジンではサポートされない前記第1グラフィックスエンジン特有の描画データを前記第2グラフィックエンジン仕様のグラフィックエンジンに適合した形式に変換する手段を有することを特徴とする請求項5に記載の印刷制御装置。
  7. 前記第1デバイスドライバは、前記第2グラフィックエンジンではサポートされない前記第1グラフィックスエンジン特有の描画データを拡張された前記第2グラフィックエンジン仕様のスプールフォーマットに記述する手段を有し、
    前記第2デバイスドライバは、前記拡張された前記第2グラフィックエンジン仕様の前記スプールフォーマットをPDLに変換する手段を有することを特徴とする請求項5又は6に記載の印刷制御装置。
  8. 前記第1グラフィックエンジンは旧タイプのグラフィックエンジンで、前記第2グラフィックエンジンは新タイプのグラフィックエンジンであることを特徴とする請求項5に記載の印刷制御装置。
  9. OS上で互いに異なる第1及び第2グラフィックエンジンを実行可能な印刷制御装置における制御方法であって、
    前記第1グラフィックエンジン仕様の第1デバイスドライバにより、前記第2グラフィックエンジン仕様のスプールフォーマットを生成する工程と、
    前記第1デバイスドライバにより前記スプールフォーマットを用いて前記第2グラフィックエンジン仕様のアプリケーションを起動させる工程と、
    前記第2グラフィックエンジン仕様の第2デバイスドライバにより、前記第2グラフィックエンジン仕様の前記アプリケーションにより前記スプールフォーマットに基づいて印刷データを印刷装置に出力する工程と、
    を有することを特徴とする印刷制御装置における制御方法。
  10. 前記第1デバイスドライバは更に、前記第2グラフィックエンジンではサポートされない前記第1グラフィックスエンジン特有の描画データを前記第2グラフィックエンジン仕様のグラフィックエンジンに適合した形式に変換する工程を有することを特徴とする請求項9に記載の印刷制御装置における制御方法。
  11. 前記第1デバイスドライバは、前記第2グラフィックエンジンではサポートされない前記第1グラフィックスエンジン特有の描画データを拡張された前記第2グラフィックエンジン仕様のスプールフォーマットに記述する工程を有し、
    前記第2デバイスドライバは、前記拡張された前記第2グラフィックエンジン仕様の前記スプールフォーマットをPDLに変換する工程を有することを特徴とする請求項9又は10に記載の印刷制御装置における制御方法。
  12. 前記第1グラフィックエンジンは旧タイプのグラフィックエンジンで、前記第2グラフィックエンジンは新タイプのグラフィックエンジンであることを特徴とする請求項8に記載の印刷制御装置における制御方法。
  13. 第1グラフィックエンジン及びROPを処理不可能な第2グラフィックエンジンが混在したコンピュータOS上で実行可能なデバイスドライバであって、
    ROPをアルファブレンド処理に置き換えることにより前記第2グラフィックエンジン仕様のスプールフォーマットを生成する前記第1グラフィックエンジン仕様の第1デバイスドライバと、
    前記第1デバイスドライバにより前記スプールフォーマットを用いて前記第2グラフィックエンジン仕様のアプリケーションを起動させる手段と、
    前記第2グラフィックエンジン仕様の前記アプリケーションにより前記スプールフォーマットに基づいて印刷を実行させる前記第2グラフィックエンジン仕様の第2デバイスドライバと、
    を有することを特徴とするデバイスドライバ。
  14. ROPを処理可能な第1グラフィックエンジン及びROPを処理不可能な第2グラフィックエンジンを実行可能な印刷制御装置における制御方法であって、
    前記第1グラフィックエンジン仕様の第1デバイスドライバにより、ROPをアルファブレンド処理に置き換えることにより前記第2グラフィックエンジン仕様のスプールフォーマットを生成する工程と、
    前記第1デバイスドライバにより前記スプールフォーマットを用いて前記第2グラフィックエンジン仕様のアプリケーションを起動させる工程と、
    前記第2グラフィックエンジン仕様の第2デバイスドライバにより、前記第2グラフィックエンジン仕様の前記アプリケーションにより前記スプールフォーマットに基づいて印刷データを印刷装置に出力する工程と、
    を有することを特徴とする印刷制御装置における制御方法。
JP2005056215A 2005-03-01 2005-03-01 印刷制御装置及びその制御方法とプログラム Active JP4522290B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2005056215A JP4522290B2 (ja) 2005-03-01 2005-03-01 印刷制御装置及びその制御方法とプログラム
EP06250800.7A EP1698968B1 (en) 2005-03-01 2006-02-15 Print control apparatus, control method thereof, and device driver
US11/359,718 US7706001B2 (en) 2005-03-01 2006-02-22 Print control apparatus, control method thereof, and device driver for converting commands from one format to another
US12/717,805 US9013718B2 (en) 2005-03-01 2010-03-04 Print control apparatus, control method thereof, and device driver for converting commands from one format to another

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005056215A JP4522290B2 (ja) 2005-03-01 2005-03-01 印刷制御装置及びその制御方法とプログラム

Publications (3)

Publication Number Publication Date
JP2006239946A true JP2006239946A (ja) 2006-09-14
JP2006239946A5 JP2006239946A5 (ja) 2010-05-20
JP4522290B2 JP4522290B2 (ja) 2010-08-11

Family

ID=36559667

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005056215A Active JP4522290B2 (ja) 2005-03-01 2005-03-01 印刷制御装置及びその制御方法とプログラム

Country Status (3)

Country Link
US (2) US7706001B2 (ja)
EP (1) EP1698968B1 (ja)
JP (1) JP4522290B2 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007249859A (ja) * 2006-03-17 2007-09-27 Canon Inc 画像形成装置及びその制御方法、プログラム
US8045205B2 (en) 2007-06-22 2011-10-25 Brother Kogyo Kabushiki Kaisha Image forming device, and method and computer readable medium therefor
JP2012058810A (ja) * 2010-09-06 2012-03-22 Seiko Epson Corp 印刷データを用いた機能拡張プログラム、機能拡張装置、及び、機能拡張方法
JP2012058846A (ja) * 2010-09-06 2012-03-22 Seiko Epson Corp 出力先を分散するための印刷データ処理プログラム、印刷データ処理装置、及び、印刷データ処理方法
JP2012068783A (ja) * 2010-09-22 2012-04-05 Seiko Epson Corp 印刷データの価値付加プログラム、価値付加装置、及び、価値付加方法
JP2012173999A (ja) * 2011-02-22 2012-09-10 Seiko Epson Corp プリンター変更用プログラム、プリンター変更方法、及び、ホスト装置
JP2012178020A (ja) * 2011-02-25 2012-09-13 Seiko Epson Corp 印刷データを用いた機能拡張プログラム、機能拡張装置、及び、機能拡張方法
JP2013041329A (ja) * 2011-08-11 2013-02-28 Ricoh Co Ltd 印刷制御装置、制御プログラム及び記録媒体
JP2015149077A (ja) * 2015-03-05 2015-08-20 セイコーエプソン株式会社 プリンター変更用プログラム、プリンター変更方法、及び、ホスト装置

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2199908A1 (de) * 2008-12-22 2010-06-23 ControlExpert GmbH Zugriffsverfahren auf ein Übertragungsmedium
CN102385489B (zh) * 2010-09-06 2014-11-19 精工爱普生株式会社 分布处理方法、分布处理装置、印刷数据处理方法、印刷数据处理装置、以及存储介质
JP5849485B2 (ja) * 2011-07-15 2016-01-27 株式会社リコー 印刷制御プログラム、情報処理装置及び記録媒体
JP6482432B2 (ja) * 2015-08-21 2019-03-13 キヤノン株式会社 描画命令処理装置および描画命令処理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11110151A (ja) * 1997-10-03 1999-04-23 Seiko Epson Corp プリンタドライバ、プリンタドライバを有したコンピュータ及びコンピュータシステム
JPH11272438A (ja) * 1997-12-16 1999-10-08 Lexmark Internatl Inc クライアント/サ―バ・プリンタ・ドライバ・システム
JP2004157998A (ja) * 2002-10-10 2004-06-03 Sharp Corp 追加のカスタムプリントプロセッサを用いる、カスタマイズされたプリンタドライバ

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5642474A (en) * 1995-03-06 1997-06-24 Hewlett-Packard Company Arbitrary masking technique for filling in shapes for display
US5977977A (en) * 1995-08-04 1999-11-02 Microsoft Corporation Method and system for multi-pass rendering
US6971071B1 (en) * 1999-06-10 2005-11-29 Microsoft Corporation System and method for implementing an image ancillary to a cursor
JP2001067347A (ja) * 1999-06-23 2001-03-16 Canon Inc 情報処理装置、情報処理方法およびコンピュータ読み取り可能なプログラムを格納した記憶媒体
US7061635B1 (en) * 1999-10-05 2006-06-13 Canon Kabushiki Kaisha Information processing apparatus, distributed printing method, and storage medium
US7076738B2 (en) * 2001-03-02 2006-07-11 Semantic Compaction Systems Computer device, method and article of manufacture for utilizing sequenced symbols to enable programmed application and commands
US20020191206A1 (en) * 2001-06-18 2002-12-19 Anderson Jeff M. Rendering broker service and method
AU2003900772A0 (en) * 2003-02-21 2003-03-13 Canon Kabushiki Kaisha Reducing the number of compositing operations performed in a pixel sequential rendering system
JP2005018494A (ja) * 2003-06-27 2005-01-20 Canon Inc データ処理装置および印刷データ生成方法およびコンピュータが読取り可能なプログラムを格納した記憶媒体およびプログラム
US7215342B2 (en) * 2004-04-30 2007-05-08 Microsoft Corporation System and method for detecting and converting a transparency simulation effect
US7755786B2 (en) * 2004-05-03 2010-07-13 Microsoft Corporation Systems and methods for support of various processing capabilities
US7782331B2 (en) * 2004-06-24 2010-08-24 Microsoft Corporation Cross-platform runtime code generation for bit block transfer functions
US20060146353A1 (en) * 2004-12-30 2006-07-06 Microsoft Corporation Strategies for rendering job information using a multi-personality driver device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11110151A (ja) * 1997-10-03 1999-04-23 Seiko Epson Corp プリンタドライバ、プリンタドライバを有したコンピュータ及びコンピュータシステム
JPH11272438A (ja) * 1997-12-16 1999-10-08 Lexmark Internatl Inc クライアント/サ―バ・プリンタ・ドライバ・システム
JP2004157998A (ja) * 2002-10-10 2004-06-03 Sharp Corp 追加のカスタムプリントプロセッサを用いる、カスタマイズされたプリンタドライバ

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007249859A (ja) * 2006-03-17 2007-09-27 Canon Inc 画像形成装置及びその制御方法、プログラム
US8045205B2 (en) 2007-06-22 2011-10-25 Brother Kogyo Kabushiki Kaisha Image forming device, and method and computer readable medium therefor
US8861009B2 (en) 2010-09-06 2014-10-14 Seiko Epson Corporation Function expansion method using print data for a point-of-sale terminal
JP2012058810A (ja) * 2010-09-06 2012-03-22 Seiko Epson Corp 印刷データを用いた機能拡張プログラム、機能拡張装置、及び、機能拡張方法
JP2012058846A (ja) * 2010-09-06 2012-03-22 Seiko Epson Corp 出力先を分散するための印刷データ処理プログラム、印刷データ処理装置、及び、印刷データ処理方法
US10248944B2 (en) 2010-09-06 2019-04-02 Seiko Epson Corporation Function expansion method in a point-of-sale system using print data
CN102446074A (zh) * 2010-09-06 2012-05-09 精工爱普生株式会社 使用印刷数据的功能扩展方法、功能扩展装置以及记录介质
US9030704B2 (en) 2010-09-06 2015-05-12 Seiko Epson Corporation Function expansion method using print data for a point-of-sale terminal
US9030706B2 (en) 2010-09-22 2015-05-12 Seiko Epson Corporation Method of adding value to print data, a value-adding device, and a recording medium
US8861016B2 (en) 2010-09-22 2014-10-14 Seiko Epson Corporation Method of adding value to print data, a value-adding device, and a recording medium
US9262106B2 (en) 2010-09-22 2016-02-16 Seiko Epson Corporation Method of adding value to print data, a value-adding device, and a recording medium
JP2012068783A (ja) * 2010-09-22 2012-04-05 Seiko Epson Corp 印刷データの価値付加プログラム、価値付加装置、及び、価値付加方法
JP2012173999A (ja) * 2011-02-22 2012-09-10 Seiko Epson Corp プリンター変更用プログラム、プリンター変更方法、及び、ホスト装置
JP2012178020A (ja) * 2011-02-25 2012-09-13 Seiko Epson Corp 印刷データを用いた機能拡張プログラム、機能拡張装置、及び、機能拡張方法
JP2013041329A (ja) * 2011-08-11 2013-02-28 Ricoh Co Ltd 印刷制御装置、制御プログラム及び記録媒体
JP2015149077A (ja) * 2015-03-05 2015-08-20 セイコーエプソン株式会社 プリンター変更用プログラム、プリンター変更方法、及び、ホスト装置

Also Published As

Publication number Publication date
US20060197969A1 (en) 2006-09-07
US7706001B2 (en) 2010-04-27
EP1698968A3 (en) 2007-06-06
EP1698968B1 (en) 2016-06-15
US20100157348A1 (en) 2010-06-24
US9013718B2 (en) 2015-04-21
JP4522290B2 (ja) 2010-08-11
EP1698968A2 (en) 2006-09-06

Similar Documents

Publication Publication Date Title
JP4522290B2 (ja) 印刷制御装置及びその制御方法とプログラム
JP4667280B2 (ja) 情報処理装置及びその制御方法、プログラム
US8537438B2 (en) Information processing apparatus in which a plurality of types of print drivers and plurality of graphics units run, control method therefor, and program
JP4651112B2 (ja) 情報処理装置及びその制御方法とプログラム
JP4785579B2 (ja) 情報処理装置および情報処理装置における印刷設定反映方法とプログラム
JP2006285870A (ja) 印刷制御装置、印刷制御方法、及びプログラム
JP4960900B2 (ja) 情報処理装置および画像形成装置
JP2002041261A (ja) 情報処理装置及び情報処理方法及びコンピュータ読み取り可能なプログラムを格納した記憶媒体
JP5366388B2 (ja) 印刷制御装置、印刷制御方法、及び、プログラム
US8537388B2 (en) Information processing apparatus for image processing on a character stamp by embedding an image rendering a character string of a stamp
JP2001063155A (ja) プリンタホスト、印刷コマンド生成装置およびプログラムが記憶されている記憶媒体
US7203898B2 (en) Document processing method and apparatus
JP5070101B2 (ja) 情報処理装置及びその制御方法、プリンタドライバプログラム
JP2005018494A (ja) データ処理装置および印刷データ生成方法およびコンピュータが読取り可能なプログラムを格納した記憶媒体およびプログラム
JP2007207003A (ja) 情報処理装置、ドライバ設定方法、記憶媒体、プログラム
JP2009289121A (ja) 情報処理装置、出力装置、出力処理方法、及びプログラム
JP3521056B2 (ja) プリンタドライバ、プリンタドライバを有したコンピュータ及びコンピュータシステム
JP2011170850A (ja) 情報処理装置及びその制御方法
JP2006178622A (ja) 文書変換方法、文書変換装置、及びプログラム
JP2006338166A (ja) 情報処理装置及びその制御方法、プログラム
JP4726252B2 (ja) 情報処理装置及び方法並びに制御プログラム
JP2001282482A (ja) データ処理装置、および、該データの処理方法
JP2009169632A (ja) 情報処理装置、ジョブ結合方法、ジョブ結合プログラム及び記録媒体
JP2006277237A (ja) ホスト装置
JP2005165741A (ja) 情報処理装置、印刷システム、情報処理装置の処理データ生成方法、及び制御プログラム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080225

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080225

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100324

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100525

R150 Certificate of patent or registration of utility model

Ref document number: 4522290

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130604

Year of fee payment: 3