JP2009151702A - 情報処理装置、情報処理方法、及びプログラム - Google Patents
情報処理装置、情報処理方法、及びプログラム Download PDFInfo
- Publication number
- JP2009151702A JP2009151702A JP2007330952A JP2007330952A JP2009151702A JP 2009151702 A JP2009151702 A JP 2009151702A JP 2007330952 A JP2007330952 A JP 2007330952A JP 2007330952 A JP2007330952 A JP 2007330952A JP 2009151702 A JP2009151702 A JP 2009151702A
- Authority
- JP
- Japan
- Prior art keywords
- document
- display
- information
- information processing
- page
- 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
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/1207—Improving or facilitating administration, e.g. print management resulting in the user being informed about print result after a job submission
-
- 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/1237—Print job management
- G06F3/1259—Print job monitoring, e.g. job status
-
- 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
- G06F3/1276—Print 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
-
- 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/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1284—Local printer device
-
- 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/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1285—Remote printer device, e.g. being remote from client or server
Abstract
【課題】 従来、印刷処理の進捗の表示においては、印刷がすすんでいることはわかるが、実際にどこまで印刷されたか、現在処理されているのはドキュメントのどの内容に対応するものなのか、といった具体的な情報の提供が不足していた。
【解決手段】 上記課題を解決するために、本発明は、アプリケーションを用いてユーザから印刷指示されたドキュメントに関する印刷処理の進捗の情報を情報処理装置の表示部に表示するために、前記ドキュメントの文書構造(しおりの構造)に関する情報と前記ドキュメントのページ数を用いて、印刷処理の進捗を表示するための表示情報を生成し、前記生成工程で生成された表示情報を表示部に表示する。さらに、前記ドキュメントに関する印刷処理の進捗に基づくイベントを受信した際にそのイベントに基づき前記表示情報を更新し、該更新された表示情報を表示部に表示することを特徴とする。
【選択図】 図4
【解決手段】 上記課題を解決するために、本発明は、アプリケーションを用いてユーザから印刷指示されたドキュメントに関する印刷処理の進捗の情報を情報処理装置の表示部に表示するために、前記ドキュメントの文書構造(しおりの構造)に関する情報と前記ドキュメントのページ数を用いて、印刷処理の進捗を表示するための表示情報を生成し、前記生成工程で生成された表示情報を表示部に表示する。さらに、前記ドキュメントに関する印刷処理の進捗に基づくイベントを受信した際にそのイベントに基づき前記表示情報を更新し、該更新された表示情報を表示部に表示することを特徴とする。
【選択図】 図4
Description
本発明は、情報処理装置、情報処理方法、及びプログラムに関するものである。特に情報処理装置における、プリンタでの処理の進捗の表示に関する。
ユーザが情報処置装置(パーソナルコンピュータなどを含む)で作成した文書を印刷するよう操作した場合、ユーザは、アプリケーションの印刷ダイアログより印刷状況の情報を得ていた。
ここで、例えばMicrosoft社のオペレーティングシステムであるMicrosoft Windows(登録商標)における既存のGDI(Graphic Device Interface)印刷パスにおける例を説明する。アプリケーションは[印刷]ダイアログボックスを表示し、ユーザへ印刷処理中であることをフィードバックする。このアプリケーションからのフィードバックの内容は次のようなものである。
・ファイル名(アプリケーション固有フォーマット)
・対象プリンタ名
・ページ番号
また、印刷データはオペレーティングシステム(OS)のシステムスプーラによりスプールされる。ユーザはこのシステムスプーラから、対象プリンタを選択し表示されるスプールリストから印刷状態の参照ができた。このシステムスプーラからのフィードバックの内容は次であった。
・ジョブ名(アプリケーションが付与)
・状態
・ページ番号
システムとして、プリンタドライバの前後で印刷状態表示おこなわれていた。また、GDI印刷パスのプリンタドライバ、特に印刷データを生成するグラフィックス・ドライバは、GDIから順次呼び出され動作するため印刷状況を把握することが難しかった。
・ファイル名(アプリケーション固有フォーマット)
・対象プリンタ名
・ページ番号
また、印刷データはオペレーティングシステム(OS)のシステムスプーラによりスプールされる。ユーザはこのシステムスプーラから、対象プリンタを選択し表示されるスプールリストから印刷状態の参照ができた。このシステムスプーラからのフィードバックの内容は次であった。
・ジョブ名(アプリケーションが付与)
・状態
・ページ番号
システムとして、プリンタドライバの前後で印刷状態表示おこなわれていた。また、GDI印刷パスのプリンタドライバ、特に印刷データを生成するグラフィックス・ドライバは、GDIから順次呼び出され動作するため印刷状況を把握することが難しかった。
しかしながら、Microsoft社のオペレーティングシステムであるMicrosoft Windows(登録商標) Vistaにおいて印刷システムが変更された。該システムでは既存のGDI(Graphic Device Interface)印刷パスに加え、XPS(XML Paper Specification)印刷パスをサポートするように拡張されている。GDI、XPSの双方の印刷パスのシステムスプーラの操作は、従来のWindows(登録商標)と変わらないが、XPS印刷パスは、XPSスプールファイルを使用する。印刷対象のデータに関しては、アプリケーションの発行から印刷ドライバまたはプリンタでの処理までこのXPS形式を維持する。このXPS形式は、クロスプラットフォーム文書を作成するための、オープンな電子ドキュメント形式であり、スプールファイル形式と位置付けられている(非特許文献1)。XPS形式のファイルにはドキュメント本体だけでなく、PrintTicketとよぶ印刷設定も含まれている。このPrintTicketにより印刷時の体裁などの印刷設定も維持され相互参照可能となっている。例えばバナー設定JobPrimaryBannerSheetは、Standard(プリンタでバナーをつける)、Custom(アプリケーションで指定したページをバナーとする)、None(バナーをつけない)の3つの選択でき、アプリケーションは実行した設定を記述しやすく、他のソフトウェアからは設定が参照しやすくなっている(非特許文献1)。XPS印刷パスのプリンタドライバのグラフィックス・フィルタパイプラインでは、ドキュメントや印刷設定を参照、操作できるようになった。(特許文献1)
一方、情報処理装置上のデータの視覚化において、ファイルの特定属性を中心にして通常ファイルリストとは異なる表示方法を提供するものもあった。(特許文献2)
特開2004−38956号公報
特開2006−195970号公報
マイクロソフト XPS概要http://www.microsoft.com/japan/whdc/xps/default.mspx
一方、情報処理装置上のデータの視覚化において、ファイルの特定属性を中心にして通常ファイルリストとは異なる表示方法を提供するものもあった。(特許文献2)
従来の印刷状態表示にはドキュメントごとに応じた表示ができず、さらなる改良が望まれている。
アプリケーションが独自フォーマットの文書ファイルを管理しており、下位の印刷プロセスは、その内容を基本的に参照することができなかった。また、印刷がすすんでいることはわかるが、実際にどこまで印刷されたかドキュメントとの対応に関する具体的な情報の提供は不足していた。
また、アプリケーション(スプール前)とシステムスプーラ(スプール後)で印刷情報の参照先が別となっている。
また、レイアウト変更やページ挿入、印刷ページのカウントが変わっていてもスプール前後で共有できない。レンダリングプロセスでのカウント処理、アプリケーションの印刷設定参照やデバイスへの設定指示、これらの相互参照が難しかった。
本発明は、ユーザにより印刷指示されたドキュメントの文書構造(しおりの構造(詳細、後述))に関する情報と用いて、ユーザに対して適切な印刷処理の進捗の情報を通知するための手法を提供することを目的とする。
上記課題を解決するために、本発明の情報処理装置は、アプリケーションを用いてユーザから印刷指示されたドキュメントに関する印刷処理の進捗の情報を表示する情報処理装置であって、前記ドキュメントの文書構造に関する情報と前記ドキュメントのページ数を用いて、印刷処理の進捗を表示する表示手段と、前記表示手段による表示を、前記ドキュメントに関する印刷処理の進捗に基づいて更新する更新手段とを備えることを特徴とする。
以上の構成により、本発明はユーザにより印刷指示されたドキュメントの文書構造(しおりの構造(詳細、後述))に関する情報と用いて、ユーザに対して適切な印刷処理の進捗の情報を通知できる。
(実施例1)
以下、図面を参照して本発明の実施形態を詳細に説明する。なお、以下の説明においては、コンピュータとプリンタとからなるシステムに基づいて説明を行うが、本発明は上記構成に限定されるものではない。
以下、図面を参照して本発明の実施形態を詳細に説明する。なお、以下の説明においては、コンピュータとプリンタとからなるシステムに基づいて説明を行うが、本発明は上記構成に限定されるものではない。
印刷システムの構成
図1は、本発明の実施形態に係る印刷システムの構成を示すブロック図である。なお、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、LAN,WAN等のネットワークを介して接続され、処理が行われるシステムであっても本発明を適用できる。
図1は、本発明の実施形態に係る印刷システムの構成を示すブロック図である。なお、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、LAN,WAN等のネットワークを介して接続され、処理が行われるシステムであっても本発明を適用できる。
同図において、コンピュータ3000は、ROM3のプログラム用ROMあるいは外部メモリ11に記憶された文書処理プログラム等に基づいて以降で後述される本発明の各実施形態に係わる処理を含む印刷処理の実行を制御するCPU1を備えている。ここで印刷処理は、図形、イメージ、文字、表(表計算等を含む)等が混在した文書処理およびそれに基づく。このCPU1がシステムバス4に接続される各デバイスの制御を総括する。また、ROM3のプログラム用ROMあるいは外部メモリ11には、CPU1の制御プログラムであるオペレーティングシステムプログラム(以下OS)等が記憶されている。また、ROM3のフォント用ROMあるいは外部メモリ11には上記文書処理の際に使用するフォントデータ等が記憶されている。さらに、ROM3のデータ用ROMあるいは外部メモリ11には上記文書処理等を行う際に使用する各種データが記憶されている。RAM2は、CPU1の主メモリ、ワークエリア等として機能する。
キーボードコントローラ(KBC)5は、キーボード9や不図示のポインティングデバイスからのキー入力を制御する。CRTコントローラ(CRTC)6は、地紋画像の表示を含む、CRTディスプレイ(CRT)10による表示を制御する。7はディスクコントローラ(DKC)を示し、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタ制御コマンド生成プログラム(以下プリンタドライバ)等を記憶するハードディスク(HD)、フロッピー(登録商標)ディスク(FD)等の外部メモリ11とのアクセスを制御する。プリンタコントローラ(PRTC)8は、双方向性インタフェース(インタフェース)21を介してプリンタ1500に接続されて、プリンタ1500との通信制御処理を実行する。
なお、CPU1は、CRT10上の不図示のマウスカーソル等で指示されたコマンドに基づいて、予め登録された種々のウィンドウを開き、種々のデータ処理を実行する。ユーザは印刷を実行する際、印刷の設定に関するウィンドウを開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行うことができる。
プリンタ1500は、そのCPU12によって制御される。プリンタCPU12は、ROM13に記憶された制御プログラム等、あるいは外部メモリ14に記憶された制御プログラム等に基づいてシステムバス15に接続される印刷部(プリンタエンジン)17に印刷出力情報としての画像信号を出力する。
また、このROM13のプログラムROMには、CPU12の制御プログラム等が記憶される。また、ROM13のフォント用ROMには上記印刷出力情報を生成する際に使用するフォントデータ等が記憶される。また、ROM13のデータ用ROMには、ハードディスク等の外部メモリ14がないプリンタの場合には、コンピュータ上で利用される情報等が記憶されている。
CPU12は入力部18を介してコンピュータとの通信処理が可能となっている。これにより、プリンタ内の情報等をコンピュータ3000に通知できる。RAM19は、CPU12の主メモリや、ワークエリア等として機能するRAMである。また、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。なお、RAM19は、出力情報展開領域、環境データ格納領域、NVRAM等に用いられる。
前述したハードディスク(HD)、ICカード等の外部メモリ14は、メモリコントローラ(MC)20によりアクセスを制御される。外部メモリ14は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、18は前述した操作パネルで操作のためのスイッチおよびLED表示器等である。
また、プリンタ1500は図示しないNVRAMを有し、操作パネル1501からのプリンタモード設定情報を記憶するようにしてもよい。
印刷部17は本実施形態では電子写真方式のエンジンとしている。従って、地紋画像を含む印刷データはトナーのドットによって最終的に紙などの媒体上に記録される。なお、本発明における印刷の方式はこのような電子写真方式に限られないことはもちろんである。例えば、インクジェット方式など、ドットを形成して印刷を行ういずれの方式のプリンタにも本発明を適用することができる。
図2は、図1に示したコンピュータ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にロードし、アプリケーション201の出力をプリンタドライバ203に設定する。
従来からWindows(登録商標)における、GDI印刷パスの説明をする。グラフィックエンジン202はアプリケーション201から受け取るGDI(Graphic Device Interface)関数をDDI(Device Driver Interface)関数に変換して、プリンタドライバ203へ出力する。プリンタドライバ203は、グラフィックエンジン202から受け取ったDDI関数に基づいて、プリンタが認識可能な制御コマンド、例えばPDL(Page Description Language)に変換する。変換されたプリンタ制御コマンドは、OSによってRAM2にロードされたシステムスプーラ204を経てインタフェース21経由でプリンタ1500へ印刷データとして出力される仕組みとなっている。
Windows(登録商標) Vistaにおいては、基本構成は同じであるが新規となるXPS印刷パスが追加された。グラフィックエンジン202はアプリケーション201から受け取る共通ドキュメントをプリンタドライバ203へ出力する。プリンタドライバ203は、グラフィックエンジン202から受け取った共通ドキュメントを、プリンタが認識可能な制御コマンド、例えばPDLに変換する。変換されたプリンタ制御コマンドは、OSによってRAM2にロードされたシステムスプーラ204を経てインタフェース21経由でプリンタ1500へ印刷データとして出力される仕組みとなっている。なお、プリンタが共通ドキュメントを認識可能であれば、変換はせずに出力することも可能である。
従来例の概要
図3はGDI印刷パスにおける従来形の説明である。
図3はGDI印刷パスにおける従来形の説明である。
アプリケーション201は、アプリケーション独自のドキュメント305を持っている。アプリケーション201からこのドキュメント305の印刷をおこなう。アプリケーション201はドキュメント305を処理しながらグラフィックスエンジン202を動かし、その状況はアプリケーション201が印刷ダイアログ306として表示する。印刷ダイアログ306の具体例が[印刷]ダイアログ307で、ドキュメント305のページ番号が動作状況として表示される。これらの動作に応じプリンタドライバ203が生成した印刷データは、システムスプーラ204によりスプール308へわたされる。システムスプーラ204はこのスプール308の状態をスプールリスト308として表示する。スプールリスト308は、プリンタフォルダ310を開き、プリンタリスト311の中の対象プリンタを開くと表示されるプリンタ312で確認することができる。図3の従来例においては、ドキュメント305を参照できないプリンタドライバ203は印刷状況表示に関与しにくい構成であった。データの参照できるアプリケーション201とシステムスプーラ204が印刷状況表示をおこなっていた。
本実施形態の構成概説
図4はXPS印刷パスにおける本システムの概要図である。
図4はXPS印刷パスにおける本システムの概要図である。
アプリケーション201から印刷をおこなう。アプリケーション201がグラフィックスエンジン202を動かした結果は、プリンタドライバのフィルタ・パイプライン403へドキュメント(共通データ)405としてわたされる。アプレット410はプリンタドライバ403およびプリンタ1500などの動作を印刷状況411として表示する。印刷状況411の一例としては、標準ウィンドウ412のようにメッセージとアイコンで概況表示、クリック等で拡張される拡張ウィンドウ413でメッセージとグラフを含めた詳細状況表示をおこなう。アプレットの機能を介して表示される表示情報には、ドキュメント405およびその目次情報を含めることができる。プリンタドライバ403やアプレット410はドキュメント405が参照できるため印刷状況表示に関与できるようになった。
図5を用いて本実施形態のシステム構成の概説をおこなう。
アプレット410は、標準ウィンドウ412および拡張ウィンドウ413で構成される。アプレット410の表示は、共通ドキュメント405や印刷パスからの情報の505、各印刷プロセスのイベント508、OSシステムおよびタイマのイベント510らから構築される。アプレット410は、サービスとして常時起動されている、あるいはプリンタドライバ403やシステム510からのイベントにより起動・終了どちらの形態でもよい。
共通ドキュメント405や印刷パスからの情報は、ジョブ(名)501、ドキュメント・ページ構造502、しおりの情報(文書構造)503とそれらの文字列504がアプレット410の入力となる。これらが処理され、表示文字や進捗グラフX,Y軸として出力へ反映される。各印刷プロセスのイベント508は、プリンタドライバのフィルタ・パイプライン403からの共通ドキュメント405の通過イベント506、プリンタ1500の排紙イベント507らが入力となる。これらのホスト、およびデバイス上のイベントが処理され、状態の切り替えや進捗グラフ上のプロットとして出力へ反映される。OSシステムおよびタイマのイベント510は、システムのタイマイベント509らが入力となる。このイベントが処理され、進捗状態の基準として出力へ反映される。入出力処理は後述する。
従って、アプレット410は、共通ドキュメント405や印刷パスからの情報の505を表示内容やグラフ軸に用い、OSシステムおよびタイマのイベント510を基準として、各印刷プロセスのイベント508をハンドリングしながら表示状態を更新してゆく。
本システムの入力系の説明
ここで図6をもちい共通ドキュメント405であるXPSスプールファイルの構造を説明する。XPSスプールファイル405は3層構造からなる。第1層にFixed Document Sequense601(以下、ジョブと略す)が、次にFixed Document602(以下、ドキュメントと略す)が、最下層にFixed Page603(以下、ページと略す)が存在する。これらは、3層からなるXMLファイルの集合である。それぞれの階層はレベルとも呼ばれる。実際の描画データとなる文書の各ページはページレベルに置かれ、1つのドキュメントレベルの中に複数ページが含まれる。また、1つのXPSスプールファイル405の中に複数のドキュメントを持つことができるため、ジョブが複数のドキュメントを管理している。これらはすべてXMLで記載されているが、リソースデータのようなバイナリデータはイメージ604、フォント605といった形で、そのままXPSスプールファイル405の中に含まれている。印刷設定であるPrintTicket606は、ジョブレベル、ドキュメントレベル、ページレベルのすべてのレベルで持つことができ、ページごとに印刷設定を切り替えることが可能になっている。また、PrintTicket606の中にある印刷設定の機能1つ1つにも、どのレベルに対して適用するのかが示されており、機能名称の接頭辞(Prefix)で定義されている。たとえば、“Job”が機能の接頭辞としてつけば、ジョブレベルの機能設定ということになる。PrintTicketはプリンタやプリンタドライバが持つ機能をFeatureというタグで、機能の選択肢をOptionというタグで表している。ScoredPropertyやPropertyはOptionに付随する属性情報であり、ParameterInitは機能の値を表している。サムネイル607は、最初のページのスナップショット画像ファイルになっており、ページをレンダリングしなくてもこの画像を使用することでページを見ることができるので、複数のXPSスプールファイル405の一覧表示などに役立つ。コアプロパティ608は文書の属性(プロパティ)情報を持っていて、文書名、リビジョン、編集者などの情報が含まれている。Document Structure609はドキュメントレベルに付属する情報で、ドキュメントの章の区切りなどに基づく文書構造が記載されている。これらのデータが圧縮され1つのファイルとなっているのが、XPSスプールファイル405である。
ここで図6をもちい共通ドキュメント405であるXPSスプールファイルの構造を説明する。XPSスプールファイル405は3層構造からなる。第1層にFixed Document Sequense601(以下、ジョブと略す)が、次にFixed Document602(以下、ドキュメントと略す)が、最下層にFixed Page603(以下、ページと略す)が存在する。これらは、3層からなるXMLファイルの集合である。それぞれの階層はレベルとも呼ばれる。実際の描画データとなる文書の各ページはページレベルに置かれ、1つのドキュメントレベルの中に複数ページが含まれる。また、1つのXPSスプールファイル405の中に複数のドキュメントを持つことができるため、ジョブが複数のドキュメントを管理している。これらはすべてXMLで記載されているが、リソースデータのようなバイナリデータはイメージ604、フォント605といった形で、そのままXPSスプールファイル405の中に含まれている。印刷設定であるPrintTicket606は、ジョブレベル、ドキュメントレベル、ページレベルのすべてのレベルで持つことができ、ページごとに印刷設定を切り替えることが可能になっている。また、PrintTicket606の中にある印刷設定の機能1つ1つにも、どのレベルに対して適用するのかが示されており、機能名称の接頭辞(Prefix)で定義されている。たとえば、“Job”が機能の接頭辞としてつけば、ジョブレベルの機能設定ということになる。PrintTicketはプリンタやプリンタドライバが持つ機能をFeatureというタグで、機能の選択肢をOptionというタグで表している。ScoredPropertyやPropertyはOptionに付随する属性情報であり、ParameterInitは機能の値を表している。サムネイル607は、最初のページのスナップショット画像ファイルになっており、ページをレンダリングしなくてもこの画像を使用することでページを見ることができるので、複数のXPSスプールファイル405の一覧表示などに役立つ。コアプロパティ608は文書の属性(プロパティ)情報を持っていて、文書名、リビジョン、編集者などの情報が含まれている。Document Structure609はドキュメントレベルに付属する情報で、ドキュメントの章の区切りなどに基づく文書構造が記載されている。これらのデータが圧縮され1つのファイルとなっているのが、XPSスプールファイル405である。
図7をもちい、共通ドキュメント405および印刷パスからの情報の処理説明をおこなう。
アプレット410は、共通ドキュメント405およびXPS印刷パスのJOBINFO700からジョブ(名)701、総ページ数702、しおりの有無703、しおりの構造(文書構造)704を得る。ジョブ(名)701はJOBINFO700から取得する。総ページ数702は、共通ドキュメント405の内容からカウントする。
ここで、しおりとは目次のようなものであり、前述のDocument Structureに記載される。しおりの情報(文書構造)は、木構造で記載され、例えば、各ノードに対して設定される値(名称)に、文書における各章のタイトルなどが設定され得る。しおりの有無703はDocument Structure Outlineタグの有無である。ここで、しおりの情報自体が無いならば、当然、しおり無しとなる。なお、ジョブ(名)701は、しおりの構造704のルートに名称が付与されていれば、その名称をもちいることもできる。またジョブ識別するためにJOBINFO700からジョブ情報705を取得する。システムJobIDから別のJobID’を生成し共通ドキュメント405にプライベートタグとして追記しておく。これらの情報は、システムイベントからアプレット410が取得するか、フィルタ・パイプライン403を含む後段の印刷プロセスからアプレット410にわたされる。
図8をもちい、“しおり”について補足説明する。共通ドキュメントに対しシステム側でビューア801が用意されることが多い。このビューア801で文書805をオープンしたときのアウトライン809が“しおり”の構造を表示したものである。
図9をもちい、プリンタドライバのフィルタ・パイプライン403からの情報(イベント)の処理説明をおこなう。以下で示すイベントを処理されることで、印刷の進捗表示が更新されたり、処理の状況の表示が更新されたりする。
アプレット410のイベントハンドラ900は、プリンタドライバのフィルタ・パイプライン403へイベント登録920とイベント削除930をおこなう。プリンタドライバのフィルタ・パイプライン403は、ハンドラ900へ登録イベントが発生時にイベントを送出する。送出されるイベントには、ジョブ開始と終了イベント(901、909)、多段フィルタのTOPおよびBOTTOMフィルタのページ処理開始と終了イベント(902、903、904、905)、物理ページの区切りイベント906がある。これらのイベントには、ドキュメントの何ページ目のページデータを処理対象としたイベントかを識別するためのページ識別情報が含まれる。加えて、送出されるイベントには、ドキュメント区切りイベント907、キャンセルイベント908、エラーイベント909などがある。物理ページの区切り(ページプログレス)イベント906は、物理ページが進む際に送出される。もしドキュメントのページ進行を変更したなら、ページ変更データも付与する。レイアウトを2Upへ変更したとすると、ページ変更データは、’2’である。フィルタ・パイプライン403は、2ページ進行をハンドラ900へ通知するものである。ページ進行を止める場合、ページ変更データは‘0’となる。
図10をもちい、プリンタ1500からの情報(イベント)の処理説明をおこなう。以下で示すイベントを処理されることで、印刷の進捗表示が更新されたり、処理の状況の表示が更新されたりする。
処理は図9のプリンタドライバのフィルタ・パイプライン403と同じである。アプレット410のイベントハンドラ1000は、プリンタ1500へイベント登録1020とイベント削除1030をおこなう。プリンタ1500は、ハンドラ1000へ登録イベントが発生時にイベントを送出する。送出されるイベントは、ジョブ開始と終了イベント(1001、1006)、物理ページの区切りイベント1002、ドキュメントの区切りイベント1003、キャンセルイベント1004、エラーイベント1005などである。図10から省略したが、ページ処理開始と終了イベントは図9と同様に処理してよい。
図11をもちい、アプレット410の動作データを説明する。
アプレット410は図8〜図10で説明した情報の処理をおこないイベントハンドラ1101をもつ。アプレット410は、動作のためワークデータ1103を作成する。このワークデータ1103にはユーザの設定が反映され、ドキュメント情報1104、ジョブ情報1105を下位に持つ。ジョブ情報1105には、図7で説明したデータが格納される。ジョブ情報1105は、下位にページと時間を関連付けるページ管理テーブル1106、時間管理テーブル1107と各イベント元の時間テーブル1108を持つ。このジョブ情報1104以下の構造はジョブ毎に生成される。
ここまででアプレット410について、入力系を主にした説明をおこなってきた。次はアプレット410の出力系である進捗表示の構成方法の説明をおこなう。
本システムの出力系である表示構成の説明
図12をもちいて、アプレット410の進捗表示の構成の基本的な考え方を説明する。
図12をもちいて、アプレット410の進捗表示の構成の基本的な考え方を説明する。
アプレット410は、ドキュメントの総ページ数の有無1201、プリンタ1500の排紙イベントの有無1202、共通ドキュメントのしおりの構造に関する情報の有無1203の3つの条件から表示構成を決定する。ここでは、表示構成パターンは8種となる。共通ドキュメントのしおりの構造に関する情報の有無1203は四角で囲まれた領域の内外として図示されている。
アプレット410からユーザに提供される進捗情報は、(1)〜(8)で異なる。(1)は提供する情報として総ページ数、排紙、しおりの情報が有るので情報量が多く、逆に(8)は総ページ数、排紙、しおりの情報が無いので情報量も少なくなる。アプレット410がユーザに提供する情報として、(1)が最も望ましい条件を示す領域である。なお、以降(1)〜(8)の分類を表示構成パターンとよぶ。
図13をもちいて、アプレット410のメッセージによる表示制御を説明する。
アプレット410により提供される、メッセージとしての表示構成1301には(ジョブ名)、(ドキュメント名)、(しおり名)、(状況)、(カウンタ)、(プリンタ名)(コメント)が含まれる。
3行目の(プリンタ名)は、取得した静的な情報がはいり、基本的に処理の遷移に対応した表示内容の更新はない。
ここでは、以降、簡略化のため(ジョブ名)(コメント)の図示は省略する。
1行目の(ドキュメント名)は、ジョブが複数ドキュメントを含めばジョブ内で表示更新がおこなわれる。
2行目は、ジョブ内で逐次表示が更新される(しおり名)、(状況)、(カウンタ)が含まれる。(しおり名)は前述のしおりの有無1203で表示の有無がかわる。しおり構造704があれば(しおり名)に文字列が反映される。(状況)は排紙1202の有無により内容がかわり、有れば“印刷中”、無ければ“処理中”とする。(カウンタ)は、総ページ1201の有無により内容がかわり、有れば現ページ/総ページをそのまま、もしくは割合%で表示し、無ければ現ページを表示する。(カウンタ)の表示は(しおり名)が有れば表示しなくともよい。
ここまで説明した表示構成1301から生成される具体例と表示構成パターンの関係を1302から1308に示した。
1302はしおり1203と排紙1202が有る場合で、(しおり名)に“第1章 はじめに”が表示され、(状況)には印刷中が表示され、(カウンタ)は省略されており、表示構成パターンとしては(1)(5)に該当する。
なお1308は表示パターン(1)で(カウンタ)の表示を省略しない例である。
1303はしおり1203が無いので(しおり名)が省略、排紙1202は有るので(カウンタ)に現ページ/総ページの割合が表示されており、表示構成パターンとしては(3)に該当する。
1304は、しおり1203が有るが、排紙1202が無いため、(状況)が処理中となっており、表示構成パターンとしては(2)、(6)に該当する。以下同様に1305、1306、1307は構成され、それぞれ表示構成パターンとして(4)、(7)、(8)が該当する。
以上、アプレット410の表示動作の考え方とメッセージ・ベースの動作を示した。
図14を用いて本システムの動作の流れを説明する。
印刷に関連する処理が開始され、アプレットはプリンタドライバのフィルタ・パイプライン403かプリンタ1500から開始イベント1401を受け取る。アプレットは、標準ウィンドウ1402に(プリンタ名)、(ドキュメント名)、(状況)をセット、(状況)を印刷中に、アイコンを印刷中アイコン1403へ切り替える。アプレットの標準ウィンドウ1402をクリック1404すると拡張ウィンドウ1405が表示される。この拡張ウィンドウ1405は、より詳細な情報、グラフ1406も表示する。グラフ1406の表示構成については後述する。印刷に関連する処理が終了し、アプレットはプリンタドライバのフィルタ・パイプライン403かプリンタ1500から終了イベント1406を受け取る。アプレットは、標準ウィンドウ1407の(状況)を印刷完了に、アイコンを印刷完了アイコン1408へ切り替える。その後アプレットは、一定時間待ち、標準ウィンドウ1410(状況)を印刷待ちにして、アイコンを印刷待ちアイコン1410へ切り替える。
図15、図16をもちいて、アプレット410のグラフ配置制御を説明する。
図12、13で説明した3つの条件に含まれる、しおりと総ページの2条件の有無によりグラフ軸が変化する説明である。しおりと総ページのいずれかの参照ならアプレットが配置するグラフは、軸が1つの1次元グラフまでとなる。しおりと総ページの2条件とも参照できるとアプレットが配置するグラフは、軸が2つある2次元グラフにできる。
まず、図15は1次元グラフの配置例である。拡張ウィンドウ1501は、しおりが有った場合、それをY軸とした一次元グラフ1502を表示しており、表示構成パターンとしては(1)(2)(5)(6)に該当する。グラフ1502のY軸は、メッセージの(状況)と合致した全てのしおりに対する現在の処理中のデータに対応するしおりの相対的な進行状況を表示するためのグラフ1502の軸となる。グラフ1502の表示エリアサイズにフィットするよう表示上のスケールを拡大縮小する。
まず、図15は1次元グラフの配置例である。拡張ウィンドウ1501は、しおりが有った場合、それをY軸とした一次元グラフ1502を表示しており、表示構成パターンとしては(1)(2)(5)(6)に該当する。グラフ1502のY軸は、メッセージの(状況)と合致した全てのしおりに対する現在の処理中のデータに対応するしおりの相対的な進行状況を表示するためのグラフ1502の軸となる。グラフ1502の表示エリアサイズにフィットするよう表示上のスケールを拡大縮小する。
拡張ウィンドウ1503は、総ページ1201が有った場合、それをX軸とした一次元グラフ1504を表示しており、表示構成パターンとしては(3)(4)に該当する。グラフ1504の表示エリアサイズにフィットするよう表示上のスケールを拡大縮小する。
拡張ウィンドウ1505は、総ページ1201としおり1203の双方が無かったため、グラフはおいておらず、表示構成パターンとしては(7)(8)に該当する。
次に、図16は2次元グラフの配置例である。拡張ウィンドウ1601は、総ページ1201としおりの双方が有ったときで、ページをX軸、しおりをY軸とした二次元グラフ1602を表示しており、表示構成パターンとしては(1)(3)に該当する。2次元グラフ1602は、図15のグラフ1502と1504で表現される通知内容を、1つのグラフで通知できるように表現したものになる。グラフの詳細描画例は後述するが、仮にこの2次元グラフ1602に進捗を示す線をひくとすると、しおりとページの関係をしめす折線グラフとなる。フィルタ・パイプライン403やプリンタ1500のイベントがこの折線上にプロット1603されることになる。
図17をもちいて、アプレット410のグラフ表示例を説明する。
グラフ1701は、9ページのドキュメントの印刷進捗を示し、X軸がページである1次元グラフである。このグラフ上にプリンタドライバのフィルタ・パイプライン403のトップフィルタとボトムフィルタの通過イベント(1702、1703)、およびプリンタ1500の排紙イベント1704がプロットされている。プロット間は線1705、1706で接続している。各プロットはイベントにあわせ左から右へ移動し最終的に排紙イベントが最終ページに移動すれば印刷は完了となる。グラフ1701では、4ページ目が排紙処理中であり、7ページ目がフィルタートップ(処理開始)であることが示されている。
グラフ1711は、グラフ1701と同様であるが、プロット間を線1705、1706で接続せずに全体を矩形であらわした例である。プリンタドライバのフィルタ・パイプライン403のトップフィルタとボトムフィルタの通過イベント(1712、1713)、およびプリンタ1500の排紙イベント1714は矩形の縦線で、プロット間は矩形の横線で表現されている。
グラフ1721は、9ページ5セクションのドキュメントの印刷進捗を示し、X軸がページでY軸がしおりの構造である2次元グラフである。共通データにしおりの情報があった場合、X軸のみのグラフ1701がY軸方向へ拡張されグラフ1721が表示されるととらえると理解しやすい。この2次元グラフ1721上のしおり(Y)とページ(X)の関係をしめす折れ線は、印刷データが進行する線となる。進行線1727上をプリンタドライバのフィルタ・パイプライン403のトップフィルタとボトムフィルタの通過イベント(1722、1723)、およびプリンタ1500の排紙イベント1724がプロットされている。プロット間は線で接続している。各プロットはイベントにあわせ左上から右下へ移動し最終的に排紙イベントが右下へ移動すれば印刷は完了となる。また、グラフ1721上にはしおりの構造をレベル1725として表現したものやしおり名1728を表示することができる。もしグラフの表示領域が小さい場合は、全てを描画する必要はない。
グラフ1721のラベルやテキストを省いたものがグラフ1731になり、文字列情報は図13のように別途表示されているため不足はない。
なお、このグラフはしおり数×ページ数のピクセル表示領域があれば、1ピクセルは、しおりとページの関係を正確に表示していることになる。しおり数かページ数がグラフ表示領域より大きい場合、縮小表示が必要となる。例えば幅を100%とし表示領域にあわせた比を計算し軸毎に縮小し、軸には10%や20%単位で刻みをいれればよい。
図18をもちいて、アプレット410のオプション設定を説明する。
アプレット410の標準ウィンドウ1810にあるボタンを押す1802と[オプション]ダイアログ1803が開く。このダイアログ1803を用いてアプレット410の表示に関する設定を行う。
OFF1806にチェックするとアプレット410は、進捗表示を行わない。
ON1804にチェックされた場合、Option1805には、[□しおりがあるとき]、[□ジョブが大きいとき]、[□排紙に時間がかかっているとき]のチェックボックスが有効になる。[□しおりがあるとき]をONにするとアプレット410は、しおりがあるときだけ進捗表示をおこなう。[□ジョブが大きいとき]をONにするとアプレット410は、ジョブのサイズがある閾値をこえたときだけ進捗表示をおこなう。[□排紙に時間がかかっているとき]をONにするとアプレット410は、連続するページの排紙された時間の間隔が閾値をこえたときだけ進捗表示をおこなう。尚、Option1805で設定されるような表示は、アプレットが印刷処理の途中で処理時間が所定時間より長くかかると判定したときにだけ進捗表示がなされるよう制御されるものであってもよい。
本システムのフローチャート
図19において、アプレット410の印刷処理の進捗に応じた表示に関する処理をフローチャートを用いて説明する。
図19において、アプレット410の印刷処理の進捗に応じた表示に関する処理をフローチャートを用いて説明する。
ステップ2002でアプレット410は、印刷処理の対象となる共通ドキュメントおよびXPS印刷パスのJOBINFOから“ジョブ名”を取得する。
ステップ2003でアプレット410は、印刷処理の対象となる共通ドキュメントおよびXPS印刷パスのJOBINFOから“プリンタ名”を取得する。
ステップ2010でアプレット410は、共通ドキュメントおよびXPS印刷パスのJOBINFOからページの総数を得る(文書構造を参照しながら数える)。総ページ数がえられた(ステップ2011)なら、ステップ2013でアプレット410は“カウンタ”を割合とする。総ページ数がえられなければ、ステップ2014でアプレット140は“カウンタ”をページとする。
ステップ2020でアプレット410は印刷処理の対象となる共通ドキュメントにしおりがあるか否かを判断する。ステップ2020において、しおりがあると判断された場合、ステップ2021でアプレット410は、しおりの構造(文書構造)を解析する。
ステップ2022でアプレット410は、しおりの構造において最上位のルート(例えば図8で表示される“pn2仕様書”という値が設定されるノード)の下位にノードがあるか否かを判断する。
ステップ2022でしおりの構造においてルートの下位にノードがあると判断された場合、ステップ2024でアプレット410は、表示項目となる項目“しおり”の値として下位ノード文字列(例えば図8で表示される“表紙”という値)を取得する。
ステップ2025で、ルートのノードに値(例えば図8で表示される“pn2仕様書”)があるなら、ステップ2026でアプレット410は表示項目となる項目“ドキュメント名”の値を更新する。
ステップ2027でアプレット410は、しおりを用いることができるので表示に項目として”カウンタ”を用いないように制御する。
しおりのルートにノードがない(ステップ2022)なら、ステップ2028でアプレット410は、表示項目となる項目”しおり”の値をルートのノードに設定されている文字列とする。
ステップ2020で印刷処理の対象となる共通ドキュメントにしおりがないと判断された場合、アプレット410は、ステップ2029で表示の項目として”しおり”用いないよう制御する。
ステップ2030でアプレット410は、プリンタのプロセスからのイベントよりプリンタのページプログレスイベントが取得できるか否かを判断する。
ステップ2030でページプログレスイベントが取得できると判断された場合、C(ステップ2031)を経由して、ステップ2032でアプレットは表示項目の”状況”を印刷中とする。
ステップ2030でページプログレスイベントが取得できないと判断された場合、ステップ2033でアプレット410は、ホストコンピュータのページプログレスがとれるか否かを判断する。ホストコンピュータのページプログレスイベントがとれると判断された場合、C’(ステップ2034)を経由して、ステップ2035で表示項目の“状況”を処理中とする。
ステップ2040で、A(ステップ2011)、B(ステップ2023)、及びC(ステップ2031)またはA(ステップ2011)、B(ステップ2023)、及びC’(ステップ2033)の全て通過しているか否かを判断する。
ステップ2040において通過していると判断された場合、ステップ2041でアプレット410はグラフが2次元となる判断ができる。
ステップ2040において通過していないと判断された場合、ステップ2042でアプレット410は、グラフを1次元までの表示になることを判断する。
ステップ2043でアプレット410は、A、B、C(C’)の通過状況に応じてグラフのX、Y軸を設定する。
ステップ2060にて、アプレット410は、各表示項目である“ドキュメント”、“しおり”、“状況”、“カウンタ”をホストコンピュータやプリンタで取得されるイベントにあわせ更新していく。表示は、グラフも同期し更新される。
図20において、アプレット410の印刷処理の進捗に応じたグラフ表示に関する処理をフローチャートを用いて説明する。ここでは具体的に2次元グラフを描画する例を説明する。
ステップ2101でアプレット410はページ管理テーブル1106を作成する。
ステップ2102でアプレット410は時間管理テーブル1107を作成する。
さらにステップ2103でアプレット410はイベント元ごとに時間表1108を作成する。
ステップ2111でアプレット410は、総ページ数を確認し、ステップ2112で総しおり数を確認する。
ステップ2113でアプレット410は、グラフ表示領域のサイズを取得し、ステップ2114で表示領域にはいるようにグラフをスケールする。ステップ2115でアプレット410は、そのX,Yのスケール値を保持する。アプレット410は次に軸などのグラフの静的な部分を描画する。ステップ2121でアプレット410はグラフ枠を描画し、その枠にたいしてステップ2122でページ数の軸を、ステップ2123でしおり項目の軸を描画する。
ステップ2125でアプレット410は文字列1726を、ステップ2124でページ数としおり項目の関係を示す進捗線を描画する。これらのグラフの静的部分の描画順序は前後しても問題ない。
そして、アプレット410はプロット等のグラフの動的部分を描画する処理へ移る。
ステップ2131でアプレット410はドキュメント・ページのイベントを管理するループに入り、ステップ2132で通知されたイベントの発信元を識別する。ステップ2133でアプレット410は、現イベントとジョブの状態識別をおこなう。
ステップ2314で、ステップ2133における識別に基づきエラーイベントか否かの判断を行う。エラーイベントと判断された場合、ステップ2135でエラー状態へ遷移する。そしてステップ2136でアプレット410は、ドキュメント処理がエラーとしてループ継続状態にする。エラーイベントと判断されなかった場合は、ステップ2137に遷移する。
ステップ2317でステップ2133における識別に基づきキャンセルイベントか否かを判断する。キャンセルイベントと判断された場合、アプレット410はステップ2138でキャンセル状態へ移る。そして、ステップ2139でドキュメント処理がキャンセルとしてループ終了にする。キャンセルイベントと判断されなかった場合、ステップ2140に遷移する。
ステップ2140でアプレット410はページプログレスのイベント(例えば906など)およびページ変更データを処理する。
ステップ2141でアプレット410は識別に対応するイベントの進行状態を示す時間表および時間管理テーブルを更新する。ステップ2141でアプレット410はグラフのプロットを更新し、ステップ2142でプロット間の接続線を更新する。
ドキュメント・ページの処理が終了すると、アプレット410はステップ2143でループをぬける。
アプレット410は、各所から送信されたイベントの共有手段は提供するが、印刷処理を実行している各プロセスへキャンセルの指示はしない。
ステップ2151でアプレット410は、ユーザが確認できるように一定時間経過を待ち、その後ステップ2152でグラフを消去する。ステップ2161でアプレット410はイベント元ごとの時間表を解放、ステップ2162で時間管理テーブルを解放、ステップ2163でページ管理テーブルを解放する。
図21でアプレット410における印刷処理の進捗の表示に関するオプション設定の処理をフローチャートを用いて説明する。本処理は、図19で示す処理の後に実行される。
ステップ2202でアプレット410は、図18で示した設定において進捗表示がOFFに設定されている場合、ステップ2203で実際の表示をおこなわないよう制御する(OFF)。進捗表示がONと設定されている場合は、ステップ2205に遷移する。
アプレット410はステップ2205以降で図18の設定画面を介して設定されたOptionを識別する。
ステップ2206で、アプレット410は、設定項目“しおりがあるとき”がONか否か(チェックされているか否か)を判断する。設定項目“しおりがあるとき”がOFFの場合、ステップ2208に遷移する。設定項目“しおりがあるとき”がONで、前述のステップ2023のBを通過していない(ステップ2207)なら、ステップ2203でアプレット410は進捗表示を行わないよう制御する(OFF)。ステップ2023のBを通過してい場合はステップ2208に遷移する。
ステップ2208でアプレット410は、設定項目”ジョブが大きいとき”がONか否か(チェックされているか否か)を判断する。ここで設定項目”ジョブが大きいとき”がONと判断された場合、ステップ2209のDを経由して、ステップ2210に遷移する。設定項目”ジョブが大きいとき”がOFFと判断された場合、そのままステップ2210に遷移する。
ステップ2210でアプレット410は、設定項目”排紙に時間がかかっているとき”がONか否か(チェックされているか否か)を判断する。ここで設定項目”排紙に時間がかかっているとき”がONと判断された場合、ステップ2211のEを経由して、ステップ2212に遷移する。設定項目”排紙に時間がかかっているとき”がOFFと判断された場合、そのままステップ2212に遷移する。
ステップ2212でアプレット410は、D(ステップ2209)及びE(ステップ2211)を経由したかを判断する。D及びEを経由していれば、ステップ2213でアプレット410は表示無効で動作開始し、ステップ2221以降の処理による判定により実際の表示を行うように制御することになる(OFF→ON)(ステップ2214)。D及びEを経由していなければ、アプレット410は実際の表示を行うように制御する(ON)。
ステップ2221以降は動作中の表示切り替えの判定である。ステップ2222でアプレットによる進捗表示を行うか否かの設定がステップ2214での設定(OFF−>ON)で動作しているか否かを判定する。設定(OFF−>ON)で動作している場合、アプレット410はジョブサイズあるいはページ処理時間が規定閾値を超えたとき(ステップ2223)に、ステップ2224で表示を有効に切り替える。ステップ2225でアプレット410は表示をONとし、図15や図16に示すような表示を行うよう制御する。
現在、印刷処理に用いる文書ファイルはオープンな電子ドキュメント形式であり、スプールファイル形式と位置付けられる文書ファイルであれば、下位の印刷プロセスはその内容を参照できるようになる。本発明においては、このプロセスの位置付けの変更にあわせ、従来の印刷状態表示がもっていた課題を改善する。
具体的には、文書ファイル(ドキュメント)の文書構造(しおりの構造)に関する情報をもちい具体性のある表示が行える。また、表示内容として、ホストコンピュータ内の複数のフィルタにおける処理の進捗、プリンタから取得した印刷後の排紙の情報を更に反映する。つまり、しおりの情報と印刷パスにおける各プロセスの処理の進捗を識別可能に表示することができる。よって、ユーザは、現在何ページ目をどこで処理していて、もしくは印刷が終了していて、更にそのページはどのような内容であったかをしおりの情報から理解することができる。
(実施例2)本システムの応用例1
図22をもちいて、本システムの応用例1を説明する。
図22をもちいて、本システムの応用例1を説明する。
フィルタ・パイプライン2303、アプレット2310、印刷状況表示部2311、これまで説明した本システムの各印刷プロセスをプリンタ1500の中に配置されている。本実施例においては、プリンタは自身の表示部に印刷データの進捗表示を行う。
本実施例の特徴として、共通ドキュメント405がプリンタ1500に渡されると、アプレット2310の標準ウィンドウ2321が表示される。そのウィンドウをタップ(2322)すると拡張ウィンドウ2323が表示される。なお、リモートアクセス手段をもちい、アプレット2310の動作および表示をホスト側から参照することも可能である。
(実施例3)本システムの応用例2
図23、図24をもちいて本システムの応用例2を説明する。
図23、図24をもちいて本システムの応用例2を説明する。
図23は、応用例2の概要図である。本システムは、ホストコンピュータの印刷プロセスにおいて追加プログラムによる追加プロセスがある場合、その追加プロセスも含めた印刷プロセスの判断やその進捗の表示方法をアプレット410により提供する。例えば追加プロセスとは、印刷される画像をログとして取得するといった印刷監視処理に係るプロセスなどを示す。本応用例では印刷監視系フィルタの存在をアプレット経由でユーザに認識させ、アプレットの進捗表示のカスタマイズに利用することを目的とする。
フィルタ・パイプライン403内の追加プロセスAAAは、ハンドラ900へ登録イベント発生時にイベントを送出する。印刷プロセスが送信するプロセス追加イベント(2411)はプロセスの”名称”をパラメータに持つ。印刷プロセスが送信するコメント設定イベント(2412)は、対象プロセス名と表示する“文字列”、動作、色をパラメータに持つ。印刷プロセスが送信するプロット設定イベント(2413)は、対象プロセス名と表示する形状、動作、色をパラメータに持つ。その形状パラメータは長方形/正方形/円/楕円、動作パラメータは、点灯/点滅/消灯のコマンドがある(2414)。
IT管理者がプリンタドライバ403のフィルタ・パイプラインにAAAという名称の印刷データの監視用の追加フィルタを設置する。この監視用フィルタが動作していることをアプレット経由でユーザに認識させる処理について説明する。
プロセスAAAは、自身のプロセスをハンドラへ登録、コメントに”―AAAフィルタ 監視中―”の文字列を設定、プロットに長方形、点滅を設定する。アプレット410の拡張ウィンドウ2421にはプロセスAAAのコメント2422と、グラフ2323上のプロット2424が追加される。
図24は、応用例2における処理を以下、フローチャートを用いて説明する。
印刷プロセスのイベント送信(2500)処理について説明する。
ステップ2501で印刷プロセスはプロセス追加イベントを送信する。ステップ2502で印刷プロセスは、コメント設定イベントを送信する。ステップ2503で印刷プロセスは、プロット設定イベントを送信する。
アプレットのイベント受信(2510)処理について説明する。
ステップ2511でアプレット410は、受信したプロセス追加イベントに基づき追加プロセスをイベント元リストに追加する。ステップ2512でアプレットは受信したコメント設定を保存する。ステップ2513で、アプレットは受信したプロット設定を保存する。
アプレットのコメント表示(2520)処理について説明する。
アプレット410は、コメント設定がある(ステップ2521)なら、ステップ2522で保存されているコメントを順にパラメータを設定しながら表示する。
アプレットのプロット表示(2530)処理について説明する。
アプレット410は、プロット設定がある(ステップ2531)なら、ステップ2532で保存されている該当プロットを指定パラメータで描画する。
ここまで説明をおこなってきた印刷進捗の表示と制御は、表示される印刷状況を情報として記録および配信する処理に適用できることはいうまでもない。情報を共通ドキュメントに埋め込む、情報をログに残す、あるいは転送する場合も同様とみなせる。
なお、本発明は、複数の機器(例えばコンピュータ、インタフェース機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(複写機、プリンタ、ファクシミリ装置など)に適用してもよい。
また、本発明の目的は、前述した実施形態で示したフローチャートの手順を実現するプログラムコードを記憶した記憶媒体から、システムあるいは装置のコンピュータ(またはCPUやMPU)が読出し実行することによっても達成される。
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
また、前述のプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
更に、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
1 CPU
1500 プリンタ
3000 コンピュータ
1500 プリンタ
3000 コンピュータ
Claims (19)
- アプリケーションを用いてユーザから印刷指示されたドキュメントに関する印刷処理の進捗の情報を表示する情報処理装置であって、
前記ドキュメントの文書構造に関する情報と前記ドキュメントのページ数を用いて、印刷処理の進捗を表示する表示手段と、
前記表示手段による表示を、前記ドキュメントに関する印刷処理の進捗に基づいて更新する更新手段とを備えることを特徴とする情報処理装置。 - 前記ドキュメントの文書構造に関する情報が、当該ドキュメントに対して設定されているか否かを判断する判断手段を更に備え、
前記判断手段により前記ドキュメントの文書構造に関する情報が、当該ドキュメントに対して設定されていると判断された場合、前記表示手段は前記ドキュメントの文書構造に関する情報と前記ドキュメントのページ数を用いて表示を行い、前記判断手段により前記ドキュメントの文書構造に関する情報が、当該ドキュメントに対して設定されていないと判断された場合、前記表示手段は前記ドキュメントのページ数を用いて前記表示を行うことを特徴とする請求項1に記載の情報処理装置。 - 前記ドキュメントに関する印刷処理の進捗に基づくイベントを受信する受信手段を備え、
前記更新手段は、前記受信手段で受信したイベントに基づき前記表示手段による表示を更新することを特徴とする請求項1または請求項2に記載の情報処理装置。 - 前記ドキュメントは、前記情報処理装置において複数のフィルタを介して処理され、
前記受信手段は、前記ドキュメントのページ識別情報と、当該ページ識別情報で示すドキュメントのページデータが前記フィルタの処理を通過したことをイベントとして受信し、
前記更新手段は、前記受信手段で受信したイベントに基づき、前記複数のフィルタの各々が処理している前記ドキュメントのページを識別可能に表示するために表示を更新することを特徴とする請求項3に記載の情報処理装置。 - 前記受信手段は、前記情報処理装置と通信可能に接続され、前記ドキュメントを印刷するプリンタから、前記ドキュメントのページ識別情報と、当該ページ識別情報で示すドキュメントのページデータが前記プリンタで排紙されたことをイベントとして受信し、
前記更新手段は、前記受信手段で受信したイベントに基づき、前記プリンタにより排紙された前記ドキュメントのページを識別可能に表示するために表示を更新することを特徴とする請求項3または請求項4に記載の情報処理装置。 - 前記情報処理装置はユーザによるフィルタの追加が可能であり、
前記表示手段は、印刷処理の進捗を表示する際に、ユーザにより追加された追加フィルタの名称を表示し、
前記更新手段は、前記追加フィルタが処理している前記ドキュメントのページを識別可能に表示するために表示を更新することを特徴とする請求項1乃至請求項5のいずれか1項に記載の情報処理装置。 - 前記追加フィルタは、前記ドキュメントの印刷処理を監視するために前記情報処理装置に追加される監視用フィルタであることを特徴とする請求項6に記載の情報処理装置。
- 前記表示手段による表示において、ユーザにより印刷指示された前記ドキュメントの名称が含まれ、
ドキュメントの名称として前記ドキュメントのジョブ名を用いることを特徴とする請求項1乃至請求項7のいずれか1項に記載の情報処理装置。 - 前記ドキュメントの文書構造に関する情報は木構造で記述され、
前記表示手段による表示において、ユーザにより印刷指示された前記ドキュメントの名称が含まれ、
ドキュメントの名称として前記ドキュメントの文書構造に関する情報のルートのノードに設定された値を用いることを特徴とする請求項1乃至請求項7のいずれか1項に記載の情報処理装置。 - アプリケーションを用いてユーザから印刷指示されたドキュメントに関する印刷処理の進捗の情報を表示部に表示する情報処理装置における情報処理方法であって、
前記ドキュメントの文書構造に関する情報と前記ドキュメントのページ数を用いて、印刷処理の進捗を表示部に表示するための表示工程と、
前記表示工程による表示を、前記ドキュメントに関する印刷処理の進捗に基づいて更新する更新工程とを備えることを特徴とする情報処理方法。 - 前記ドキュメントの文書構造に関する情報が、当該ドキュメントに対して設定されているか否かを判断する判断工程を更に備え、
前記判断工程により前記ドキュメントの文書構造に関する情報が、当該ドキュメントに対して設定されていると判断された場合、前記表示工程において前記ドキュメントの文書構造に関する情報と前記ドキュメントのページ数を用いて表示を行い、前記判断工程により前記ドキュメントの文書構造に関する情報が、当該ドキュメントに対して設定されていないと判断された場合、前記表示工程において前記ドキュメントのページ数を用いて前記表示を行うことを特徴とする請求項10に記載の情報処理方法。 - 前記ドキュメントに関する印刷処理の進捗に基づくイベントを受信する受信工程を備え、
前記更新工程において、前記受信工程で受信したイベントに基づき前記表示工程による表示を更新することを特徴とする請求項10または請求項11に記載の情報処理方法。 - 前記ドキュメントは、前記情報処理装置において複数のフィルタを介して処理され、
前記受信工程は、前記ドキュメントのページ識別情報と、当該ページ識別情報で示すドキュメントのページデータが前記フィルタの処理を通過したことをイベントとして受信し、
前記更新工程において、前記受信工程で受信したイベントに基づき、前記複数のフィルタの各々が処理している前記ドキュメントのページを識別可能に表示を更新することを特徴とする請求項12に記載の情報処理方法。 - 前記受信工程は、前記情報処理装置と通信可能に接続され、前記ドキュメントを印刷するプリンタから、前記ドキュメントのページ識別情報と、当該ページ識別情報で示すドキュメントのページデータが前記プリンタで排紙されたことをイベントとして受信し、
前記更新工程において、前記受信工程で受信したイベントに基づき、前記プリンタにより排紙された前記ドキュメントのページを識別可能に表示を更新することを特徴とする請求項12または請求項13に記載の情報処理方法。 - 前記情報処理装置はユーザによるフィルタの追加が可能であり、
前記表示工程において、印刷処理の進捗を表示する際に、ユーザにより追加された追加フィルタの名称を表示し、
前記更新工程において、前記追加フィルタが処理している前記ドキュメントのページを識別可能に表示を更新することを特徴とする請求項10乃至請求項14のいずれか1項に記載の情報処理方法。 - 前記追加フィルタは、前記ドキュメントの印刷処理を監視するために前記情報処理装置に追加される監視用フィルタであることを特徴とする請求項15に記載の情報処理方法。
- 前記表示工程による表示において、ユーザにより印刷指示された前記ドキュメントの名称が含まれ、
ドキュメントの名称として前記ドキュメントのジョブ名を用いることを特徴とする請求項10乃至請求項16のいずれか1項に記載の情報処理方法。 - 前記ドキュメントの文書構造に関する情報は木構造で記述され、
前記表示工程による表示において、ユーザにより印刷指示された前記ドキュメントの名称が含まれ、
ドキュメントの名称として前記ドキュメントの文書構造に関する情報のルートのノードに設定された値を用いることを特徴とする請求項10乃至請求項16のいずれか1項に記載の情報処理方法。 - 請求項10乃至請求項17のいずれか1項に記載の情報処理方法をコンピュータにより実現するためのプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007330952A JP2009151702A (ja) | 2007-12-21 | 2007-12-21 | 情報処理装置、情報処理方法、及びプログラム |
US12/336,720 US8319997B2 (en) | 2007-12-21 | 2008-12-17 | Information processing apparatus to display information about progress of print processing, information processing method, and storage medium |
CNA2008101864458A CN101464784A (zh) | 2007-12-21 | 2008-12-19 | 信息处理设备和信息处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007330952A JP2009151702A (ja) | 2007-12-21 | 2007-12-21 | 情報処理装置、情報処理方法、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009151702A true JP2009151702A (ja) | 2009-07-09 |
Family
ID=40788250
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007330952A Pending JP2009151702A (ja) | 2007-12-21 | 2007-12-21 | 情報処理装置、情報処理方法、及びプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US8319997B2 (ja) |
JP (1) | JP2009151702A (ja) |
CN (1) | CN101464784A (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100074565A (ko) * | 2008-12-24 | 2010-07-02 | 삼성전자주식회사 | 썸네일 변경 방법 및 인쇄제어장치 |
KR20110051052A (ko) * | 2009-11-09 | 2011-05-17 | 삼성전자주식회사 | 인쇄 제어 방법 및 인쇄 제어 단말장치 |
JP5807460B2 (ja) * | 2011-09-08 | 2015-11-10 | 株式会社リコー | 情報処理装置、プログラム、記憶媒体 |
JP6209862B2 (ja) * | 2013-05-24 | 2017-10-11 | 富士通株式会社 | プログラム、ジョブ監視支援方法、情報処理装置およびシステム |
JP6855268B2 (ja) * | 2017-02-10 | 2021-04-07 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法及びプログラム |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5706411A (en) * | 1992-11-09 | 1998-01-06 | Microsoft Corporation | Printer status user interface and methods relating thereto |
US6268924B1 (en) * | 1996-06-06 | 2001-07-31 | Microsoft Corporation | Document object having a print interface for programmatic automation by a using program |
JP3287787B2 (ja) * | 1997-06-03 | 2002-06-04 | キヤノン株式会社 | 出力制御方法及び装置 |
JP4454819B2 (ja) * | 2000-09-20 | 2010-04-21 | キヤノン株式会社 | デジタルカメラ、デジタルカメラの制御方法 |
JP3835322B2 (ja) * | 2002-03-22 | 2006-10-18 | ブラザー工業株式会社 | プリントシステム,印刷装置,ウェブサーバ,進捗状況表示データ提供サーバ,プログラム |
US9886309B2 (en) * | 2002-06-28 | 2018-02-06 | Microsoft Technology Licensing, Llc | Identity-based distributed computing for device resources |
US20050052659A1 (en) * | 2003-09-05 | 2005-03-10 | Jacobsen Dana A. | Progress indicator for graphical display on printers |
JP2005165634A (ja) * | 2003-12-02 | 2005-06-23 | Canon Inc | 印刷システムおよび進捗表示処理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム |
US7788592B2 (en) | 2005-01-12 | 2010-08-31 | Microsoft Corporation | Architecture and engine for time line based visualization of data |
JP2006350674A (ja) * | 2005-06-16 | 2006-12-28 | Kyocera Mita Corp | ジョブ進捗状況表示装置及びその方法 |
-
2007
- 2007-12-21 JP JP2007330952A patent/JP2009151702A/ja active Pending
-
2008
- 2008-12-17 US US12/336,720 patent/US8319997B2/en not_active Expired - Fee Related
- 2008-12-19 CN CNA2008101864458A patent/CN101464784A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
CN101464784A (zh) | 2009-06-24 |
US8319997B2 (en) | 2012-11-27 |
US20090161157A1 (en) | 2009-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7522297B2 (en) | Print instruction apparatus and print instruction method | |
JP5782865B2 (ja) | プリンタドライバ | |
EP2424208B1 (en) | Information processing apparatus, output control method, and storage medium | |
JP2006260245A (ja) | 印刷制御装置、印刷制御装置の制御方法、印刷制御プログラム及び記録媒体 | |
JP2008077210A (ja) | 画像表示装置およびプログラム | |
JP2003162394A (ja) | 印刷制御装置および方法 | |
JP2010286904A (ja) | レイアウト編集装置、レイアウト編集方法及びプログラム | |
US20100131566A1 (en) | Information processing method, information processing apparatus, and storage medium | |
JP5031514B2 (ja) | データ処理装置およびデータ処理方法 | |
JP2009151702A (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP2008269485A (ja) | 情報処理装置及び情報処理方法 | |
US20070146760A1 (en) | Print System and Programs for Use in Print System | |
JP2005025308A (ja) | 情報処理装置、分散印刷制御方法及び分散印刷制御プログラム | |
JP5807460B2 (ja) | 情報処理装置、プログラム、記憶媒体 | |
JP2008242875A (ja) | 表示端末及び印刷制御プログラム | |
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 | |
JP2007301881A (ja) | マルチポート印刷装置 | |
JP2009110080A (ja) | プログラム、印刷データ処理装置及び印刷システム | |
JP2005107845A (ja) | 文書処理装置および文書処理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム | |
JP2009020553A (ja) | 電子ファイル管理装置および電子ファイル管理プログラム | |
JP2001043051A (ja) | 情報処理装置及びその制御方法及び記憶媒体 | |
JP2015176231A (ja) | 情報処理装置、情報処理方法及び情報処理システム | |
US8160469B2 (en) | Information processing apparatus, method for controlling the information processing apparatus, and storage medium | |
JP5494561B2 (ja) | 情報処理装置、画像形成装置、プログラム、及び、情報処理方法 | |
JP2011182322A (ja) | 印刷制御プログラムとコンピュータ読み取り可能な記録媒体と情報処理装置と印刷装置と印刷システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20100201 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20100630 |