JP2009516235A - モジュラフィルタのパイプライン内でのスプールファイルとpdlとの間の変換 - Google Patents

モジュラフィルタのパイプライン内でのスプールファイルとpdlとの間の変換 Download PDF

Info

Publication number
JP2009516235A
JP2009516235A JP2008521532A JP2008521532A JP2009516235A JP 2009516235 A JP2009516235 A JP 2009516235A JP 2008521532 A JP2008521532 A JP 2008521532A JP 2008521532 A JP2008521532 A JP 2008521532A JP 2009516235 A JP2009516235 A JP 2009516235A
Authority
JP
Japan
Prior art keywords
filter
content
rendering
spool file
pipeline
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.)
Pending
Application number
JP2008521532A
Other languages
English (en)
Other versions
JP2009516235A5 (ja
Inventor
エマーソン ダニエル
マクサ エイドリアン
セドキー カレッド
フェーア オリバー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2009516235A publication Critical patent/JP2009516235A/ja
Publication of JP2009516235A5 publication Critical patent/JP2009516235A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/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/1248Job translation or job parsing, e.g. page banding by printer language recognition, e.g. PDL, PCL, PDF
    • 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/1277Print workflow management, e.g. defining or changing a workflow, cross publishing using filter pipeline, e.g. outside the driver, adding traps

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)
  • Image Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

モジュラフィルタのパイプライン内でPDLへのスプールファイルの変換。スプーラは、目的地デバイス上でレンダリングされるコンテンツを受信するのに適応される。そして、1以上のフィルタは、目的地デバイス上でコンテンツをレンダリングするのに適応される。他の実施形態において、フィルタは、目的地デバイス上のコンテンツをレンダリングすることに結合している様々な機能を実行するためのパイプライン構成でアレンジされる。フィルタは、スプールファイルフォーマットのコンテンツを対応するPDL表現に変換することができ、その逆もできる。

Description

