JP2013045422A - 印刷データ処理方法、印刷データ処理装置及びプログラム - Google Patents
印刷データ処理方法、印刷データ処理装置及びプログラム Download PDFInfo
- Publication number
- JP2013045422A JP2013045422A JP2011185044A JP2011185044A JP2013045422A JP 2013045422 A JP2013045422 A JP 2013045422A JP 2011185044 A JP2011185044 A JP 2011185044A JP 2011185044 A JP2011185044 A JP 2011185044A JP 2013045422 A JP2013045422 A JP 2013045422A
- Authority
- JP
- Japan
- Prior art keywords
- print data
- filter
- input
- processing
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
- G06F3/1206—Improving or facilitating administration, e.g. print management resulting in increased flexibility in input data format or job format or job type
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1244—Job translation or job parsing, e.g. page banding
- G06F3/1245—Job translation or job parsing, e.g. page banding by conversion to intermediate or common format
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1244—Job translation or job parsing, e.g. page banding
- G06F3/1246—Job translation or job parsing, e.g. page banding by handling markup languages, e.g. XSL, XML, HTML
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1275—Print workflow management, e.g. defining or changing a workflow, cross publishing
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)
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
【解決手段】入出力インターフェースとしてstream形式のインターフェースを持つ第一のフィルターで印刷データを入力し記憶領域に格納する記憶工程と、第一のフィルターの後に位置し、入出力インターフェースとしてdocument形式のインターフェースを持つ第二のフィルターで、印刷データを構成するパーツを順次、入力し、解析する解析工程と、解析工程における解析の結果、印刷データより取得された印刷設定情報に従って、記憶工程で記憶領域に記憶された印刷データを処理する処理工程と、第二のフィルターで、印刷設定情報を取得したあと、以降のパーツの全部又は一部を入力せず処理を終了する終了工程と、を含むことによって課題を解決する。
【選択図】図8
Description
このように、仮想ドライバは、印刷指示を受けることで、あらゆるアプリケーションの文書を印刷データとして受け取り、処理することができる。また、仮想ドライバに対する処理内容を、印刷データに付加する印刷設定情報に記述する構成とすることで、ユーザーによる指示やその他条件に応じて、仮想ドライバの処理内容を変更することができる。
図1は、印刷装置2と印刷装置2に接続された情報処理装置(パソコン1)とによって構成される印刷システムの全体構成を概念的に表した一例を示す図である。
パソコン1は、入力インターフェース11とCPU12、ROM13、RAM14、外部記憶装置15、出力インターフェース16、表示部17、キーボード10、マウス18、入出力インターフェース19を有する。ROM13には初期化プログラムが入っており、外部記憶装置15にはアプリケーションプログラム群とOS(Operating System)、プリンタドライバやその他各種のデータが保存されている。RAM14は、外部記憶装置15にストアされる各種プログラムがワークメモリとして使用する。
CPU12がプログラム等に基づいて処理を実行することによって後述するソフトウェア構成が実現されたり、後述するフローチャートの処理が実現されたりする。
印刷装置2は、入出力インターフェース21とRAM22、プリントエンジン23、ROM24、CPU25を有する。入出力インターフェース21は、パソコン1の入出力インターフェース19に接続してある。RAM22は、CPU25の主メモリとワークメモリとして用いられ、受信した印刷ジョブを一旦保存するための受信バッファや各種のデータを保存する。プリントエンジン23は、RAM22に保存されたデータに基づき印刷を行う。ROM24には各種の制御プログラムが使用するデータが入っており、CPU25はこれらの制御プログラムに従って印刷装置2の各部を制御する。
ここでは、例としてパソコン1と印刷装置2との処理分担を上記のように示したが、特にこの分担形態に限らず他の形態であってもよい。
なお、パソコン1は、印刷データ処理装置(コンピュータ)の一例である。
ブラウザー201は、Webページを表示するためのアプリケーションである。ブラウザー201は、不図示のインターネットを介して不図示のWWWサーバから受信した構造化文書を外部記憶装置15へダウンロードし、それに基づいて表示部17へ表示させる。Webページは、HTMLやXHTML等の構造化文書ファイルであり、テキストや画像等の要素がタグを用いて記述されている。
アドオン202は、ブラウザー201から呼び出されるプラグインソフトウェアである。アドオン202は、Webページの印刷やプレビュー、一部領域のクリップ等の処理の実行をユーザーから受け付けるユーザーインターフェースを持つ。アドオン202は、ユーザーからの入力に応じて、ブラウザー201に対し現在表示されているWebページを仮想ドライバ203に対して印刷するよう指示する。仮想ドライバ203は、特定の印刷装置に接続されず、スプールされた印刷データを外部記憶装置15やRAM14に保存するよう構成される仮想的なプリンタドライバである。アドオン202は、印刷を指示する際に指定する印刷設定情報の予め決められた場所に、印刷データの保存場所情報を含める。アドオン202が、仮想ドライバ203に対して、印刷データの保存場所情報を印刷設定情報に付加するよう依頼し、仮想ドライバ203が保存場所情報を含めるような構成としてもよい。ここで、印刷データの保存場所情報とは、例えばファイル名を含むフルパス等である。
アドオン202は、仮想ドライバ203に印刷を指示した後、発行した印刷ジョブが残存するか否かを定期的に後述するスプーラに問い合わせる。印刷ジョブが残存しない場合、アドオン202は、編集アプリケーション205を起動し、印刷データ204と、アドオン202のユーザーインターフェースを経由してユーザーから入力された指示と、を編集アプリケーション205に渡す。アドオン202は、指定した印刷データの保存場所に印刷データが存在するかどうかを定期的に確認することで、印刷データの保存完了を判定してもよい。
編集アプリケーション205は、受け取った指示に応じて、印刷データの編集や表示を行い、最終的にプリンタドライバ206に対して印刷要求を発行する。プリンタドライバ206は、編集アプリケーション205によって編集された印刷データを受け取り、印刷装置2が解釈可能な印刷コマンドに変換する。プリンタドライバ206は、印刷コマンドを印刷装置2に送信する。印刷装置2は、受け取った印刷コマンドを元に印刷処理を実行する。
また、本実施形態の印刷プログラムは、アドオン202が印刷データの保存場所を仮想ドライバ203に対して指定する構成とすることで、仮想ドライバ203とアドオン202や編集アプリケーション205との間で通信が発生しない。プリンタドライバである仮想ドライバ203と、ブラウザー201のプラグインソフトウェアであるアドオン202という特殊な条件下で動作する2つのプログラム同士の通信は避けることが好ましい。更に、アドオン202は各種制御を一元的に行うことができ、ユーザーからの各種要求のハンドリングを容易に行うことができる。
ブラウザー201等のアプリケーション301が作成した印刷データは、OSの印刷サポート機能302を介しスプールデータ305としてスプーラ303のプリントキュー304に一時的に蓄えられる。アプリケーション301の作成する印刷データの種類によっては、印刷データはOSの印刷サポート機能302は経由することなく、そのままスプールデータ305として蓄えられる。スプールデータ305は、名称等を付加した印刷ジョブとしてスプーラ303により管理される。印刷ジョブは、順次、仮想ドライバ203によって処理される。アプリケーション301は、印刷指示を行う際に、ユーザーインターフェースモジュール306から返却された印刷設定情報を印刷ジョブに付加する。印刷設定情報は、アプリケーション301からの印刷開始指示を行う前に予め設定された情報である。
通常、最後のフィルターは、入力した印刷データを印刷装置2が解釈可能な印刷コマンドに変換し、出力する。出力した印刷コマンドは、プリンタドライバに関連付けられたポートに対応するポートドライバーを経由して印刷装置2に到達する。本実施形態における仮想ドライバ203の出力ポートは、NULポートとしてある。NULポートは、入力したデータを全て無視するだけの論理的なポートである。仮想ドライバ203の役割は印刷データを外部記憶装置15に格納することであり、それはデータフィルター308によって実行される。したがって、データフィルター308は、あらゆるデータの出力を行わない。そのため、仮想ドライバ203の出力ポートは、NULポート以外であっても問題無い。また、データフィルター308は、印刷データと印刷データの保存場所情報とを出力し、ポートドライバーが印刷データを保存するように構成してもよい。
図3の例では、データフィルター308は、チケットフィルター307の後に位置している。
XPS stream形式のインターフェースでは、印刷データはバイトストリームとして扱われる。XPS document形式のインターフェースでは、印刷データであるXPSドキュメントがXPSパート単位で扱われる。ここでいうXPSパートとはFixedDocumentSequence(FDS)、FixedDocument(FD)、FixedPage(FP)とそれらに付随するPTや、画像、フォント等のリソースのことを指す。各フィルターは、入力と出力それぞれに対して、どちらかのインターフェースを利用するよう予め構成される。入力にXPS document形式のインターフェースを利用するフィルターは、XPSドキュメントを解析してXPSパートを抽出する必要が無い。そのため、XPS stream形式のフィルターに比べ、FPの変更が必要なレイアウト処理等の処理を容易に実施可能である。
チケットフィルター307は、入出力インターフェースとしてdocument形式のインターフェースを持つ第一のフィルターの一例である。データフィルター308は、入出力インターフェースとしてstream形式のインターフェースを持つ第二のフィルターの一例である。
スプールデータとして格納されているXPSドキュメント401は、チケットフィルター307に送られる。ここで、チケットフィルター307の入力インターフェースは、XPS document形式なので、XPSドキュメントはOSのフィルター管理機能402により複数のXPSパート403に分解されチケットフィルター307に送られる。チケットフィルター307は、分解されたXPSパートを、順次、受信することができる。例えば、スプールデータとして、XPSドキュメントの一部しか格納されていない状態であっても、チケットフィルター307は、格納が完了しているXPSパートから順次、受信することができる。
チケットフィルター307は、XPSパートのうち、PTを参照し、アプリケーションによって指定された印刷データの保存場所情報を取得する。チケットフィルター307は、印刷データの保存場所情報をデータフィルター308に通知する。チケットフィルター307の出力インターフェースもXPS document形式なので、チケットフィルター307は、受信したXPSパートをXPSパート単位で出力する。
この構成により、PTに指定された印刷データの保存場所にXPSドキュメントを保存するという目的を容易に実現することができる。何らかの機能を実現するために、それぞれのフィルター前後に別のフィルターが存在してもよい。仮に入出力インターフェースとしてXPS streamを利用するフィルターが全ての処理を行う場合、XPSドキュメントの構造に従い独自でXPSパートに展開する処理が必要であるが、これは技術的に容易では無い。また、バージョンアップ等に伴いXPSドキュメントの構造が変化した場合等に、独自の展開処理では正しく展開できない可能性がある。
前述の通り、チケットフィルター307は、入出力インターフェースとして、XPS document形式を利用する。チケットフィルター307は、XPSパートを、OSのフィルター管理機能402に対して要求する(S501)。OSのフィルター管理機能402は、要求に応じて、XPSパートを準備ができ次第、1つずつチケットフィルター307に渡す。
チケットフィルター307は、S501でXPSパートを取得できたかどうかを判定する(S502)。
XPSパートを取得できた場合、チケットフィルター307は、S501で入力したXPSパートがFDSであるかどうか判定する(S503)。
S503で入力したXPSパートがFDSであると判定した場合、チケットフィルター307は、FDSに関連付けられたPTを更に取得する(S504)。
チケットフィルター307は、S501で入力したXPSパートを次のフィルターに渡すよう、OSのフィルター管理機能402に対して指示する(S506)。チケットフィルター307が出力した印刷データは、OSのフィルター管理機能402によって、次のフィルターの入力インターフェースに応じた形式に変換された後、次のフィルターに渡される。
S503で入力したXPSパートがFDSではないと判定した場合、チケットフィルター307は、S504とS505との処理をスキップし、S506の処理を実行する。その後、チケットフィルター307は、S501の処理に戻り、取得したXPSに対してS501からS506までの処理を繰り返す。S502で、XPSパートを取得できなかったと判定した場合、チケットフィルター307は処理を終了する。
前述の通り、データフィルター308は、入出力インターフェースとして、XPS stream形式を利用する。データフィルター308は、PropertyBagに、印刷データの保存場所情報がないか問い合わせる(S601)。印刷データの保存場所情報は、チケットフィルター307のS505の処理によってPropertyBagに格納される。
データフィルター308は、S601の処理が成功したか否か判定する(S602)。
S602で、印刷データの保存場所情報の取得に失敗したと判定した場合、データフィルター308は、一定間隔、例えば100msecの間スリープした後、再度PropertyBagから印刷データの保存場所情報の取得を試みる(S601)。S602で、印刷データの保存場所情報の取得に成功したと判定した場合、データフィルター308は、一定サイズ、例えば2MByte分の印刷データを、OSのフィルター管理機能402に対して要求する(S603)。OSのフィルター管理機能402は、印刷データの先頭から順に要求されたサイズの印刷データが準備でき次第、データフィルター308に渡す。
次に、データフィルター308は、全ての印刷データを入力したかどうか判定する(S605)。OSのフィルター管理機能402は、データフィルター308による印刷データの要求(S603)がデータの末尾まで到達した場合、そのことを示す情報を返却する。データフィルター308は、この情報を参照し、全ての印刷データを入力したかどうかを判定する。S605で、全ての印刷データを入力していないと判定した場合、データフィルター308は、入力済みの印刷データの続きの印刷データの入力とファイルへの書き出し処理を行う(S603−S604)。S605で、全ての印刷データを入力したと判定した場合、データフィルター308は、処理を終了する。
本実施形態の仮想ドライバ203は、OSの機能を利用した簡易、かつ、堅牢性の高い構成で、印刷データを、印刷データ中の印刷設定情報に記載の印刷データ保存場所に保存することができる。
なお、本実施形態の構成は、印刷データを印刷データ中の印刷設定情報に従って処理する他の目的にも適用可能である。
図7は、実施形態2の印刷プログラム中の仮想ドライバ203の全体構成を概念的に表した一例を示す図である。図7に示す通り、本実施形態における仮想ドライバ203では、データフィルター308とチケットフィルター307との処理順が、実施形態1における仮想ドライバ203とは逆である。それらのフィルターの処理の詳細は後述する。フィルターの処理順と処理内容を除き、図7で示した仮想ドライバ203の構成は、実施形態1の図3で示した構成と同等である。なお、本実施形態における印刷システムの全体構成は実施形態1の図1と同等である。以後、特に言及が無い点は、実施形態1と同等の構成である。
図7の例では、チケットフィルター307は、データフィルター308の後に位置している。
実施形態1の図4で示したとおり、連続するフィルター間で、前のフィルターの出力インターフェースと、後のフィルターの入力インターフェースと、が異なる場合、OSのフィルター管理機能402による変換処理が動作する。XPSドキュメントの複雑さに依存するが、この変換処理は一定の処理時間を要する。したがって、XPSドライバで高速な処理を期待する場合、この変換処理ができるだけ発生しないようにフィルターを構成することが望ましい。
チケットフィルター307は、入出力インターフェースとしてXPS document形式を利用する。したがって、データフィルター308が出力したXPSドキュメント803は、OSのフィルター管理機能402により複数のXPSパート804に分解され、チケットフィルター307に渡される。チケットフィルター307は、XPSパートのうち、PTを参照し、アプリケーションによって指定された印刷データの保存場所情報を取得する。チケットフィルター307は、印刷データの保存場所情報をデータフィルター308に通知した後、それ以降のXPSパートを受信せず終了する。データフィルター308は、保存したXPSドキュメントを、チケットフィルター307により通知された印刷データの保存場所に、移動、又は複製する。
データフィルター308は、入出力インターフェースとしてstream形式のインターフェースを持つ第一のフィルターの一例である。チケットフィルター307は、入出力インターフェースとしてdocument形式のインターフェースを持つ第二のフィルターの一例である。
まず、データフィルター308は、後述する、格納した印刷データが残っていた場合、それらを削除する(S901)。この処理は、データフィルター308の処理がエラー終了する等して残った、以後の処理では不必要なファイルを削除することを目的とする。
前述の通り、データフィルター308は、入出力インターフェースとして、XPS stream形式を利用する。データフィルター308は、一定サイズ、例えば2MByte分の印刷データを、OSのフィルター管理機能402に対して要求する(S902)。
次に、データフィルター308は、入力した一定サイズの印刷データを次のフィルターに渡すよう、OSのフィルター管理機能402に対して指示する(S903)。
次に、データフィルター308は、取得した一定サイズの印刷データを、外部記憶装置15にファイルとして書き出す(S904)。一例として、データフィルター308は、仮想ドライバ203が管理する規定のフォルダの下にランダムな名称でファイルを作成する。なお、印刷データは、外部記憶装置15にではなく、RAM14上に記憶されてもよい。
S905で、全ての印刷データを入力したと判定した場合、データフィルター308は、PropertyBagに、印刷データの保存場所情報がないか問い合わせる(S906)。印刷データの保存場所情報は、後述するチケットフィルター307の処理によってPropertyBagに格納される。
データフィルター308は、S906の処理が成功したか否か判定する(S907)。
S907で、印刷データの保存場所情報の取得に失敗したと判定した場合、データフィルター308は、一定間隔、例えば100msecの間スリープした後、再度、PropertyBagから印刷データの保存場所情報の取得を試みる(S906)。
S907で、印刷データの保存場所情報の取得に成功したと判定した場合、データフィルター308は、S904で格納した印刷データを、取得した印刷データの保存場所に移動する(S908)。なお、この移動処理は、チケットフィルター307が実施してもよい。その場合、データフィルター308は、S904で格納した印刷データの場所を示す情報を、PropertyBagに格納する。チケットフィルター307は、PropertyBagから取得した場所に格納されている印刷データを、PT内の印刷データの保存場所に移動する。また、この移動処理は、移動処理専用のフィルターが実施してもよい。
前述の通り、チケットフィルター307は、入出力インターフェースとして、XPS document形式を利用する。チケットフィルター307は、XPSパートを、OSのフィルター管理機能402に対して要求する(S1001)。
チケットフィルター307は、S1001で入力したXPSパートがFDSであるかどうか判定する(S1002)。S1002で入力したXPSパートがFDSでは無いと判定した場合、チケットフィルター307は、FDSを入力するまでXPSパートの要求を繰り返す(S1001−S1002)。FDSは、XPSドキュメントの論理構造においてFPやFDの上位に存在する。OSのフィルター管理機能402は、XPSドキュメントの論理構造における上位パーツから順番に渡すので、チケットフィルター307は、XPSパートの入力を要求して間もなく、FDSを入力することができる。
チケットフィルター307は、取得したPTに印刷設定の一つとして記載されている印刷データの保存場所情報を読み出し、PropertyBagに格納する(S1004)。このように、チケットフィルター307は、FSD以降のXPSパートの入力を全部又は一部要求せず、処理を終了する。
OSのフィルター管理機能402がXPSドキュメントを変換処理中であっても、全てのフィルターが処理を終了した場合、印刷ジョブは終了する。チケットフィルター307が不必要なパーツを全部又は一部要求しないことで、データフィルター308による印刷データの保存処理(S908)が完了後、プリントキュー304の印刷ジョブも速やかに終了する。それにより、複数の印刷ジョブが連続して投入された場合の、仮想ドライバ203の生産性を向上させることができる。
なお、本実施形態の構成を、印刷データを印刷データ中の印刷設定情報に従って処理する他の目的にも適用可能である。
図11は、実施形態3のパソコン1上で実行される印刷プログラムにおいて、プリンタドライバ1107を中心に全体構成を概念的に表した一例を示す図である。なお、本実施形態における印刷システムの全体構成は実施形態1の図1と同等である。以後、特に言及が無い点は、実施形態1と同等の構成である。
プリンタドライバ1107は、アプリケーション1101からの印刷要求を受け、印刷装置2に印刷コマンドを送信する、標準的なプリンタドライバである。したがって、図2に示した実施形態1の印刷プログラムの構成に限定せず、任意のアプリケーションから印刷要求を受ける。
アプリケーション1101からユーザーインターフェースモジュール1106までは、図3の301から306までと同等である。プリンタドライバ1107は、プレビューフィルター1108とレンダーフィルター1109との2つのフィルターで構成される。プレビューフィルター1108は、入出力インターフェースとして、XPS stream形式を利用するフィルターである。プレビューフィルター1108は、印刷設定情報中の指定に応じて、印刷プレビュー表示モジュール1110を別プロセスで起動する。印刷プレビュー表示モジュール1110は、プレビューフィルター1108から受け取った印刷データを元に、想定される印刷結果を表す印刷プレビューを表示部17に表示する。印刷プレビュー表示モジュール1110、ユーザーから印刷の指示を受けると、印刷データ中の印刷設定情報の印刷プレビューの表示指示をオフに変更した上で、印刷データを再度、スプールデータ1105としてプリントキュー1104に追加する。
レンダーフィルター1109は、入出力インターフェースとして、XPS document形式を利用するフィルターである。レンダーフィルター1109は、印刷データを元に印刷装置2が解釈可能な印刷コマンドを作成し、印刷装置2に送信する。印刷装置2は、受け取った印刷コマンドを元に印刷処理を実行する。
なお、プリンタドライバ1107は、更に印刷データのレイアウト処理を行うフィルター等を有する構成としてもよい。
図11のレンダーフィルター1109は、プレビューフィルター1108の後に位置している。
プレビューフィルター1108は、入出力インターフェースとしてstream形式のインターフェースを持つ第一のフィルターの一例である。レンダーフィルター1109は、入出力インターフェースとしてdocument形式のインターフェースを持つ第二のフィルターの一例である。
S1201からS1207までの処理は、実施形態1におけるデータフィルター308のS901からS907までの処理と同等である。
但し、プレビューフィルターは、PropertyBagから印刷データの保存場所情報ではなく、印刷プレビューの表示情報(印刷プレビュー表示情報)を取得する(S1206)。
プレビューフィルター1108は、印刷プレビューの表示情報を参照し、印刷プレビューの表示が指示されているか否かを判定する(S1208)。
S1208で印刷プレビューの表示が指示されていると判定した場合、プレビューフィルター1108は、印刷プレビュー表示モジュール1110を起動する(S1209)。この際、プレビューフィルター1108は、S1204で保存した印刷データを印刷プレビュー表示モジュール1110に渡す。
S1208で印刷プレビューの表示が指示されていないと判定した場合、プレビューフィルター1108は、S1204で作成したファイルを削除する(S1210)。
なお、これらの処理は、レンダーフィルター1109が実施してもよいし、専用のフィルターが実施してもよい。
S1301からS1304までの処理は、実施形態1におけるチケットフィルター307のS1001からS1004までの処理と同等である。
但し、レンダーフィルター1109は、PropertyBagに、印刷データ保存場所情報ではなく、印刷プレビューの表示情報を格納する(S1304)。
レンダーフィルター1109は、印刷プレビューの表示情報を参照し、印刷プレビューの表示が指示されているか否かを判定する(S1305)。
S1305で印刷プレビューの表示が指示されていると判定した場合、レンダーフィルター1109は、処理を終了する。
S1305で印刷プレビューの表示が指示されていないと判定した場合、レンダーフィルター1109は、印刷データを元に印刷コマンドを作成し、印刷装置2に送信する(S1306)。
なお、本実施形態の構成を、印刷データを印刷データ中の印刷設定情報に従って処理する他の目的にも適用可能である。
実施形態3におけるプリンタドライバ1107は、更に実施形態2における仮想ドライバ203の機能を併せ持つよう構成してもよい。この場合、プリンタドライバ1107は、印刷設定情報に印刷データ保存場所情報が指定されているか否かも判定し、指定されていた場合は仮想ドライバとして動作し、印刷処理を行わずに終了する。これにより、1つのプリンタドライバと追加のアプリケーションで、図2の印刷プログラムを構成することができる。この構成により、ユーザーに対し、仮想ドライバは存在しないよう隠ぺいすることができる。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
Claims (10)
- 入出力インターフェースとしてstream形式のインターフェースを持つ第一のフィルターで印刷データを入力し記憶領域に格納する記憶工程と、
前記第一のフィルターの後に位置し、入出力インターフェースとしてdocument形式のインターフェースを持つ第二のフィルターで、前記印刷データを構成するパーツを順次、入力し、解析する解析工程と、
前記解析工程における前記解析の結果、前記印刷データより取得された印刷設定情報に従って、前記記憶工程で記憶領域に記憶された印刷データを処理する処理工程と、
前記第二のフィルターで、前記印刷設定情報を取得したあと、以降のパーツの全部又は一部を入力せず処理を終了する終了工程と、
を含む印刷データ処理方法。 - 前記処理工程では、前記解析工程における前記解析の結果、前記印刷データより取得された印刷設定情報の保存場所情報に従って、前記記憶工程で記憶領域に記憶された印刷データを保存場所に移動させる請求項1記載の印刷データ処理方法。
- 前記処理工程では、前記解析工程における前記解析の結果、前記印刷データより取得された印刷設定情報の印刷プレビュー表示情報に従って、前記記憶工程で記憶領域に記憶された印刷データを印刷プレビュー表示する表示モジュールを起動する請求項1記載の印刷データ処理方法。
- 前記処理工程では、前記印刷プレビュー表示情報が印刷プレビューを表示することを示している場合、前記記憶工程で記憶領域に記憶された印刷データを印刷プレビュー表示する表示モジュールを起動させ、
前記終了工程では、前記第二のフィルターで、前記印刷設定情報を取得したあと、前記印刷プレビュー表示情報が印刷プレビューを表示することを示している場合、以降のパーツの全部又は一部を入力せず処理を終了する請求項3記載の印刷データ処理方法。 - 入出力インターフェースとしてdocument形式のインターフェースを持つ第一のフィルターで、印刷データを構成するパーツを順次、入力し、解析する解析工程と、
前記解析工程における前記解析の結果、前記印刷データより取得された印刷設定情報を記憶領域に記憶する記憶工程と、
前記第一のフィルターの後に位置し、入出力インターフェースとしてstream形式のインターフェースを持つ第二のフィルターで、前記印刷データを入力し、前記記憶工程で前記記憶領域に記憶された印刷設定情報に従って処理する処理工程と、
を含む印刷データ処理方法。 - 前記記憶工程では、前記取得された印刷設定情報のうち印刷データの保存場所情報を前記記憶領域に記憶し、
前記処理工程では、前記第二のフィルターで、前記印刷データを入力し、前記記憶領域に記憶された保存場所情報に従って、前記印刷データを保存場所に保存する請求項5に記載の印刷データ処理方法。 - 入出力インターフェースとしてstream形式のインターフェースを持つ第一のフィルターで印刷データを入力し記憶領域に格納する記憶手段と、
前記第一のフィルターの後に位置し、入出力インターフェースとしてdocument形式のインターフェースを持つ第二のフィルターで、前記印刷データを構成するパーツを順次、入力し、解析する解析手段と、
前記解析手段における前記解析の結果、前記印刷データより取得された印刷設定情報に従って、前記記憶手段で記憶領域に記憶された印刷データを処理する処理手段と、
前記第二のフィルターで、前記印刷設定情報を取得したあと、以降のパーツの全部又は一部を入力せず処理を終了する終了手段と、
を有する印刷データ処理装置。 - 入出力インターフェースとしてdocument形式のインターフェースを持つ第一のフィルターで、印刷データを構成するパーツを順次、入力し、解析する解析手段と、
前記解析手段における前記解析の結果、前記印刷データより取得された印刷設定情報を記憶領域に記憶する記憶手段と、
前記第一のフィルターの後に位置し、入出力インターフェースとしてstream形式のインターフェースを持つ第二のフィルターで、前記印刷データを入力し、前記記憶手段で前記記憶領域に記憶された印刷設定情報に従って処理する処理手段と、
を有する印刷データ処理装置。 - コンピュータに、
入出力インターフェースとしてstream形式のインターフェースを持つ第一のフィルターで印刷データを入力し記憶領域に格納する記憶ステップと、
前記第一のフィルターの後に位置し、入出力インターフェースとしてdocument形式のインターフェースを持つ第二のフィルターで、前記印刷データを構成するパーツを順次、入力し、解析する解析ステップと、
前記解析ステップにおける前記解析の結果、前記印刷データより取得された印刷設定情報に従って、前記記憶ステップで記憶領域に記憶された印刷データを処理する処理ステップと、
前記第二のフィルターで、前記印刷設定情報を取得したあと、以降のパーツの全部又は一部を入力せず処理を終了する終了ステップと、
を実行させるためのプログラム。 - コンピュータに、
入出力インターフェースとしてdocument形式のインターフェースを持つ第一のフィルターで、印刷データを構成するパーツを順次、入力し、解析する解析ステップと、
前記解析ステップにおける前記解析の結果、前記印刷データより取得された印刷設定情報を記憶領域に記憶する記憶ステップと、
前記第一のフィルターの後に位置し、入出力インターフェースとしてstream形式のインターフェースを持つ第二のフィルターで、前記印刷データを入力し、前記記憶ステップで前記記憶領域に記憶された印刷設定情報に従って処理する処理ステップと、
を実行させるためのプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011185044A JP5871521B2 (ja) | 2011-08-26 | 2011-08-26 | 印刷データ処理方法、印刷データ処理装置及びプログラム |
US13/559,362 US9626131B2 (en) | 2011-08-26 | 2012-07-26 | Print data processing method, print data processing apparatus, and storage medium for processing print data according to print setting information in the print data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011185044A JP5871521B2 (ja) | 2011-08-26 | 2011-08-26 | 印刷データ処理方法、印刷データ処理装置及びプログラム |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2013045422A true JP2013045422A (ja) | 2013-03-04 |
JP2013045422A5 JP2013045422A5 (ja) | 2014-09-25 |
JP5871521B2 JP5871521B2 (ja) | 2016-03-01 |
Family
ID=47743323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011185044A Active JP5871521B2 (ja) | 2011-08-26 | 2011-08-26 | 印刷データ処理方法、印刷データ処理装置及びプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US9626131B2 (ja) |
JP (1) | JP5871521B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015060269A (ja) * | 2013-09-17 | 2015-03-30 | 株式会社リコー | 画像処理制御プログラム、情報処理装置及び画像処理システム |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105308554B (zh) * | 2013-04-10 | 2019-08-06 | 惠普深蓝有限责任公司 | 数据传输系统、传输数据的方法、以及系统 |
JP7158871B2 (ja) * | 2018-03-15 | 2022-10-24 | キヤノン株式会社 | プログラム及び情報処理装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008152728A (ja) * | 2006-12-20 | 2008-07-03 | Canon Inc | 情報処理装置、プレビュー方法、プログラム、及び記憶媒体 |
JP2009134645A (ja) * | 2007-11-30 | 2009-06-18 | Canon Inc | データ処理装置、印刷処理方法、記憶媒体、プログラム |
JP2009282843A (ja) * | 2008-05-23 | 2009-12-03 | Canon Inc | 情報処理装置、プレビュー方法、及びプログラム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11143661A (ja) | 1997-11-14 | 1999-05-28 | Casio Comput Co Ltd | 印刷システム |
US8537408B2 (en) * | 2006-12-20 | 2013-09-17 | Canon Kabushiki Kaisha | Information processing apparatus, information processing method, program, and storage medium |
US9183186B2 (en) * | 2011-07-08 | 2015-11-10 | Microsoft Technology Licensing, Llc. | Conversion tool for XPS and OpenXPS documents |
-
2011
- 2011-08-26 JP JP2011185044A patent/JP5871521B2/ja active Active
-
2012
- 2012-07-26 US US13/559,362 patent/US9626131B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008152728A (ja) * | 2006-12-20 | 2008-07-03 | Canon Inc | 情報処理装置、プレビュー方法、プログラム、及び記憶媒体 |
JP2009134645A (ja) * | 2007-11-30 | 2009-06-18 | Canon Inc | データ処理装置、印刷処理方法、記憶媒体、プログラム |
JP2009282843A (ja) * | 2008-05-23 | 2009-12-03 | Canon Inc | 情報処理装置、プレビュー方法、及びプログラム |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015060269A (ja) * | 2013-09-17 | 2015-03-30 | 株式会社リコー | 画像処理制御プログラム、情報処理装置及び画像処理システム |
Also Published As
Publication number | Publication date |
---|---|
US20130050750A1 (en) | 2013-02-28 |
US9626131B2 (en) | 2017-04-18 |
JP5871521B2 (ja) | 2016-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7229680B2 (ja) | 情報処理装置、制御方法及びプログラム | |
JP5072676B2 (ja) | 情報処理装置、情報処理方法及び印刷システム | |
JP5901704B2 (ja) | 情報処理装置、情報処理方法、プログラム | |
CN102033723A (zh) | 信息处理装置及其方法 | |
US8274670B2 (en) | Information processing apparatus print control method, and storage medium | |
JP2006228066A (ja) | 印刷システム及び文書管理システム | |
JP5924892B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
US20060262336A1 (en) | Manual annotation document reformation | |
JP2011145865A (ja) | 情報処理装置、情報処理装置の制御方法、プログラム | |
JP6289276B2 (ja) | 情報処理装置およびプログラム、制御方法 | |
US8688864B2 (en) | Information processing apparatus, information processing method, and information processing program | |
JP5871521B2 (ja) | 印刷データ処理方法、印刷データ処理装置及びプログラム | |
JP2015225481A (ja) | 印刷設定情報を効率良く編集するためのプログラム | |
US10310788B2 (en) | Control method for generating data used for printing and information processing apparatus | |
US9253343B2 (en) | Information processing apparatus, control method, and storage medium for providing a preview and/or display of a main display document generated from all parts of a print document | |
JP6833419B2 (ja) | 情報処理装置、方法およびプログラム | |
JP2012027737A (ja) | ジョブチケット変換装置及びその変換方法 | |
JP7494006B2 (ja) | 情報処理方法及び情報処理装置 | |
JP6234417B2 (ja) | 情報処理装置及びその制御方法とプログラム | |
JP4227394B2 (ja) | 印刷システム | |
JP4956259B2 (ja) | 情報処理装置及びその制御方法、コンピュータプログラム | |
JP6437076B2 (ja) | 情報処理装置及びその制御方法とプログラム | |
JP5804678B2 (ja) | 情報処理装置、Webブラウザ制御方法、及び、プログラム | |
JP7271208B2 (ja) | プログラム、および情報処理装置 | |
JP2012141857A (ja) | 情報処理装置、guiプログラム及び記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140808 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140808 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150527 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150623 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150824 |
|
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: 20151215 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160112 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5871521 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |