JP5031514B2 - データ処理装置およびデータ処理方法 - Google Patents

データ処理装置およびデータ処理方法 Download PDF

Info

Publication number
JP5031514B2
JP5031514B2 JP2007283544A JP2007283544A JP5031514B2 JP 5031514 B2 JP5031514 B2 JP 5031514B2 JP 2007283544 A JP2007283544 A JP 2007283544A JP 2007283544 A JP2007283544 A JP 2007283544A JP 5031514 B2 JP5031514 B2 JP 5031514B2
Authority
JP
Japan
Prior art keywords
print command
printing
print
page
data
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.)
Expired - Fee Related
Application number
JP2007283544A
Other languages
English (en)
Other versions
JP2009110389A (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.)
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 JP2007283544A priority Critical patent/JP5031514B2/ja
Priority to US12/258,182 priority patent/US8446620B2/en
Publication of JP2009110389A publication Critical patent/JP2009110389A/ja
Application granted granted Critical
Publication of JP5031514B2 publication Critical patent/JP5031514B2/ja
Expired - Fee Related 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/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1259Print job monitoring, e.g. job status
    • 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/1205Improving or facilitating administration, e.g. print management resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
    • 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/1207Improving or facilitating administration, e.g. print management resulting in the user being informed about print result after a job submission
    • 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/1246Job translation or job parsing, e.g. page banding by handling markup languages, e.g. XSL, XML, HTML
    • 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/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1284Local printer device
    • 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
    • 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)
  • Accessory Devices And Overall Control Thereof (AREA)

Description