本発明は、モジュラフィルタのパイプライン内でのスプールファイルとPDLとの間で変換するシステムおよび方法に関する。
ワシントン州レドモントのマイクロソフト株式会社から入手可能なオペレーティングシステムであるWINDOWS(登録商標)ファミリのような、パーソナルコンピュータオペレーティングシステム環境の範囲内で実行するアプリケーションソフトウェアからのコンテンツをプリントすることは、一般的にいくつかの変換機能を含む。アプリケーションは、独自仕様のフォーマットを使用してコンテンツを表現することができる。しかし、WINDOWS(登録商標)環境において、コンテンツは、Graphics Device Interface(GDI)層のようなユーティリティと互換性を有するようにされる可能性がある。第1の機能は、例えばEncapsulated Metafile(EMF)フォーマットのようなスプールファイルフォーマットへの適用により使用されるコンテンツの表現を変換することができる。第2の機能は、デバイスにより翻訳されるPrinter Description Language(PDL)に、EMFを変換する。例えば、一般のPDLは、PostScript、PCL5c、PCL−XL、ラスター等を含む。
モジュラフィルタのパイプライン内でのスプールファイルとPDLとの間の変換がここに記述される。スプーラは、目的地デバイス上でレンダリングされるコンテンツを受信するように適応され、そして、1以上のフィルタは、目的地デバイス上のコンテンツをレンダリングするように適応される。他の実施形態において、フィルタは、目的地デバイス上のコンテンツをレンダリングすることに関連し、様々な機能を実行するために、パイプライン構成で配置される。フィルタは、スプールファイルフォーマットのコンテンツを対応するPDL表現に変換することができ、またその逆に変換することもできる。例えば、スキャンかファクスのアプリケーションにおいて、フィルタは、スプールファイルフォーマットへのPDL表現の変換をサポートする可能性がある。
このサマリーは、詳細な説明でさらに後述する簡略化された形式のコンセプトの選択を紹介するために提供される。このサマリーは、クレームされた主題の基本的な特徴に重要な特徴を特定することを目的としないし、またクレームされた主題の範囲を決定することへの目的として使用されることも目的としない。
同じ数字が、図面を通して、同様の特徴と同様の構成要素に使用される。図の中で、参照番号の最も左の桁は、参照番号が最初に現れる図を識別する。異なる図における同じ参照番号の使用は、類似または同一のアイテムを示す。
図1は、モジュラフィルタのパイプライン内でのスプールファイルとPDLとの間の変換を実行するためのアーキテクチャ100を例示する。アプリケーション105は、コンテンツ110がデバイス115上へプリントされるか、そうでなければレンダリングされるプリントジョブを提出し、それは、例えばどんな適切なプリンタの形式でもとることができる。コンテンツ110は、アプリケーション105が実行されるオペレーティングシステム120で送信される。オペレーティングシステム120は、マイクロソフト(登録商標)から入手可能なオペレーティングシステムのWINDOWS(登録商標)ファミリのいずれかを含むがこれに限定されず、いずれかの利用できるオペレーティングシステムでも構わない。
オペレーティングシステム120は、グラフィックスレイヤーコンポーネント125を含む可能性があり、その適切な例は、オペレーティングシステムのWINDOWS(登録商標)ファミリに含まれるGDIレイヤーである。しかし、他のサードパーティのグラフィックスレイヤーコンポーネントも、また同様に使用されてもよい。アプリケーション105からコンテンツ110を受信することができ、処理することができるプリントインタフェース130は、グラフィックスレイヤーコンポーネント125の範囲内に含まれる。プリントインタフェース130は、コンテンツ110をプリントスプールファイル135に保存するのに適したスプールファイル表現140に変換する。次いで、スプールファイル表現140は、プリントサブシステム145に送信される。
プリントサブシステム145は、プリントインタフェース130からコンテンツ110のスプールファイル表現140を受信するスプーラ、またはスプーリングプロセス150も備える。スプーリングプロセス150は、例えば、デバイス115上の入力コンテンツ110のためにプリントジョブを予定し、デバイスドライバ155および/またはデバイス115による処理を待つために、スプールファイル135の上記ジョブを待ち行列に入れる。
プリントサブシステム145は、順番に構成モジュール160とフィルタパイプライン165を含むことができるデバイスドライバ155も備える。構成モジュール160は、デバイス115と関連するプリントまたは他のデバイス設定を公開し、処理すると共に、デバイスドライバ155と関連するユーザインターフェース(UI)を表示することができる。フィルタパイプライン165は、一般にスプールファイル135に保存されるコンテンツ110を翻訳し、同じ内容を対応するPDL命令170に変換するように機能する。PDL命令170は、フィルタパイプライン165からの出力であり、デバイス115により翻訳される可能性がある。考察の便宜のために、しかし限定ではなく、スプールファイル135と、フィルタパイプライン165と、これらの構成要素間のデータフロー175は、プリントスプーラ180の一部として示される。
図2は、図1に示すようにプリントスプーラ180と関連するフィルタパイプライン165の詳細をさらに例示する。図1および図2の両方に表示されている参照番号は、同一か類似した主題を示す。スプールファイル135から読み込まれるデータ175は、フィルタパイプライン165に通過される。フィルタパイプライン165は、1以上のそれぞれのフィルタ205(1)と、205(2)と、205(3)とを含む可能性があり、それは便宜のために、フィルタ205として集合的にここに示される。図2に示される実例となる実施形態は、考察と説明の便宜のために3つのそのようなフィルタ205を具備し、しかしこの実例となる実施形態は、非限定的なものであることが理解される。さらに詳細には、これらのフィルタ205は、1以上の一般フィルタ205に集積されることができたか、多くのフィルタ205にさらに分配されることができた。さらに、フィルタパイプライン165を定義するこれらのフィルタ205は、所望の実施において物理的に具体例をあげて示される必要はないが、様々な機能の考察を体系づけるためにここに提示される論理的フィルタ205とみなされる可能性がある。
詳細にこれらのフィルタ205に目を向けて、プリレンダリングフィルタ205(1)は、入力210(1)としてスプールファイル135からスプールデータ175を受信できる。プリレンダリングフィルタ205(1)は、スプールデータ175がPDL170に翻訳され、デバイス115上の具体的な出力にレンダリングされる前に、その上で適切ないずれかの前処理を実行する。プリレンダリングフィルタ205(1)により実行される処理の非限定的な例は、フィルタパイプライン165を通過するコンテンツ110に透かしまたは他の類似した特徴を追加することのようなプリント処理機能の一組を提供することを含むことができる。そのような処理の別の例は、指定された命令、またはその種の他のものにおけるページをプリントして本またはパンフレット形式でプリントするためにコンテンツ110のページを組織することのようなアプリケーション105により特定されるようにコンテンツ110を配置するか、体系付けることを具備する可能性がある。
図2が便宜と明快さのために1つのプリレンダリングフィルタ205(1)を示す一方で、例えば、1以上のプリレンダリングフィルタ205(1)がここでのそれぞれのプリレンダリング機能を実行する教えの機能に含まれる可能性があるものと理解される。いずれにしても、プリレンダリングフィルタ205(1)は、入力としてレンダリングフィルタ205(2)に、その出力210(2)を渡すことができる。
レンダリングフィルタ205(2)は、少なくとも1部分において、データ210(2)を、デバイス115により認識され翻訳可能であるPDL表現に変換するように必要に応じて機能する。そうする場合に、レンダリングフィルタ205(2)は、デバイス115上の処理エンジンにより翻訳されることができるフォーマットに、コンテンツ110をレンダリングする。レンダリングフィルタ205(2)は、上述で考察されたプリレンダリングフィルタ205(1)と同様に、1以上のフィルタ205として認識されることができる。いずれにしても、レンダリングフィルタ205(2)は、入力としてポストレンダリングフィルタ205(3)に、その出力210(3)を渡すことができる。
ポストレンダリングフィルタ205(3)は、レンダリングフィルタ205(2)により実施される処理後、論理的に生じるどんな機能でも実施できる。そのような処理の非制限的な例は、例えばチャージバックの目的のための特定のユーザまたはアプリケーション105によりプリントされるページのトラック数のようなアカウント関連機能を実施することを含むことができる。ポストレンダリングフィルタ215は、また例えば、特定のユーザまたはユーザのグループに関連した予め定義されたプリントに対するプリントされたページの数をチェックするために使用される。ポストレンダリングフィルタ205(3)は、上記で考察されたようにプリレンダリングフィルタ205(1)およびレンダリングフィルタ205(2)と同様に、1以上のフィルタ205として実現されることが可能である。
フィルタパイプライン165は、例えばプリントのコンテクストでスプールフォーマットをPDLフォーマットに変換するように機能できることが理解される。この場合、データは図2に示すように、フィルタパイプライン165のトップからボトムへと流れる。フィルタパイプライン165は、さらに例えばスキャンかまたはファックスのコンテクストでPDLフォーマットをスプールフォーマットに変換するように機能できることが理解される。この場合、データは図2で示すように、フィルタパイプライン165のボトムからトップへと流れる。また一時的に図1と図2を参照すると、データは、アーキテクチャ100を通してデバイス115からアプリケーション105へ流れる可能性がある。従って、図1および図2に示される矢印は、双方向のデータフローの記号を示す。このコンテクストにおいて、例えば、デバイス115は、スキャナまたはファックスの形態をとる可能性があり、コンテンツ110は、スキャナまたはファックスにより作成される文書の画像の形態をとる可能性がある。従って、スキャナまたはファックス機の出力は、例えばユーザによる視聴のためのアプリケーション105におけるコンテンツ110をレンダリングするのに適切であるように変換される可能性がある。
フィルタ205は、これらの関連する機能またはサービスをそれら自身で実行することができ、またはこれらは、これらの機能またはサービスを実行するためのプリントサブシステム145により提供されるサービスを呼び出すことができる。フィルタ205は、これらの機能の全体または一部を実行するために、サードパーティのサービスを呼び出すこともできる。非限定的な例として、プリントサブシステム145は、スプールデータ175をデバイス115上で具体的な形態で生成される画像データに変換する、すなわち「紙」の上にコンテンツ110をおく、レンダリングフィルタまたはレンダリングエンジン205(2)を提供できる。プリントサブシステム145は、特定のコンテンツ110をレンダリングすることと関連して起こる透明度と、重複部分と、他の類似した問題を解決するために機能するできる分解サービスを提供することもできる。
プリントサブシステム145は、特定のデバイス115および/または関連するデバイスドライバ155に適切な構成サービスをさらに提供することができる。さらに詳しくは、これらの構成サービスは、デバイス115によりサポートされる様々な出力オプションのデバイスパラメータの定義を可能にすることができる。例えば、もしスプールファイル135がデュプレキシング機能を実施するための高水準コマンドを具備する場合、構成サービスは、デュプレキシングをオンにするか、可能にする特定のデバイスか、またはPDLコマンドを返信することができる。また、構成サービスは、構成モジュール160の機能をフィルタパイプライン165に公開することができる。
ポートモニタ220は、フィルタパイプライン165の出力210(4)を受信して、そのデバイス115に適応され、または使用される通信プロトコルを使用してデバイス115にこのデータを通信する。特定のプロトコルは、典型的にデバイス115に従い変化する。
図3は、フィルタのパイプライン内のスプールファイルとPDLとの間で変換するために実施されるプロセスフロー300を例示する。図1および図2に示されるアーキテクチャ100は、プロセスフロー300を実行することに適応される可能性がある一方で、プロセスフロー300は、他の構造を使用して実行される可能性もある。ブロック305において、コンテンツ110は、デバイス115上のコンテンツをレンダリングする要求と関連して受信される。ブロック310において、プロセス300は、スプールファイルフォーマットへのコンテンツ110の変換が必要とされるかどうか確定する。より詳しくは、プロセス300は、コンテンツ110がスプールファイル135での保存に関して互換性を有するフォーマットであるかどうかを評価する。
ブロック310から、もしコンテンツ110がスプール互換フォーマットに変換することである場合、プロセス300はブロック315に進み、そこでコンテンツ110は、スプール互換フォーマットに変換される。その後、プロセス300は、ブロック320に進み、そこで変換されたコンテンツ110はスプールファイル135にスプールされる。ブロック310に戻り、もしアプリケーション105から受信されたときコンテンツ110がスプールファイル135とすでに互換性を有する場合、次いでコンテンツはブロック315をバイパスして、ブロック320において直接スプールファイル135にスプールされる。
コンテンツ110がブロック320においてスプールファイル135にスプールされた後、プロセス300はブロック325に進み、そこでプロセス300はいずれかの処理がコンテンツ110のPDLフォーマットへの変換が必要とされるかどうかを評価するために必要とされるか、具備するかどうかを限定ではなく決定する。より詳しくは、もしブロック325により受信されるようなコンテンツ110が、デバイス115により翻訳できない場合、デバイス115により翻訳可能であるPDLフォーマットへの変換は、適切である。ブロック325から、もしPDLフォーマットへの変換が必要とされる場合、プロセス300は、コンテンツ110をデバイス115により翻訳可能であるPDLフォーマットに変換するブロック330に進む。その後、ブロック335において、コンテンツ110はデバイス115においてレンダリングされる。
ブロック325に戻り、もしブロック325により受信されるコンテンツ110が、デバイス115によりすでに翻訳可能である場合には、次いでPDLフォーマットへの変換は必要とされない。この場合、プロセス300は、デバイス115上のコンテンツ110をレンダリングするためにブロック335に直接進むことができる。あるいは、プロセス300は、フィルタパイプライン165内で、図2に示されるブロック205(1)およびブロック205(3)により表現されるプリレンダリング、またはポストレンダリング機能を実行するために、ブロック340を通過することができる。ブロック340は、点線の枠内に、プリレンダリング、またはポストレンダリング機能がサポートされていない場所に示され、プロセス300がブロック335に直接進む可能性があることを示す。
METRO仕様、およびリファレンスガイドは、マイクロソフト株式会社から入手可能であり、コンテンツとページ付けされた文書の表現を記述するためのXMLと他の広く利用可能な技術の使用のための一組の規則のコード名であるMETROの説明を含む。このように、METRO規則は、アプリケーションコンテンツ110、スプールファイル135のコンテンツ、および/またはPDL170を表現するのに適したフォーマットを提供するために供給される可能性がある。このように、もしコンテンツ110がMETRO仕様または同様のフォーマットに準拠している場合には、コンテンツ110は比較的速く、図3に示されるプロセス300を比較的速く通過する可能性がある。さらに詳細には、このコンテンツ110は、処理ブロック305、320、および335に遭遇し、判定ブロック310および325の両方からNOの枝を選択することにより、変換ブロック315および330を避ける。
もしアプリケーション105から受信されるようにコンテンツ110は、METRO規則または同様の仕様に準拠していない場合には、次いで判定ブロック310はコンテンツ110を変換ブロック315に向ける。例えば、変換ブロック315は、コンテンツ110をメトロ規則または同様に仕様に変換することができる。その後、メトロ規則がPDLとして提供できる可能性もあるので、コンテンツ110はブロック320によりスプールされる可能性があり、さらに変換ブロック330をバイパスする可能性もある。
デバイス115の様々なベンダーまたはプロバイダおよび/またはデバイスドライバ155がフィルタパイプライン165への編入のためにフィルタ205を提供する可能性もあることが特にここで意図される。例えば、所定のデバイス115のメーカーは、コンテンツ110および/またはスプールファイルデータ175を、デバイス115により翻訳可能であるPDLフォーマット170に変換し、またはその逆を行うレンダリングフィルタ205(2)を提供する可能性がある。このように、フィルタパイプライン165のモジュラーアーキテクチャは、所望の機能を達成するのに適切であるように配置されるため、フィルタ205のいずれかの数および/または形式を可能とする。このモジュラーアーキテクチャは、これらがデバイス115および/またはデバイスドライバ115の様々な開発者によりリリースされる可能性があるので、さらなるPDLをサポートするために柔軟性も提供する。例えば、このモジュラー構造は、さらにMETROフォーマットまたは上記を参照する規則から現在または将来に利用可能ないずれかのPDLに変換すること、またはその逆も可能である。
図4は、ここに記述されるアーキテクチャ100と同様のモジュラフィルタのパイプライン内で、スプールファイルとPDLとの間で変換を実施するシステムおよび方法が完全に、または部分的に実装される可能性のある典型的なコンピューティング環境400を例示する。典型的なコンピューティング環境400は、コンピューティングシステムの1つの例であるのみで、使用の範囲またはアーキテクチャの機能に関して少しの限定も提案することを目的としない。コンピューティング環境400は、コンポーネントのいずれか1つまたは組合せに関していずれかの依存性または必要条件を典型的なコンピューティング環境400において例証されるものと解釈されてはならない。
コンピューティング環境400においてコンピュータおよびネットワークアーキテクチャは、多数の他の一般的目的か、または特別な目的のコンピューティングシステム環境または構成で実装される可能性がある。使用に適合する可能性のある良く知られたコンピュータシステム、環境、および/または構成の例は、限定ではないが、パーソナルコンピュータ、サーバコンピュータ、クライアントデバイス、ハンドヘルドまたはラップトップデバイス、マイクロプロセッサベースシステム、マルチプロセッサシステム、セットトップボックス、プログラム可能な家電、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、ゲームコンソール、上記のシステムまたはデバイスなどのいずれか含む分散コンピューティング環境などを含む。
コンピューティング環境400は、コンピューティングデバイス402の形態の汎用目的コンピューティングシステムを具備する。コンピューティングデバイス402のコンポーネントは、限定ではないが、例えばマイクロプロセッサ、コントローラなどのいずれか1つ以上のプロセッサ404、システムメモリ406、および様々なシステムコンポーネントに結合するシステムバス408を具備することができる。1つ以上のプロセッサ404は、コンピューティングデバイス402の機能を制御し、他の電子およびコンピューティングデバイスと通信するための、様々なコンピュータ実行可能命令を処理する。システムバス408は、メモリバスまたはメモリコントローラ、周辺バス、アクセルレートグラフィックバス、および様々なバスアーキテクチャのいずれかを使用するプロセッサまたはローカルバスを具備する数種類の多くのバス構造を表現する。
コンピューティング環境400は、コンピューティングデバイス402によりアクセス可能であり、揮発性および不揮発性メディアの両方で、取り外し可能および取り外し不可能ないずれかのメディアである可能性がある様々なコンピュータ可読媒体を具備する。システムメモリ406は、ランダムアクセスメモリ(RAM)410のような揮発性メモリ、および/またはリードオンリーメモリ(ROM)412のような不揮発性メモリの形態のコンピュータ可読媒体を具備する。基礎入力/出力システム(BIOS)414は、コンピューティングデバイス402の範囲内でコンポーネント間の情報送信を容易にする基本的なルーチンを維持し、例えばスタートアップの間に、ROM412に保存される。RAM410は、一般的に1つ以上のプロセッサ404によりすぐにアクセスでき、および/または現在作用されるデータおよび/またはプログラムモジュールを一般的に具備する。
コンピューティングデバイス402は、他の取り外し可能/取り外し不可能で、揮発性/不揮発性のコンピュータストレージメディアを含む可能性がある。例証として、ハードディスクデバイス416は、取り外し不可能な、不揮発性磁気メディア(図示せず)から読み出しおよび書き込み、磁気ディスクドライブ418は、取り外し可能な、不揮発性磁気ディスク420(例えば「フロッピー(登録商標)ディスク」)から読み出しおよび書き込み、そして光学ディスクドライブ422は、取り外し可能な、不揮発性の例えばCD−ROM、デジタル多用途ディスク(DVD)、または他のいずれかの形態の光学メディアのような光ディスク424から読み出しおよび書き込みを行う。この例では、ハードディスクデバイス416、磁気ディスクドライブ418、および光学ディスクドライブ422は、それぞれ1以上のデータメディアインターフェース426によりシステムバス408に接続される。ディスクドライブおよび関連コンピュータ可読メディアは、コンピュータ可読命令、データ構造、プログラムモジュール、およびコンピューティングデバイス402のための他のデータの不揮発性記憶を提供する。
多くのプログラムモジュールは、例としてオペレーティングシステム428、1つ以上のアプリケーションプログラム430、他のプログラムモジュール432、およびプログラムデータ434を保存するRAM410、ROM412、ハードディスク416、磁気ディスク420、および/または光ディスク424に保存される可能性がある。各々そのようなオペレーティングシステム428、アプリケーションプログラム430、他のプログラムモジュール432、プログラムデータ434、またはそのいずれかの組合せが、ここに記述されるシステムおよび方法の1つ以上の実施形態を含む可能性がある。
コンピューティングデバイス402は、コミュニケーションメディアとして特定される様々なコンピュータ可読メディアを含むことができる。コミュニケーションメディアは、一般的にコンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを搬送波または他の転送機構のような調整されたデータ信号で具体化され、いずれかの情報デリバリーメディアも具備する。「調整されたデータ信号」の用語は、設定されるか、情報を信号にコード化しながらこのような方法で変化するその特徴の1つ以上を有する信号を示す。例として、限定としてではなく、コミュニケーションメディアは、例えば有線のネットワークまたはダイレクト配線接続のような有線メディアと、および例えば音響、RF、赤外線、他のワイヤレスメディアやそのいずれかの組合せのような無線メディアを具備する。
ユーザは、例えばキーボード436とポインティングデバイス438(例えば「マウス」)のような多くの異なる入力デバイスを介して、コンピューティングデバイス402と接続することができる。他の入力デバイス440(特に示されない)は、マイクロフォン、ジョイスティック、ゲームパッド、コントローラ、衛星アンテナ、シリアルポート、スキャナ、ファックス機および/またはそのような物を含む可能性がある。これらと他の入力デバイスは、システムバス408に結合される入出力インタフェース442を介してプロセッサ404に接続されるが、例えばパラレルポート、ゲームポートや一般的なシリアルバス(USB)のような他のインタフェースおよびバス構築物により接続される可能性がある。
表示デバイス444(または他のタイプのモニター)は、例えばビデオアダプタ446のようなインタフェースを介して、システムバス408に接続される可能性がある。表示デバイス444に加えて、他の出力周辺デバイスは、例えば話者(図示せず)のようなコンポーネントと入出力インタフェース442を介してコンピューティングデバイス402に接続されるプリンタ448を含むことができる。
コンピューティングデバイス402は、例えばリモートコンピュータ450のような1つ以上のリモートコンピュータへの論理的接続を使用するネットワーク化された環境において動作することができる。例証として、リモートコンピューティングデバイス450は、パソコン、ポータブルコンピュータ、サーバー、ルータ、ネットワークコンピュータ、ピアデバイス、または他の一般的なネットワークノード等である可能性がある。リモートコンピューティングデバイス450は、コンピューティングデバイス402と比較してここに記述される異なるコンポーネント、要素、および特徴のいくつかおよびその組合せを含むことができるポータブルコンピュータとして例示される。
コンピューティングデバイス402とリモートコンピューティングデバイス405間の論理接続は、ローカルエリアネットワーク(LAN)452、および一般的なワイドエリアネットワーク(WAN)454として記述される。そのようなネットワーク環境は、オフィス、企業に広がるコンピュータネットワーク、イントラネット、およびインターネットにおいてありふれている。LANネットワーク環境で実施されるとき、コンピューティングデバイス402は、ネットワークインターフェースまたはアダプター456によりローカルネットワーク452に接続される。WANネットワーク環境で実施されるとき、コンピューティングデバイス402は、一般的にワイドエリアネットワーク454について通信を確立するためにモデム458または他の手段を含む。モデム458は、コンピューティングデバイス402の内臓または外部である可能性があり、入出力インタフェース442または他の適切なメカニズムを介してシステムバス408に接続される可能性がある。例示されたネットワーク接続は、単に典型的なだけであり、そしてコンピューティングデバイス402と450との間の通信リンクを確立する他の手段が利用される可能性がある。
コンピューティング環境400で例示されるようなネットワーク環境において、コンピューティングデバイス402と比較して記述されるプログラムモジュール、またはその部分は、リモートメモリ記憶デバイスに保存される可能性がある。例証として、リモートアプリケーションプログラム460は、リモートコンピューティングデバイス450のメモリデバイスで維持される。説明の便宜のために、アプリケーションプログラムと、例えばオペレーティングシステム428のような、他の実行可能プログラムコンポーネントは、別々のブロックとしてここに例示されるが、そのようなプログラムとコンポーネントが様々な時にコンピューティングデバイス402の異なるストレージコンポーネントにおいて、コンピューティングデバイス402の1つ以上のプロセッサ404により実行されると認められる。
モジュラフィルタのパイプライン内でスプールファイルとPDLとの間の変換を実施することの実施形態が構造特徴および/または方法を特定する言語で記述されたが、添付のクレームの対象が記述される特定の特徴または方法に必ずしも限定されると理解されるべきではない。むしろ、特定の特徴および方法は、モジュラフィルタのパイプライン内でのスプールファイルとPDLとの間の変換を実施することの典型的な実施形態として明らかにされる。
モジュラフィルタのパイプライン内でのスプールファイルとPDLとの間の変換を実行するための構造を示すブロック図である。 図1に示すプリントスプーラと、関連するフィルタのパイプラインとをさらに詳細に示すブロック図である。 図1および図2に示される構造により実行される処理フローのフローチャートである。 ここに記述されるアーキテクチャと同様に、モジュラフィルタのパイプライン内でスプールファイルとPDLとの間で変換を実行するシステムおよび方法が、完全にまたは部分的に実装される可能性のある例示的なコンピュータ環境を示す図である。

Claims (20)

  1. デバイス上でレンダリングされるコンテンツを受信するように適応されるスプーラと、
    前記デバイス上でレンダリングする前記コンテンツを変換するように適応される少なくとも1つのフィルタと
    を備えることを特徴とするシステム。
  2. 前記スプーラの出力をストアするように適応されたスプールファイルをさらに備え、
    前記少なくとも1つのフィルタは、前記スプールファイルからの入力を受信するように適応されることを特徴とする請求項1に記載のシステム。
  3. 前記フィルタは、ローカルプリントサブシステムを使用してレンダリングを実施するように適応されることを特徴とする請求項1に記載のシステム。
  4. 前記フィルタは、サードパーティサービスを使用してレンダリングを実行するように適応されることを特徴とする請求項1に記載のシステム。
  5. 前記フィルタは、所定のジョブと関連付けられたスプールファイルで特定される前記デバイスの少なくとも1つのセッティングに基づき少なくとも1つの所定のジョブのためにレンダリングを変更するように適応されることを特徴とする請求項1に記載のシステム。
  6. 前記フィルタは、前記デバイスにより直接翻訳可能である出力を生成するように適応されることを特徴とする請求項1に記載のシステム。
  7. 前記フィルタは、前記デバイスと関連付けられたデバイスドライバに含まれることを特徴とする請求項1に記載のシステム。
  8. 前記フィルタは、前記スプーラに具備されることを特徴とする請求項1に記載のシステム。
  9. デバイス上でレンダリングされるコンテンツを受信するように適応されるスプーラと、
    前記デバイス上でレンダリングする前記コンテンツを変換するように適応されるフィルタのパイプラインと
    を備えることを特徴とするシステム。
  10. 前記フィルタのパイプラインは、プリレンダリングフィルタと、少なくとも1つのレンダリングフィルタと、ポストレンダリングフィルタとを具備することを特徴とする請求項9に記載のシステム。
  11. 前記スプーラの出力をストアするように適応されたスプールファイルをさらに備え、
    前記フィルタのパイプラインの第1のフィルタは、前記スプールファイルから入力を受信するように適応されることを特徴とする請求項9に記載のシステム。
  12. 前記フィルタのパイプラインの少なくとも1つのフィルタは、前記所定のジョブと関連付けられたスプールファイルで特定される前記デバイスの少なくとも1つのセッティングに基づき少なくとも1つの所定のジョブのためにレンダリングを変更するように適応されることを特徴とする請求項9に記載のシステム。
  13. 前記フィルタのパイプラインの最後のフィルタは、前記デバイスにより直接翻訳可能である出力を生成するように適応されることを特徴とする請求項9に記載のシステム。
  14. 前記フィルタのパイプラインは、前記スプーラに具備されることを特徴とする請求項9に記載のシステム。
  15. デバイス上でレンダリングされるコンテンツを受信する段階と、
    前記デバイス上でレンダリングするコンテンツを変換するように適応される少なくとも1つのフィルタにコンテンツをルーティングする段階と
    を備えることを特徴とする方法。
  16. 要求を受信することは、プリンタ上で前記コンテンツをプリントするための要求を受信することを具備することを特徴とする請求項15に記載の方法。
  17. 前記コンテンツをルーティングする段階は、前記デバイス上で前記コンテンツをレンダリングするように適応されるフィルタのパイプラインに前記コンテンツをルーティングする段階を具備することを特徴とする請求項15に記載の方法。
  18. 前記デバイスによりスプールファイルフォーマットから翻訳可能なフォーマットに前記コンテンツを変換する段階を更に備えることを特徴とする請求項15に記載の方法。
  19. 前記変換する段階は、フィルタのパイプラインの範囲内で実施されることを特徴とする請求項18に記載の方法。
  20. 前記コンテンツを変換する段階は、前記デバイスにより前記コンテンツを直接翻訳可能なフォーマットに変換する段階を具備することを特徴とする請求項18に記載の方法。