本発明は、印刷中の文書の情報などの印刷状況を表示する機能を有するデータ処理装置およびデータ処理方法に関する。
従来、プリンティングシステムは、カラー出力を可能とするカラープリンタと、そのプリンタを制御し印刷データを生成するホストコンピュータと、その双方を接続する通信インターフェースとから構成されるのが一般的である。ホストコンピュータではオペレーティングシステムが動作しており、各種ソフトウェアがこのオペレーティングシステム上で動作するようになっている。アプリケーションソフトウェアで作成した各種ドキュメントを印刷する際には、アプリケーションソフトウェア、プリンタドライバ、オペレーティングシステムが規定の手順で関数呼び出し等を行うことによってデータをやり取りしてプリンタコマンドを生成する。この生成されたプリンタコマンドをプリンタへ転送することで印刷が行われるようになっている。プリンタドライバの中にはオペレーティングシステムが提供する通信機能を用いてプリンタと双方向通信を行い、プリンタが印刷中の文書の情報を画面上に表示するなどして、ユーザの利便性を高めるようになっているものもある(特許文献1参照)。
特開2000−029641
近年、内部構造がツリー構造になっている新しい形式の電子文書 XPS(XML Paper Specification)がMicrosoft社によって開発された。ツリー構造になっているため、1つの電子文書中に、複数の文書を含めて論理的に管理できるようになっている。例えば1つの電子文書中に、ワープロ文書、表計算文書、プレゼンテーション文書の3つの文書を含めることが可能である。この文書を印刷して前記従来例の方法で印刷中の文書の情報を画面上に表示する場合、印刷中のページや印刷済みのページ数などを表示できる。しかし、印刷中のページや印刷済みのページが電子文書中に含まれる複数の文書のうちどの文書に対応するのかわからないという問題があった。
Microsoft社のOSであるWindows(登録商標) Vistaでは、フィルターパイプラインと呼ばれるXPS文書の印刷処理を行うモジュールが、XPS文書中の各文書およびその文書のページを処理する度に、プログレスレポートとよばれるOSの印刷サポート機能を介して処理状況をOSのプリントキューに通知することが出来る。プリントキューのステータス欄を参照することで、どの文書の何ページ目が処理中かがわかるようになっている。しかし実際にプリンタで印刷されているページと合っていないという問題があった。
また複数部印刷の場合、フィルターパイプラインによりXPS文書中の各文書が複製される。例えば、ワープロ文書を1つだけ含むXPS文書を2部印刷する場合、フィルターパイプラインにより複製されたワープロ文書が追加され、ワープロ文書を2つ含むXPS文書が作成される。フィルターパイプラインが2部目を処理しているとき、プログレスレポートによって通知された処理状況をプリントキューのステータス欄で確認すると、「印刷中‐固定ドキュメントシーケンス1−固定ドキュメント2−固定ページ1」と表示される。ワープロ文書を2つ含むXPS文書を1部印刷する場合も同じように「印刷中‐固定ドキュメントシーケンス1−固定ドキュメント2−固定ページ1」と表示されるため両者を区別できない問題があった。
本発明は上記従来の問題点を鑑み、複数部印刷の場合でも適切な表示を行うことが可能な印刷システムを提供する。
上記の課題を解決するために、本発明のデータ処理装置は、スプールファイルに格納され且つ内部構造がツリー構造となっている電子文書データを入力とし、指定された印刷設定に応じてページの複製及び追加を行い電子文書データを出力するレイアウト処理手段と、
前記レイアウト処理手段から出力される電子文書データを、印刷装置が解釈可能な印刷コマンドに変換するとともに、電子文書データのツリー構造に関する情報を前記印刷コマンドに追加する印刷コマンド変換手段と、前記印刷コマンド変換手段から出力される印刷コマンドを印刷装置に送信する機能及び、印刷装置から印刷状況を取得する機能を持つデータ通信処理手段と、前記データ通信処理手段により取得された前記印刷状況と、前記電子文書データに含まれる前記ツリー構造に関する情報を用いて印刷中のページに関する情報の表示を行う印刷状況表示手段とを有することを特徴とする。
また、本発明のデータ処理方法は、スプールファイルに格納され且つ内部構造がツリー構造となっている電子文書データを入力とし、指定された印刷設定に応じてページの複製及び追加を行い電子文書データを出力するレイアウト処理工程と、前記レイアウト処理工程から出力される電子文書データを、印刷装置が解釈可能な印刷コマンドに変換するとともに、電子文書データのツリー構造に関する情報を前記印刷コマンドに追加する印刷コマンド変換工程と、前記印刷コマンド変換工程から出力される印刷コマンドを印刷装置に送信し、印刷装置から印刷状況を取得するデータ通信処理工程と、前記データ通信処理工程により取得された前記印刷状況と、前記電子文書データに含まれる前記ツリー構造に関する情報を用いて印刷中のページに関する情報の表示を行う印刷状況表示工程とを有することを特徴とする。
以上説明したように、本発明によれば以下のような効果が得られる。
(1)内部構造がツリー構造となっている電子文書を印刷する際、印刷中のページとツリー構造の要素を関連づけて表示できる。
(2)複数部印刷を行う際も、印刷状況を正確に把握でき、ツリー構造のどの要素の何部目を印刷中かを表示できる。
以下、図面に示す実施例に基づき本発明を詳細に説明する。
<XPS文書の構成>
本文の理解を容易にするため、まずXPSについて簡単に説明する。XPSとはXML Paper Specificationの略で、Microsoft社が開発したオープン規格の電子文書フォーマットの一つである。
XPS文書はFixedDocumentSequence (以下FDS)をルートとして各要素がツリー構造になっている。FDSは複数のFixedDocument(以下FD)を持ち、FDは複数のFixedPage(以下FP)を持つ。FDSとFDとFPのそれぞれは、XPSパートと呼ばれることがある。FPは文書のページの内容をXML形式で記述しており、実際に表示または印刷される内容を含んでいる。FPのページ内容で使用されるフォントや画像等の資源は複数のFPで共有することができる。また、FDSとFDとFPははそれぞれ印刷設定をPrintTicket(以下PT)で持つことができる。PTはXPS文書を印刷する際の印刷設定をXML形式で記述したものである。ここで各FPを印刷する際に使用する印刷設定は、FDSのPTと、印刷対象FPの親FDのPTと、印刷対象FPのPTをマージしたPTとなる。
図1はXPS文書の論理構造を示したブロック図の一例である。XPS文書の論理構造はFDS301がルートとなるツリー構造となっている。FDS301は子としてFD302とFD305を有する。FD302は子としてFP303とFP304を有する。FD305は子としてFP306を有する。印刷設定を記述したPTについては、FDS301がPT307を、FD302がPT308を、FP303がPT308を、FD305がPT311をそれぞれ保持している。FP304とFP306はPTを保持していない。また、FP303とFP304がフォントや画像等の資源310を共有しており、FP306はフォントや画像等の資源312を利用している。ここで例えばFP303を印刷する際に使用するPTは、PT307とPT308とPT309をマージしたPTとなる。
以上説明したように、XPS文書は論理的にXPSパートという概念を用いると理解が容易になる。ただし、XPS文書自体はバイト列(ストリーム)として取り扱いが可能である為、XPS文書内部のデータを指す場合はXPSデータという言葉を用いることもある。従って本文においてもXPSパートとXPSデータという言葉を用いて実施例を説明する。
<フィルター パイプラインの構成>
図4を用いて、フィルター パイプラインの構成について説明する。フィルターパイプラインはXPS文書を処理する複数のフィルターで構成されている。各フィルター401,403,404は、Inter−Filter Communicator408というインターフェースを通してFilter Pipeline Manager405で管理される。
XPSスプールファイル406にはXPS文書が格納されている。XPSスプールファイル406はFilter Pipeline Manager405により各フィルター402,403,404に送られ処理される。
Filter configuration file407には、フィルター パイプラインを構成するフィルターが記述されている。
Property Bag401には、フィルター間の共有データを格納することが出来る。
<印刷システムの構成>
図2は本発明の実施の一形態に係る印刷システムの構成を示すブロック図である。プリンタ101は、画像形成を行うインクジェット方式のプリンタであり、後述するデータ処理装置102で生成された印刷コマンドに基づいて記録媒体100に画像の形成を行う。プリンタの種類については特に問わないが、ここではインクジェット方式のカラープリンタを想定している。データ処理装置102は、アプリケーションが印刷ジョブを作成し、プリンタドライバが印刷ジョブのスプールデータから、接続されたプリンタ101の印刷動作を制御する印刷コマンドの生成を行う。本実施形態ではデータ処理装置102としてパーソナルコンピュータを用いている。印刷の設定に関するユーザーからの指示や入力を受ける役割も果たす。データ処理装置102は、各種機能ブロック130、131、133、134、140、141、142,143,144によって構成される。また、データ処理装置102には、データ処理装置102を制御するOSが組み込まれており、このOS上で各種機能ブロックが動作する。OSは本実施形態ではWindows(登録商標) XPを想定しているが、他のOSであっても構わない。通信インターフェース103は、データ処理装置102とプリンタ101を接続する通信インターフェースである。本実施形態ではシリアルインターフェースであるUSBを用いているが、この他に、IEEE1394、Ethernet(登録商標)、IrDA、IEEE802.11、電力線などのシリアルインターフェースや、セントロニクス、SCSIなどのパラレルインタフェースを利用することもできる。通信を実現するものであれば有線/無線を問わずどのようなインターフェースであっても構わない。このように、本実施形態における印刷システムとは、単体の装置ではなく、データ処理装置102と画像形成を行うプリンタ101とが特定の双方向インターフェースで接続された構成をとっているが、この例に限られることなく、このようなデータ処理装置とプリンタの機能が一体となった装置一体型の印刷システムであってもよい。尚、プリンタ101及びデータ処理装置102とも本実施形態の特徴を説明する上で特に必要ないと思われる機能については省略する。
中央制御部141は、データ処理装置102の各種機能を制御し、CPUの持つ機能がこれに該当する。入力操作部142は、ユーザの意図を印刷設定に反映させるための各種入力機器から構成される。情報通知部143は、印刷設定をユーザに通知する。通知方法としては、モニタなどの表示装置を使用する場合や音声による通知などが考えられる。I/F制御部140は、データ処理装置102のインターフェース機能を司る。記憶部144はOSやアプリケーションプログラムやプリンタドライバの命令コードを格納し、ソフトウェアが動作するにあたり一時的にデータを保存・読込みするのに使用される。記憶部144は例えばハードディスクドライブや半導体メモリなどで構成される。プリンタドライバ130は、印刷のための各種設定や印刷データの生成及びプリンタの制御をデータ処理装置102上で行うためのソフトウェアである。中央制御部141によりプリンタドライバのプログラムが実行されて、印刷設定処理部131や、レイアウト処理部と印刷コマンド変換処理部を含む印刷コマンド生成部134、データ通信処理部133などの機能が実現される。印刷設定処理部131は、用紙の設定や印刷品位の設定などを含む各種印刷設定を行う。印刷設定処理部131は、ユーザからの指示や入力を受け付け、設定された内容を表示もしくは通知する機能を有する。印刷コマンド生成部134では、レイアウト成処理部においてアプリケーションにより作成された印刷ジョブのページの部数処理やレイアウト処理を行った後に、印刷コマンド生成部においてレイアウト処理後の印刷データを印刷コマンドに変換する。印刷コマンド生成部で作成された印刷コマンドは、データ通信処理部133を介してI/F制御部140に送られ、プリンタ101へ印刷コマンドが送られる。
<プリンタドライバの動作>
図3は、本発明におけるプリンタドライバの実施形態を説明するために図2の印刷システムをOSの印刷サポート機能とプリンタドライバを中心に概念的に表したブロック図である。図3における印刷システムでは、アプリケーション201が作成した文書の各ページの印刷データは、OSの印刷サポート機能202を通じてXPSスプールファイル203に一時的に蓄えられる。これをプリンタドライバのフィルターパイプライン204がプリンタが解釈可能な印刷コマンドに変換してプリンタ209に供給して印刷するよう構成されている。
フィルターパイプライン204は、XPSデータのページをレイアウト処理する機能を有するレイアウトフィルター205と、XPSデータをプリンタが解釈可能な印刷コマンドに変換する機能を有する印刷コマンドフィルター206で構成される。
ユーザインタフェースモジュール211は、一般に印刷に使用する用紙サイズや印刷方向、部数、その他の属性を設定する機能を提供する。ユーザインタフェースモジュール211は、複数の印刷設定項目の設定値が格納された印刷設定情報をアプリケーション201に返却する。
アプリケーション201は作成した任意の文書の印刷にあたり、OSの印刷サポート機能202に対して、印刷開始や印刷終了、印刷設定を行うためにユーザインタフェースモジュール211から返却された印刷設定情報、および文書の各ページの描画開始や描画終了を通知する。OSの印刷サポート機能202は、アプリケーションが描画した内容や印刷設定情報をXPSスプールファイル203に格納する。
フィルターパイプライン204は一つ以上のフィルターで構成されており、印刷時にXPSスプールファイルから印刷設定情報とXPSパートを読込み、プリンタが解釈可能な印刷コマンドに変換してプリンタ209に供給し、印刷を行う機能を有する。各フィルターはスプールされた印刷ジョブをデスプール際にOSの印刷サポート機能から呼び出される。スプールされたXPSデータはフィルターパイプライン204の各フィルターを通過する際にXPSデータのまま内容が編集され、或いはドライバ独自のデータ形式に変換され、最終的にプリンタが解釈可能な印刷コマンドに変換される。印刷ジョブのXPSデータを全て処理し終えた場合、或いは、印刷ジョブがキャンセルされた場合は、フィルターパイプライン204の各フィルターは動作を終了する。本実施形態におけるフィルターパイプライン204はレイアウト処理部であるレイアウトフィルター205と、印刷コマンド変換部である印刷コマンドフィルター206で構成される。
レイアウトフィルター205は、XPSスプールファイル203に格納されたXPSデータを入力とし、印刷設定情報に基づきページのレイアウト処理を行い、レイアウト済みのXPSデータを出力する機能を有する。部数印刷が設定されている場合は、FDS、FD、FPなどのXPSパートの複製を行いページの追加を行う。本発明におけるレイアウトフィルター205は複製を行う際、複製元となるFDやFPの情報および部数情報を複製するページに含める。
印刷コマンドフィルター206はレイアウトフィルター205の出力を入力とし、印刷設定情報に従い、XPSデータをプリンタが解釈可能な印刷コマンドに変換し出力する機能を有する。この際、FDS、FD、FPの情報も印刷コマンドに追加して出力する。部数印刷が設定されていてレイアウトフィルター205にてXPSパートの複製・ページの追加が行われている場合は、複製元のFDS、FD、FPの情報および部数情報も印刷コマンドに追加して出力する。ページプリンタ等の高機能なプリンタにおいて、プリンタが解釈できる印刷コマンドの種類にXPSが含まれる場合、印刷コマンドフィルター206は入力のXPSデータをそのまま出力しても良い。または、印刷コマンドフィルター206自体をプリンタドライバに含めなくても良い。
印刷コマンドフィルター206によって出力された印刷コマンド207は、ランゲージモニタ208に送られる。ランゲージモニタ208は印刷コマンド207を解釈し、印刷コマンド1ページ分毎にページIDを割り当て、プリンタ209に送信する。さらに、印刷コマンド207に含まれるFDS、FD、FPの情報、および、複製元のFDS、FD、FPの情報および部数情報を解釈し、ページIDとそれに対応するFDS、FD、FP、複製元FDS、複製元FD、複製元FP、部数情報の一覧表を作成する。プリンタがXPSデータを解釈できる場合、ランゲージモニタ208は、上記のページIDの追加や一覧表の作成を行うことなく、印刷コマンド207をそのままのプリンタ209に送信する。
プリンタ209は、ランゲージモニタ208からの要求に応じて、現在印刷中のページのページIDを返却する。ランゲージモニタ208は、プリンタ209から返却されたページIDと、前記の一覧表から、現在印刷中の、FDS、FD、FP、複製元FDS、複製元FD、複製元FP、部数情報を特定することが出来る。プリンタ209がXPSデータを解釈できる場合、ランゲージモニタ208からの要求に応じて、現在印刷中のページのFDS、FD、FP、複製元FDS、複製元FD、複製元FP、部数情報を返却する。
ステータスモニタ210は、ランゲージモニタ208と通信を行い、現在の印刷状況をユーザに表示する。ここで印刷状況とは、紙無エラーなどのエラーの発生状況の有無、インクの残量、現在印刷中のページ数などを指す。本発明におけるステータスモニタ210は、これらの情報に加えて、現在印刷中のページのFDS、FD、FP、複製元FDS、複製元FD、複製元FP、部数情報も表示することが可能である。
出力デバイスであるプリンタ209は、ランゲージモニタ208から送られた印刷コマンド207を解釈し、印刷用紙に対して形成する機能を持つ。
次に図3の印刷システムにおいて、2ページのXPS文書を2部印刷する場合について説明する。アプリケーション201はOSの印刷サポート機能202を介しユーザインタフェースモジュール211の印刷設定機能を利用する。印刷設定として部数を2部に設定する。アプリケーション201は取得した印刷設定情報を用いて、複数ページからなる文書の印刷を開始する。アプリケーション201の文書の印刷データと印刷設定情報はOSの印刷サポート機能を介してXPSスプールファイル203に格納される。
図5は、アプリケーション201が作成し、XPSスプールファイル203に格納されたXPS文書の概念図である。XPS文書500は、1つのFDS、FDS1(501)を持ち、FDS1(501)は2つのFD、FD1(502)、FD2(504)を持つ。各FDはそれそれ1つのFP、FP1(503)、FP1(505)を持つ。
図3に戻る。XPSスプールファイル203にXPS文書のページがスプールされ始めると、OSの印刷サポート機能はフィルターパイプライン204を起動する。レイアウトフィルター205は印刷設定情報を参照し部数設定が2部になっているため、FD、FPを複製しページの追加を行う。同時に、複製元のFD、FPの情報および部数情報も追加する。
図6は、FD、FPが複製され、ページの追加が行われたXPS文書の概念図である。500〜505は図4と同じため説明を省略する。514の点線で囲まれた部分が複製・追加されたFD、FPである。FD3(506)、FD4(508)は複製されたFDであり、複製元はFD1(502)、FD2(504)である。FP1(507)、FP1(509)は複製されたFPであり、複製元はFP1(503)、FP1(505)である。複製されたFD3(506)、FD4(508)、FP1(507)、FP1(509)は複製元および部数情報として、510〜513を保持している。510〜513の情報は、PTに保持してもよいし、Property Bagに保持してもよい。
図3に戻る。次に印刷コマンドフィルター206のよって入力のXPSスプールファイル203はプリンタ209が解釈可能な印刷コマンド207に変換される。変換の際、FDS、FD、FPの情報も印刷コマンド207に追加する。XPSスプールファイル203にはレイアウトフィルター205によって追加された510〜513の情報があるので、印刷コマンドフィルター206はこれらの情報も印刷コマンド207に追加する。
図7は、FDS、FD、FPの情報および510〜513の情報が追加された印刷コマンド207の概念図である。図7は4ページ分の印刷コマンドである。各ページにFDS、FD、FPの情報および510〜513の情報がどのように埋め込まれているかを表している。なおコマンドのフォーマットは情報を表現できればどのようなフォーマットでもよいのでここでは説明しない。
1ページ目〜4ページ目には、FDS,FD、FPの情報が埋め込まれている。
1ページ目〜2ページ目は、部数印刷用に複製・追加されたページではないので複製元のFDS,FD,FPの情報は全て「なし」となっている。また部数に関しては「1部目」となっている。
3ページ目〜4ページ目は、複製・追加されたページなので、複製元のFD、FPの情報が設定されている。また部数に関しては「2部目」となっている。
図3に戻る。ランゲージモニタ208は、印刷コマンド207を解釈し、ページ毎のFDS、FD、FPの情報および510〜513の情報を取得する。またページ毎にページIDを印刷コマンド207に追加する。ランゲージモニタ208は、これらの情報をテーブルを作成して管理する。
図8はランゲージモニタ208が作成するテーブルの一例である。1ページ〜4ページが、701〜704に対応する。1ページ目(701)、2ページ目(702)は、複製されたページではないため、FDS、FD、FPと複製元のFDS、FD、FPは同一であり部数も1となっている。3ページ目(703)、4ページ目(704)は複製・追加されたページである。3ページ目(703)は、FDはFD3だが、複製元FDはFD1でとなっている。4ページ目(704)は、FDはFD4だが、複製元FDはFD2となっている。
部数は、3ページ目(703)、4ページ目(704)ともに2となっている。
図3に戻る。プリンタ209は、印刷コマンド207を受け取り印刷を実行する。またランゲージモニタ208の要求に応じて現在印刷しているページのページIDを返却する。
ランゲージモニタ208は図8のテーブルを参照することで、現在印刷中のページに対応するFDS、FD、FP、複製元FDS、複製元FD、複製元FPがどれなのか、また何部目なのかを判断できる。例えば返却されたページIDが3の場合、
対応するFDSは、FDS1
対応するFDは、FD3
対応するFPは、FP1
対応する複製元FDSは、FDS1
対応する複製元FDは、FDS1
対応する複製元FPは、FP1
部数は、2
であることが分かる。
ステータスモニタ210はランゲージモニタ208と通信を行い、現在の印刷情況をユーザに表示する。例えばプリンタ209が3ページ目を印刷中の場合、図9のようにステータスモニタ800は表示領域806にFD2のFP1の2部目が印刷中であることが分かる表示を行う。
このようにXPS文書のFDS、FD、FPの情報、複数部印刷の場合は、複製元のFDS、FD、FPの情報と部数の情報を、印刷コマンドに追加し、ランゲージモニタでページIDと関連付けて管理することにより、印刷中のXPS文書の状態をより詳細に表示することが可能となる。
また本実施形態では、上記のページIDとの関連付けの管理をランゲージモニタが行っているが、ランゲージモニタに限らずプリンタがこの管理を行っても構わない。
<レイアウトフィルター処理>
図10を用いてレイアウトフィルターの処理について説明する。図10はレイアウトフィルターの処理を示すフローチャートの一例である。S401で処理を開始し、S402でPTを取得する。S403で複数部印刷が設定されているかを確認し、設定されていればS404に移る。S404でFDS、FD、FPなどのXPSパートを取得し、S405でこれらのXPSパートを複数部印刷用に複製し、XPS文書にページを追加する。S406で複製元のFDS、FD、FPや部数情報を保持する。保持する場所はPTでも良いし、Property Bagでもよい。S407でXPSパートを出力し、S408で処理を終了する。S409では複数部印刷が設定されていないため、XPSパートの複製処理やページの追加処理は行わない。S409でXPSパートを順次取得し、送信を行い終了する。
出力されたXPSデータは次のフィルターに送信される。
<印刷コマンドフィルター処理>
図11を用いて印刷コマンドフィルターの処理について説明する。図11は印刷コマンドフィルターの処理を示すフローチャートの一例である。S501で処理を開始し、S502でXPSパートを取得する。S503で取得したXPSパートを印刷コマンドに変換する。S504でXPSパートの情報を取得し、S505で取得したXPSパートの情報を印刷コマンドに追加する。S506で印刷コマンドを出力し、S507で処理を終了する。出力された印刷コマンドは0Sのスプーラを経由してランゲージモニタに送信される。
<ランゲージモニタ処理>
図12を用いてランゲージモニタの処理について説明する。図12はランゲージモニタの処理を示すフローチャートの一例である。スプーラがランゲージモニタを呼び出し、S601でランゲージモニタが処理を開始する。S603で印刷コマンドを取得し、S604でページ終了コマンドが含まれているかどうかを判定する。ページ終了コマンドが含まれていた場合は、S608で現在のページ数を1つだけインクリメントする。S605に移り、印刷コマンドにXPSパートの情報が含まれているかどうかを判定する。含まれている場合は、S609でXPSパートの情報をテーブルに追加しS610に移る。S610で印刷コマンドにページIDを追加する。設定するページIDは現在のページ数と同じ数値を設定する。S606で印刷コマンドを出力し、S607で処理を終了する。出力した印刷コマンドはプリンタに送信される。スプーラは印刷コマンドを全て送信・もしくは印刷がキャンセルされるまで、ランゲージモニタを呼び出しS601から処理が繰り返し行われる。
<ランゲージモニタとステータスモニタの通信処理>
図13を用いてランゲージモニタとステータスモニタの通信処理について説明する。図13はランゲージモニタとステータスモニタの通信処理を示すフローチャートの一例である。図13ではランゲージモニタとステータスモニタはBidi Communication Interface(以下Bidi)を使って通信を行う。Bidiは Windows(登録商標) XPの公知の機能である。ステータスモニタはS301で処理を開始し、S303でスキーマ
¥Printer.Information:Status
を引数にセットして、S304でBidiのSendRecv関数をコールする。S303でセットするスキーマ については図14、図15で説明する。
S304でSendRecv関数がコールされると、ランゲージモニタの関数が呼ばれて処理を開始する(S305)。S306でスキーマを取得し、S307でスキーマが
¥Printer.Information:Status
と等しいかどうかを確認する。等しい場合は、S311に進み、返却値に印刷状況をセットしてS313に進み処理を終了する。S311でランゲージモニタの処理が終了すると、S314に進みSendRecv関数がリターンし、ステータスモニタは印刷状況を取得する。
図14、図15で、ステータスモニタとランゲージモニタがBidi通信で使用するプライベートスキーマについて説明する。図14はプライベートスキーマの定義の一例を表す図である。スキーマのパスは、
¥Printer.Information:Status
である。データタイプは、バイナリー型である。
図15はバイナリー型のデータに格納される情報の一例を表す図である。印刷中のページ数、何部目を印刷中かの部数、複製元のFDS、FD、FPの情報が格納されている。
本実施形態では、ステータスモニタ、アプリケーションとランゲージモニタ間の通信手段としてBidiを使用したが、この手段に限られることなく、プロセス間通信を行えるものならば任意の通信手段を使用することが出来る。
図16は、ステータスモニタではなくXPS文書を作成するアプリケーションが印刷状況を表示することを示す一例である。アプリケーション501は、Bidiを用いてランゲージモニタと通信し、印刷状況を取得する。Bidi通信で使用するスキーマは図14、図15で説明したスキーマを使用する。取得した印刷状況を表示部504に表示する。ここでの特徴は、現在印刷中のページのみではなく、印刷済みや印刷待ちのページの情報も表示している点である。XPS文書を作成したのはアプリケーション自身であり、全部で何ページあるのかを把握できるためこのような表示が可能となっている。
XPS文書の論理構造を示す概念図 本発明の実施形態に係わる印刷システムの一例を表すブロック図 本発明の実施形態に係わるプリンタドライバの一例を表すブロック図 Filter Pipelineの構成を表すブロック図 本発明の実施形態に係わるXPS文書の一例を表すブロック図 本発明の実施形態に係わるXPS文書の一例を表すブロック図 本発明の実施形態に係わる印刷コマンドの一例を表すブロック図 本発明の実施形態に係わるランゲージモニタが使用するテーブルを表すブロック図 本発明の実施形態に係わるステータスモニタの一例を表すブロック図 本発明の実施形態に係わるレイアウトフィルターの処理を表すフローチャート 本発明の実施形態に係わる印刷コマンドフィルターの処理を表すフローチャート 本発明の実施形態に係わるランゲージモニタの処理を表すフローチャート 本発明の実施形態に係わるステータスモニタとランゲージモニタの通信処理を表すフローチャート 本発明の実施形態に係わるプライベートスキーマの一例を表すブロック図 本発明の実施形態に係わるプライベートスキーマに格納される情報の一例を表すブロック図 本発明の実施形態に係わるアプリケーションの一例を表すブロック図
符号の説明
130 プリンタドライバ
201 アプリケーション
205 レイアウトフィルター
206 印刷コマンドフィルター
208 ランゲージモニタ
210 ステータスモニタ