JP2008521532A 2005-07-13 2006-07-11 モジュラフィルタのパイプライン内でのスプールファイルとpdlとの間の変換 Pending JP2009516235A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/180,983 US7505170B2 (en) 2005-07-13 2005-07-13 Conversions between spool files and PDL within a pipeline of modular filters
PCT/US2006/026912 WO2007008911A2 (en) 2005-07-13 2006-07-11 Conversions between spool files and a pdl within a pipeline of modular filters

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2012003095U Continuation JP3177479U (ja) 2005-07-13 2012-05-25 モジュラフィルタのパイプライン内でのスプールファイルとpdlとの間の変換

Publications (2)

Publication Number Publication Date
JP2009516235A true JP2009516235A (ja) 2009-04-16
JP2009516235A5 JP2009516235A5 (ja) 2011-12-15

Family

ID=37637891

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2008521532A Pending JP2009516235A (ja) 2005-07-13 2006-07-11 モジュラフィルタのパイプライン内でのスプールファイルとpdlとの間の変換
JP2012003095U Expired - Fee Related JP3177479U (ja) 2005-07-13 2012-05-25 モジュラフィルタのパイプライン内でのスプールファイルとpdlとの間の変換

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2012003095U Expired - Fee Related JP3177479U (ja) 2005-07-13 2012-05-25 モジュラフィルタのパイプライン内でのスプールファイルとpdlとの間の変換

Country Status (3)

Country Link
US (1) US7505170B2 (ja)
JP (2) JP2009516235A (ja)
WO (1) WO2007008911A2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080225310A1 (en) * 2007-03-15 2008-09-18 Canon Kabushiki Kaisha Data processing using print driver
US8452983B2 (en) * 2007-03-23 2013-05-28 Siemens Product Lifecycle Management Software Inc. System and method for protecting numerical control codes
US8493600B2 (en) * 2010-12-14 2013-07-23 Microsoft Corporation Multi-layered printer driver model
US8904048B2 (en) 2011-09-08 2014-12-02 Microsoft Corporation Bidi extension for connected devices

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06243210A (ja) * 1993-02-19 1994-09-02 Canon Inc 画像処理装置及び方法
JPH07160484A (ja) * 1993-12-02 1995-06-23 Fuji Xerox Co Ltd ジョブ処理実行システム
JPH10289066A (ja) * 1997-04-11 1998-10-27 Canon Inc 画像処理装置及びその方法
JPH11235850A (ja) * 1998-02-23 1999-08-31 Canon Inc 出力装置と画像データの出力方法、及び情報処理システム
JPH11296335A (ja) * 1998-02-10 1999-10-29 Seiko Epson Corp 印刷データのプレビュー方法および装置、記録媒体
JP2001117911A (ja) * 1999-09-20 2001-04-27 Dell Products Lp Xmlサーバページ言語
JP2002519792A (ja) * 1998-06-30 2002-07-02 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ハードウェア・アクセラレーティド・レンダリング・アーキテクチャにおいて3dデータを変換するフィルタ
JP2002196904A (ja) * 2000-11-09 2002-07-12 Texas Instruments Inc プリントドキュメントを指定するページ記述データをピクセルデータへ変換する方法
JP2003216371A (ja) * 2002-01-22 2003-07-31 Seiko Epson Corp プリンタドライバプログラム
JP2004186867A (ja) * 2002-12-02 2004-07-02 Konica Minolta Holdings Inc 画像処理装置および画像処理システム
JP2004213671A (ja) * 2003-01-03 2004-07-29 Microsoft Corp ネットワークにおいて印刷ドキュメントをクライアントサイドでレンダリングする方法、システム、およびコンピュータ可読媒体
JP2005176317A (ja) * 2003-10-30 2005-06-30 Sharp Corp ドキュメント処理データ生成可能なスキャンサブシステム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6661526B1 (en) * 1999-05-04 2003-12-09 Hewlett-Packard Development Company, L.P. Printer drivers using filters that are operating system-independent and printer-independent
JP2005018494A (ja) * 2003-06-27 2005-01-20 Canon Inc データ処理装置および印刷データ生成方法およびコンピュータが読取り可能なプログラムを格納した記憶媒体およびプログラム

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06243210A (ja) * 1993-02-19 1994-09-02 Canon Inc 画像処理装置及び方法
JPH07160484A (ja) * 1993-12-02 1995-06-23 Fuji Xerox Co Ltd ジョブ処理実行システム
JPH10289066A (ja) * 1997-04-11 1998-10-27 Canon Inc 画像処理装置及びその方法
JPH11296335A (ja) * 1998-02-10 1999-10-29 Seiko Epson Corp 印刷データのプレビュー方法および装置、記録媒体
JPH11235850A (ja) * 1998-02-23 1999-08-31 Canon Inc 出力装置と画像データの出力方法、及び情報処理システム
JP2002519792A (ja) * 1998-06-30 2002-07-02 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ハードウェア・アクセラレーティド・レンダリング・アーキテクチャにおいて3dデータを変換するフィルタ
JP2001117911A (ja) * 1999-09-20 2001-04-27 Dell Products Lp Xmlサーバページ言語
JP2002196904A (ja) * 2000-11-09 2002-07-12 Texas Instruments Inc プリントドキュメントを指定するページ記述データをピクセルデータへ変換する方法
JP2003216371A (ja) * 2002-01-22 2003-07-31 Seiko Epson Corp プリンタドライバプログラム
JP2004186867A (ja) * 2002-12-02 2004-07-02 Konica Minolta Holdings Inc 画像処理装置および画像処理システム
JP2004213671A (ja) * 2003-01-03 2004-07-29 Microsoft Corp ネットワークにおいて印刷ドキュメントをクライアントサイドでレンダリングする方法、システム、およびコンピュータ可読媒体
JP2005176317A (ja) * 2003-10-30 2005-06-30 Sharp Corp ドキュメント処理データ生成可能なスキャンサブシステム