Claims (4)

  1. スプールファイルに格納され且つ内部構造がツリー構造となっている電子文書データを入力とし、指定された印刷設定に応じてページの複製及び追加を行い電子文書データを出力するレイアウト処理手段と、
    前記レイアウト処理手段から出力される電子文書データを、印刷装置が解釈可能な印刷コマンドに変換するとともに、電子文書データのツリー構造に関する情報を前記印刷コマンドに追加する印刷コマンド変換手段と、
    前記印刷コマンド変換手段から出力される印刷コマンドを印刷装置に送信する機能及び、印刷装置から印刷状況を取得する機能を持つデータ通信処理手段と、
    前記データ通信処理手段により取得された前記印刷状況と、前記電子文書データに含まれる前記ツリー構造に関する情報を用いて印刷中のページに関する情報の表示を行う印刷状況表示手段と
    を有することを特徴とするデータ処理装置。
  2. 前記印刷状況表示手段は、印刷中のページの表示を行う際に、電子文書データのツリー構造を表示することを特徴とする請求項1のデ−タ処理装置。
  3. 前記データ通信処理手段は、印刷コマンドに追加されたツリー構造の情報と、印刷装置で印刷中のページを関連付けるためのテーブルを持つことを特徴とする請求項1のデータ処理装置。
  4. スプールファイルに格納され且つ内部構造がツリー構造となっている電子文書データを入力とし、指定された印刷設定に応じてページの複製及び追加を行い電子文書データを出力するレイアウト処理工程と、
    前記レイアウト処理工程から出力される電子文書データを、印刷装置が解釈可能な印刷コマンドに変換するとともに、電子文書データのツリー構造に関する情報を前記印刷コマンドに追加する印刷コマンド変換工程と、
    前記印刷コマンド変換工程から出力される印刷コマンドを印刷装置に送信し、印刷装置から印刷状況を取得するデータ通信処理工程と、
    前記データ通信処理工程により取得された前記印刷状況と、前記電子文書データに含まれる前記ツリー構造に関する情報を用いて印刷中のページに関する情報の表示を行う印刷状況表示工程と
    を有することを特徴とするデータ処理方法。