Also Published As

Publication number Publication date
JP3177479U (ja) 2012-08-02
WO2007008911A3 (en) 2009-04-23
US20070013930A1 (en) 2007-01-18
WO2007008911A2 (en) 2007-01-18
US7505170B2 (en) 2009-03-17

Similar Documents

Publication Publication Date Title
US7136941B2 (en) Print management architecture for computing devices having a set of filters functions wherein the functions are prevented from conflicting with one another
US7992145B2 (en) Multilevel ticket-based job management architecture for computing devices
US8120802B2 (en) System and method for securely accessing downloaded print job resources
JP4563161B2 (ja) バックプレーン
US7949741B2 (en) Printer user interface redirection over a terminal services session
US8654388B2 (en) Information processing apparatus that transforms an output setting of a predetermined format into a setting described in an original format
US20060146353A1 (en) Strategies for rendering job information using a multi-personality driver device
US20060262336A1 (en) Manual annotation document reformation
JP3177479U (ja) モジュラフィルタのパイプライン内でのスプールファイルとpdlとの間の変換
JP2010113623A (ja) 情報処理装置及び印刷制御方法
US7480068B2 (en) Methods and systems for page-independent spool file sheet assembly
JP2009301289A (ja) 情報処理装置、データ出力システム、データ生成プログラム及びその記録媒体
US7973967B2 (en) Pseudo-multithread framework for XPSDrv filter pipeline
JP5261250B2 (ja) ページ記述言語を処理する印刷データ処理装置、方法及びコンピュータ可読媒体
US20170249108A1 (en) Information processing apparatus, control method, and storage medium
US20100214599A1 (en) Method for printing with XPSDrv printer driver
US8149430B2 (en) Dual-head or hybrid print driver supporting XPS and GDI print paths without performing data conversion between XPS to EMF or vice versa
JP2015121974A (ja) 情報処理装置、情報処理方法、およびプログラム
US20060221382A1 (en) Supporting a filter pipeline for a spooling module
US10002314B2 (en) Information processing apparatus for efficiently issuing a print instruction to image forming apparatus and method for controlling the same
US20030227644A1 (en) Methods and systems for driver independent customized printing
US20120154860A1 (en) Information processing apparatus, printing control method, and storage medium
US8358436B2 (en) Systems and methods for efficiently handling imaging job settings
US7710602B2 (en) Systems and methods for context-based adaptive image processing using segmentation
JP2006260089A (ja) 印刷制御装置、印刷制御プログラムおよび記憶媒体

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090713

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090713

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090813

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090824

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110420

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110425

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110725

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110801

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110914

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110922

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20111025

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120125