JP2007283544A 2007-10-31 2007-10-31 データ処理装置およびデータ処理方法 Expired - Fee Related JP5031514B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007283544A JP5031514B2 (ja) 2007-10-31 2007-10-31 データ処理装置およびデータ処理方法
US12/258,182 US8446620B2 (en) 2007-10-31 2008-10-24 Data processing apparatus and data processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007283544A JP5031514B2 (ja) 2007-10-31 2007-10-31 データ処理装置およびデータ処理方法

Publications (2)

Publication Number Publication Date
JP2009110389A JP2009110389A (ja) 2009-05-21
JP5031514B2 true JP5031514B2 (ja) 2012-09-19

Family

ID=40582424

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007283544A Expired - Fee Related JP5031514B2 (ja) 2007-10-31 2007-10-31 データ処理装置およびデータ処理方法

Country Status (2)

Country Link
US (1) US8446620B2 (ja)
JP (1) JP5031514B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002071267A2 (en) * 2001-03-08 2002-09-12 International Business Machines Corporation System and method for personalized presentation of web pages
KR101612757B1 (ko) * 2009-12-17 2016-04-26 삼성전자주식회사 인쇄 제어 단말장치 및 xps 파일 인쇄방법
JP5787606B2 (ja) 2011-05-02 2015-09-30 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
JP5790143B2 (ja) * 2011-05-18 2015-10-07 株式会社リコー 情報処理装置及びプログラム
US9183186B2 (en) * 2011-07-08 2015-11-10 Microsoft Technology Licensing, Llc. Conversion tool for XPS and OpenXPS documents
JP6315965B2 (ja) * 2013-12-10 2018-04-25 キヤノン株式会社 情報処理装置、プログラム及び制御方法
JP6935274B2 (ja) * 2017-08-31 2021-09-15 株式会社Screenホールディングス ファイル生成方法およびファイル生成プログラム
JP6466010B2 (ja) * 2018-03-28 2019-02-06 キヤノン株式会社 情報処理装置、プログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3604776B2 (ja) * 1995-06-22 2004-12-22 キヤノン株式会社 プリンタ制御装置及び方法
US6268924B1 (en) * 1996-06-06 2001-07-31 Microsoft Corporation Document object having a print interface for programmatic automation by a using program
JP3278394B2 (ja) * 1998-02-25 2002-04-30 キヤノン株式会社 情報処理装置、情報処理方法、及び、記憶媒体
JP2000029641A (ja) 1998-07-08 2000-01-28 Toshiba Tec Corp 印刷システムおよび印刷装置
US7043688B1 (en) * 1998-12-22 2006-05-09 Casio Computer Co., Ltd. Document processing apparatus capable of increasing printing efficiency by forming virtual document and storage medium
US6480293B1 (en) * 1999-11-24 2002-11-12 Xerox Corporation Encoding of requests for status in document assembly trees
US6509974B1 (en) * 2000-05-17 2003-01-21 Heidelberger Druckmaschinen Ag Automated job creation for job preparation
JP2002234237A (ja) * 2001-02-09 2002-08-20 Canon Inc 画像処理装置
US8243317B2 (en) * 2004-05-03 2012-08-14 Microsoft Corporation Hierarchical arrangement for spooling job data

Also Published As

Publication number Publication date
JP2009110389A (ja) 2009-05-21
US8446620B2 (en) 2013-05-21
US20090109475A1 (en) 2009-04-30

Similar Documents

Publication Publication Date Title
JP5031514B2 (ja) データ処理装置およびデータ処理方法
US7190468B2 (en) Background document rendering system and method
JP5675047B2 (ja) 文書処理装置およびコンピュータプログラム
JP5072676B2 (ja) 情報処理装置、情報処理方法及び印刷システム
US20070070374A1 (en) Printer controlled dynamically altered N-UP imaging
US8553241B2 (en) Information processing apparatus, information processing method, and storage medium for generating print data according to an instruction
JP7467217B2 (ja) プログラム及び情報処理装置の制御方法
JP2003091381A (ja) 情報処理装置及び方法
KR20120094051A (ko) 문서 처리 장치 및 제어 방법 및 저장 매체
JP2008033460A (ja) 情報処理装置
JP4174381B2 (ja) 情報処理装置、分散印刷制御方法及び分散印刷制御プログラム
JP2009237609A (ja) 情報処理装置及びその制御方法、プリンタドライバプログラム
US20070146760A1 (en) Print System and Programs for Use in Print System
JP2011237901A (ja) プレビュー画面表示制御装置およびプログラム
JP4029391B2 (ja) プリンタ
JP4891052B2 (ja) 情報処理装置、プレビュー方法、プログラム、及び記憶媒体
JP5807460B2 (ja) 情報処理装置、プログラム、記憶媒体
JP2009151702A (ja) 情報処理装置、情報処理方法、及びプログラム
US11899988B2 (en) Information processing apparatus, control method thereof, and storage medium
JP6111728B2 (ja) 画像形成出力制御システム、画像形成出力制御プログラム及び情報処理装置
JP2012128651A (ja) 情報処理装置、印刷制御方法、及びプログラム
JP2009110080A (ja) プログラム、印刷データ処理装置及び印刷システム
JP7171227B2 (ja) 情報処理装置、その制御方法およびアプリケーション
US20190258436A1 (en) Information processing apparatus, control method of information processing apparatus, and program
JP2005193559A (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

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101029

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120313

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120511

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

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

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

Free format text: PAYMENT UNTIL: 20150706

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees