JP2004005245A - 情報処理装置及び情報処理方法 - Google Patents
情報処理装置及び情報処理方法 Download PDFInfo
- Publication number
- JP2004005245A JP2004005245A JP2002160393A JP2002160393A JP2004005245A JP 2004005245 A JP2004005245 A JP 2004005245A JP 2002160393 A JP2002160393 A JP 2002160393A JP 2002160393 A JP2002160393 A JP 2002160393A JP 2004005245 A JP2004005245 A JP 2004005245A
- Authority
- JP
- Japan
- Prior art keywords
- page
- printer
- range
- printing
- 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
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
- Record Information Processing For Printing (AREA)
Abstract
【解決手段】プリンタで印刷される印刷データを生成する情報処理装置は、印刷ジョブを複数のプリンタにより分散させて印刷処理するために、該プリンタ毎の印刷範囲を設定する範囲設定モジュールと、設定された印刷範囲に応じて印刷を行う際に、印刷範囲毎の処理における障害発生を、それぞれの印刷範囲における障害発生頁と共に認識する認識モジュールと、障害発生により中断した印刷範囲における印刷ジョブの印刷属性と、障害発生頁と、に従って印刷範囲内の再印刷開始頁を決定する決定モジュールと、決定された再印刷開始頁より特定される再印刷範囲の印刷データを、中断した印刷範囲の再印刷を代行するプリンタに転送し、再印刷を実行させるデータ転送モジュールと、を備える。
【選択図】 図1
Description
【発明の属する技術分野】
本発明は、印刷システムにおけるプリンタの再印刷制御において印刷データを生成する情報処理装置及びその情報処理方法等に関するものである。
【0002】
【従来の技術】
従来の印刷システムでは、プリンタの障害などによって印刷が中断し場合、プリンタは印刷済みの頁数を検出し、その次の頁を再印刷開始頁と判断して印刷データの処理が進められていた。そして、再印刷開始頁を印刷データとして設定し、他のプリンタもしくは障害が復旧するのを待って元のプリンタに、その印刷データを転送することにより中断した印刷処理の続行が図られていた。
【0003】
【発明が解決しようとする課題】
しかし、従来の印刷システムにおいては、印刷の再開においては、その印刷ジョブの中断の前後で印刷ジョブに設定されている印刷様式を決定するための印刷属性が考慮されていないため、ユーザの意図した結果と異なる形式のものが出力されてしまうことがある。例えば印刷ジョブの属性として両面印刷の指定がされている場合、再印刷開始頁が偶数ページ目であると、本来通常に両面印刷の処理された場合ならば、印刷ページの裏面側に印刷される内容が表面側に印刷されてしまう等、表裏に印刷される頁の組合せが再印刷開始頁以降ずれてしまい、ユーザの期待する結果と異なってしまうという場合が生じ得る。
【0004】
また、印刷ジョブにステイプル止めの処理の指定がされている場合では、ユーザは1部ごとにステイプルされることを期待するはずであるが、文書の再印刷開始頁より前の頁が欠落したものがステイプルされてしまい、ユーザの意図した結果と異なってしまうという事態も生じ得る。
【0005】
本発明は上記問題点を鑑みて為されたものであり、印刷ジョブに設定された属性に応じて、印刷ジョブの再印刷開始頁を制御することにより、ユーザの期待する結果に忠実な出力を行うことを目的とするものである。
【0006】
【課題を解決するための手段】
上記目的を達成するために、本発明にかかる情報処理装置及び情報処理方法は主として以下の構成を有する。
【0007】
すなわち、プリンタで印刷される印刷データを生成する情報処理装置は、
印刷ジョブを複数のプリンタにより分散させて印刷処理するために、該プリンタ毎の印刷範囲を設定する範囲設定手段と、
前記範囲設定手段により設定された印刷範囲に応じて印刷を行う際に、該印刷範囲毎の処理における障害発生を、それぞれの印刷範囲における障害発生頁と共に認識する認識手段と、
障害発生により中断した前記印刷範囲における印刷ジョブの印刷属性と、前記障害発生頁と、に従って該印刷範囲内の再印刷開始頁を決定する決定手段と、
前記決定された前記再印刷開始頁より特定される再印刷範囲の印刷データを、前記中断した印刷範囲の再印刷を代行するプリンタに転送し、該再印刷を実行させるデータ転送手段と、
を備えることを特徴とする。
【0008】
本発明の好適な一態様によれば、上記の情報処理装置において、前記認識手段によって認識された前記印刷範囲における障害発生頁と前記印刷属性とに従って、該印刷範囲において再印刷をするための印刷データを中間ファイル形式データより生成する生成手段を更に備え、
前記データ転送手段は前記生成手段によって生成された印刷データを、該再印刷を代行するプリンタに転送する。
【0009】
本発明の好適な一態様によれば、上記の情報処理装置において、前記決定手段は、前記印刷範囲内において障害発生頁を特定できない場合は、該障害が発生した印刷範囲の最初のページを再印刷開始ページとして決定する。
【0010】
本発明の好適な一態様によれば、上記の情報処理装置において、前記生成手段は、前記決定に基づく前記印刷範囲において再印刷をするための印刷データを生成する。
【0011】
本発明の好適な一態様によれば、上記の情報処理装置において、前記中断した印刷ジョブの再印刷を印刷範囲毎に行なう際に、該再印刷を代行するプリンタを、該印刷範囲毎に設定する代行設定手段を更に備える。
【0012】
本発明の好適な一態様によれば、上記の情報処理装置において、前記代行設定手段は再印刷を代行するプリンタの優先順位を、該プリンタ毎に設定し、
前記データ転送手段は、前記優先順位に従って前記再印刷を代行するプリンタを特定する。
【0013】
本発明の好適な一態様によれば、上記の情報処理装置において、前記代行設定手段は、前記範囲設定手段により印刷範囲が設定されていないプリンタから前記再印刷を代行するプリンタを設定する。
【0014】
本発明の好適な一態様によれば、上記の情報処理装置において、前記印刷データの印刷設定をするデータ入力手段を更に備え、
前記データ入力手段の入力に従い、前記再印刷を代行するプリンタ及び/または該プリンタの優先順位が設定される。
【0015】
本発明の好適な一態様によれば、上記の情報処理装置において、前記決定手段は前記印刷ジョブの印刷属性として両面印刷が指定されていることを検出した場合に、前記再印刷開始頁を、障害発生頁が表面の頁である場合にはその障害発生頁(L)と設定し、障害発生頁が裏面の頁である場合には障害発生頁の前の頁(L−1)と設定する。
【0016】
本発明の好適な一態様によれば、上記の情報処理装置において、前記決定手段は前記印刷ジョブの印刷属性としてステイプル止めが指定されていることを検出した場合に、前記再印刷開始頁を前記印刷範囲における最初のページとして設定する。
【0017】
本発明の好適な一態様によれば、上記の情報処理装置において、前記決定手段は前記印刷ジョブの印刷属性として1部のデータを複数回繰り返し並べられたデータであることを検出した場合に、前記再印刷開始頁を、1部数分の頁数(M)と、前記印刷範囲における最初のページ数(An)と、に基づき算出する。
【0018】
本発明の好適な一態様によれば、上記の情報処理装置において、前記決定手段は、前記1部数分の頁数(M)に基づき、数列(1、M、2×M、3×M、...NN×M...:(NNは自然数))を生成し、該数列要素のうち、障害発生頁(L)以下であり、前記印刷範囲における最初のページ(An)以上の範囲で最大の値を前記再印刷開始頁として設定する。
【0019】
本発明の好適な一態様によれば、上記の情報処理装置において、前記決定手段は前記印刷ジョブの印刷属性として、製本印刷が設定されていることを検出した場合に、前記再印刷開始頁を、障害発生頁が含まれる用紙の先頭の頁と設定する。
【0020】
本発明の好適な一態様によれば、上記の情報処理装置において、前記決定手段は前記印刷ジョブの印刷属性として、製本分冊印刷が設定されていることを検出した場合、前記再印刷開始頁を、障害発生頁が含まれる分冊を検索し、その分冊に含まれる先頭の頁と設定する。
【0021】
また、プリンタで印刷する印刷データを生成する情報処理方法は、
印刷ジョブを複数のプリンタにより分散させて印刷処理するために、該プリンタ毎の印刷範囲を設定する範囲設定工程と、
前記範囲設定工程により設定された印刷範囲に応じて印刷を行う際に、該印刷範囲毎の処理における障害発生を、それぞれの印刷範囲における障害発生頁と共に認識処理する認識工程と、
障害発生により中断した前記印刷範囲における印刷ジョブの印刷属性と、前記障害発生頁と、に従って該印刷範囲内の再印刷開始頁を決定する決定工程と、
前記決定された前記再印刷開始頁より特定される再印刷範囲の印刷データを、前記中断した印刷範囲の再印刷を代行するプリンタに転送し、該再印刷を実行させるデータ転送工程と、
を備えることを特徴とする。
【0022】
本発明の好適な一態様によれば、上記の情報処理方法において、前記認識工程の処理によって認識された前記印刷範囲における障害発生頁と前記印刷属性とに従って、該印刷範囲において再印刷をするための印刷データを中間ファイル形式データより生成する生成工程を更に備え、
前記データ転送工程は前記生成工程の処理によって生成された印刷データを、該再印刷を代行するプリンタに転送する。
【0023】
本発明の好適な一態様によれば、上記の情報処理方法において、前記決定工程は、前記印刷範囲内において障害発生頁を特定できない場合は、該障害が発生した印刷範囲の最初のページを再印刷開始ページとして決定する。
【0024】
本発明の好適な一態様によれば、上記の情報処理方法において、前記生成工程は、前記決定に基づき前記印刷範囲において再印刷をするための印刷データを生成する。
【0025】
本発明の好適な一態様によれば、上記の情報処理方法において、前記中断した印刷ジョブの再印刷を印刷範囲毎に行なう際に、該再印刷を代行するプリンタを、該印刷範囲毎に設定する代行設定工程を更に備える。
【0026】
本発明の好適な一態様によれば、上記の情報処理方法において、前記代行設定工程は再印刷を代行するプリンタの優先順位を、該プリンタ毎に設定し、
前記データ転送工程は、前記優先順位に従って前記再印刷を代行するプリンタを特定する。
【0027】
本発明の好適な一態様によれば、上記の情報処理方法において、前記代行設定工程は、前記範囲設定工程の処理により印刷範囲が設定されていないプリンタから前記再印刷を代行するプリンタを設定する。
【0028】
本発明の好適な一態様によれば、上記の情報処理方法において、前記印刷データの印刷設定を処理するデータ入力工程を更に備え、
前記データ入力工程の処理に従い、前記再印刷を代行するプリンタ及び/または該プリンタの優先順位が設定される。
【0029】
本発明の好適な一態様によれば、上記の情報処理方法において、前記決定工程は前記印刷ジョブの印刷属性として両面印刷が指定されていることを検出した場合に、前記再印刷開始頁を、障害発生頁が表面の頁である場合にはその障害発生頁(L)と設定し、障害発生頁が裏面の頁である場合には障害発生頁の前の頁(L−1)と設定する。
【0030】
本発明の好適な一態様によれば、上記の情報処理方法において、前記決定工程は前記印刷ジョブの印刷属性としてステイプル止めが指定されていることを検出した場合に、前記再印刷開始頁を前記印刷範囲における最初のページとして設定する。
【0031】
本発明の好適な一態様によれば、上記の情報処理方法において、前記決定工程は前記印刷ジョブの印刷属性として1部のデータを複数回繰り返し並べられたデータであることを検出した場合に、前記再印刷開始頁を、1部数分の頁数(M)と、前記印刷範囲における最初のページ数(An)と、に基づき算出する。
【0032】
本発明の好適な一態様によれば、上記の情報処理方法において、前記決定工程は、前記1部数分の頁数(M)に基づき、数列(1、M、2×M、3×M、...NN×M...:(NNは自然数))を生成し、該数列要素のうち、障害発生頁(L)以下であり、前記印刷範囲における最初のページ(An)以上の範囲で最大の値を前記再印刷開始頁として設定する。
【0033】
本発明の好適な一態様によれば、上記の情報処理方法において、前記決定工程は前記印刷ジョブの印刷属性として、製本印刷が設定されていることを検出した場合に、前記再印刷開始頁を、障害発生頁が含まれる用紙の先頭の頁と設定する。
【0034】
本発明の好適な一態様によれば、上記の情報処理方法において、前記決定工程は前記印刷ジョブの印刷属性として、製本分冊印刷が設定されていることを検出した場合、前記再印刷開始頁を、障害発生頁が含まれる分冊を検索し、その分冊に含まれる先頭の頁と設定する。
【0035】
また、コンピュータプログラムは、上記の情報処理装置の機能をコンピュータが実行する機能として特定されることを特徴とする。
【0036】
また、コンピュータ可読記憶媒体は、上記のコンピュータプログラムを格納することを特徴とする。
【0037】
【発明の実施の形態】
<システム概要>
本発明の情報処理システムの好適な実施形態である文書処理システムの概要を、図9〜図19を参照して説明する。この文書処理システムでは、一般アプリケーションにより作成されたデータファイルが、電子原稿ライタによって電子原稿ファイルに変換される。製本アプリケーションはその電子原稿ファイルを編集する機能を提供している。以下、その詳細は説明する。
【0038】
<システム構成及び動作>
図9は、本実施形態の文書処理システムのソフトウェア構成を示す図である。文書処理システムは、本発明の情報処理装置の好適な実施形態であるデジタルコンピュータ1000によって実現されている。一般アプリケーション1010は、ワードプロセシングやスプレッドシート、フォトレタッチ、ドローあるいはペイント、プレゼンテーション、テキスト編集などの機能を提供するアプリケーションプログラムであり、OSに対する印刷機能を有している。これらアプリケーションは、作成された文書データや画像データなどのアプリケーションデータを印刷するにあたって、オペレーティングシステム(OS)により提供される所定のインタフェース(一般にGDIと呼ばれる)を利用する。
【0039】
すなわち、アプリケーション1010は、作成したアプリケーションデータを印刷するために、前記インタフェースを提供するOSの出力モジュールに対して、あらかじめ定められる、OSに依存する形式の出力コマンド(GDI関数と呼ばれる)を送信する。出力コマンドを受けた出力モジュールは、プリンタ等の出力デバイスが処理可能な形式にそのコマンドを変換し、変換された描画コマンド(DDI関数と呼ばれる)を出力する。出力デバイスが処理可能な形式はデバイスの種類やメーカ、機種などによって異なるために、デバイスごとにデバイスドライバが提供されており、OSではそのデバイスドライバを利用してコマンドの変換を行い、印刷データを生成し、JLでくくることにより印刷ジョブが生成される。OSとしてマイクロソフト社のウインドウズを利用する場合には、前述した出力モジュールとしてはGDIと呼ばれるモジュールが相当する。
【0040】
電子原稿ライタ1020は、前述のデバイスドライバのひとつとして、本文書処理システム実現のために提供されるソフトウエアモジュールである。ただし、電子原稿ライタ1020は特定の出力デバイスを目的としておらず、後述の製本アプリケーション1040やプリンタドライバ1060により処理可能な形式に出力コマンドを変換する。この電子原稿ライタ1020による変換後の形式(以後電子原稿形式と呼ぶ)は、ページ単位の原稿を詳細な書式をもって表現可能であれば特に問わない。実質的な標準形式のうちでは、例えばアドビシステムズによるPDF形式や、SVG形式などが電子原稿形式(中間ファイル形式データ)として採用できる。
【0041】
アプリケーション1010により電子原稿ライタ1020を利用させる場合には、出力に使用するデバイスドライバとして電子原稿ライタ1020を指定してから印刷を実行させる。ただし、電子原稿ライタ1020によって作成されたままの電子原稿ファイルは、電子原稿ファイルとして完全な形式を備えていない。そのため、デバイスドライバとして電子原稿ライタ1020を指定するのは製本アプリケーション1040であり、その管理下でアプリケーションデータの電子原稿ファイルへの変換が実行される。製本アプリケーション1040は、電子原稿ライタ1−2が生成した新規の不完全な電子原稿ファイルを後述する形式を備えた電子原稿ファイルとして完成させる。
【0042】
以下では、この点を明瞭に識別する必要がある際には、電子原稿ライタ1020によって作成されたファイルを電子原稿ファイルと呼び、製本アプリケーションによって構造を与えられた電子原稿ファイル(中間コードとも呼ぶ)をブックファイルと呼ぶ。また、特に区別する必要がない場合は、アプリケーションにより生成されるドキュメントファイル、電子原稿ファイル、及びブックファイルをいずれも文書ファイル(または文書データ)と呼ぶ。
【0043】
このようにデバイスドライバとして電子原稿ライタ1020を指定し、一般アプリケーション1010によりそのデータを印刷させることで、アプリケーションデータはアプリケーション1010によって定義されたページ(以後論理ページあるいは原稿ページと呼ぶ)を単位とする電子原稿形式に変換され、電子原稿ファイル1030としてハードディスクなどの記憶媒体に格納される。なお、ハードディスクは、本実施形態の文書処理システムを実現するコンピュータが備えているローカルドライブであってもよいし、ネットワークに接続されている場合にはネットワーク上に提供されるドライブであっても良い。
【0044】
製本アプリケーション1040は電子原稿ファイルあるいはブックファイル1030を読み込み、それを編集するための機能を利用者に提供する。ただし製本アプリケーション1040は、各ページの内容を編集する機能は提供しておらず、ページを最小単位として構成される、後述する章やブックの構造を編集するための機能を提供している。
【0045】
製本アプリケーション1040によって編集されたブックファイル1030を印刷する際には、製本アプリケーション1040によって電子原稿デスプーラ1050が起動される。電子原稿デスプーラ1050は、指定されたブックファイルをハードディスクから読み出し、ブックファイルに記述された形式で各ページを印刷するために、前述したOSの出力モジュールに適合する出力コマンドを生成し、不図示の出力モジュールに出力する。その際に、出力デバイスとして使用されるプリンタ1070のドライバ1060がデバイスドライバとして指定される。出力モジュールは、指定されたプリンタ1070のデバイスドライバ1060を用いて受信した出力コマンドを、プリンタ1070で解釈実行可能なデバイスコマンドに変換する。そしてデバイスコマンドはプリンタ1070に送信され、プリンタ1070によってコマンドに応じた画像が印刷される。
【0046】
<電子原稿データの形式>
編集アプリケーション1040の詳細に言及する前に、ブックファイルのデータ形式を説明する。ブックファイルは紙媒体の書物を模した3層の層構造を有する。上位層は「ブック」と呼ばれ、1冊の本を模しており、その本全般に係る属性が定義されている。その下の中間層は、本でいう章に相当し、やはり「章」と呼ばれる。各章についても、章ごとの属性が定義できる。下位層は「ページ」であり、アプリケーションプログラムで定義された各ページに相当する。各ページついてもページごとの属性が定義できる。ひとつのブックは複数の章を含んでいてよく、また、ひとつの章は複数のページを含むことができる。
【0047】
図10(A)は、ブックファイルの形式の一例を模式的に示す図である。この例のブックファイルは、ブック,章,ページは、それぞれに相当するノードにより示されている。ひとつのブックファイルはひとつのブックを含む。ブック,章は、ブックとしての構造を定義するための概念であるから、定義された属性値と下位層へのリンクとをその実体として含む。ページは、アプリケーションプログラムによって出力されたページごとのデータを実体として有する。そのため、ページは、その属性値のほか、原稿ページの実体(原稿ページデータ)と各原稿ページデータへのリンクを含む。なお、紙媒体等に出力する際の印刷ページは複数の原稿ページを含む場合がある。この構造に関してはリンクによって表示されず、ブック、章、ページ各階層における属性として表示される。
【0048】
図10(A)において、ブック3010には、ブック属性が定義されているとともに、2つの章3020A,3020Bがリンクされている。このリンクにより、章3020A,3020Bがブック3010に包含されていることが表示される。章3020Aには、ページ3030A,3030Bがリンクされ、これらページが含まれることが示されている。各ページ3030A,3030Bにはそれぞれ属性値が定義され、その実体である原稿ページデータ(1)、(2)へのリンクが含まれる。これらリンクは、図10(B)に示す原稿ページデータ3040のデータ(1),(2)を指し示し、ページ3030A、3030Bの実体が、原稿ページデータ(1)、(2)であることを表示する。
【0049】
図11は、ブック属性のリストである。下位層と重複して定義可能な項目に関しては、下位層の属性値が優先採用される。そのため、ブック属性にのみ含まれる項目に関しては、ブック属性に定義された値はブック全体を通して有効な値となる。しかし、下位層と重複する項目については、下位層において定義されていない場合における既定値としての意味を有する。なお、図示された各項目は具体的に1項目に対応するのではなく、関連する複数の項目を含むものもある。
【0050】
図12は章属性のリストであり、図13はページ属性のリストである。章属性とページ属性との関係もブック属性と下位層の属性との関係と同様である。
【0051】
ブック属性に固有の項目は、印刷方法、製本詳細、表紙/裏表紙、インデックス紙、合紙、章区切りの6項目である。これらは、ブックを通して定義される項目である。印刷方法の属性としては、片面印刷、両面印刷、製本印刷の3つの値を指定できる。「製本印刷」とは、別途指定する枚数の用紙を束にして2つ折りにし、その束をつづり合わせることで製本が可能となる形式で印刷する方法である。製本詳細属性としては、製本印刷が指定されている場合に、見開き方向や、束になる枚数等が指定できる。
【0052】
表紙/裏表紙属性は、ブックとしてまとめられる電子原稿ファイルを印刷する際に、表紙および裏表紙となる用紙を付加することの指定、及び付加した用紙への印刷内容の指定を含む。インデックス紙属性は、章の区切りとして、印刷装置に別途用意される耳付きのインデックス紙の挿入の指定およびインデックス(耳)部分への印刷内容の指定を含む。この属性は、印刷用紙とは別に用意された用紙を所望の位置に挿入するインサート機能を持ったインサータが使用する印刷装置に備えられている場合か、あるいは、複数の給紙カセットを使用可能である場合に有効となる。これは合紙属性についても同様である。
【0053】
合紙属性は、章の区切りとして、インサータからあるいは給紙カセットから供給される用紙の挿入の指定、および、合紙を挿入する場合には、給紙元の指定などを含む。
【0054】
章区切り属性は、章の区切り目において、新たな用紙を使用するか、新たな印刷ページを使用するか、特に何もしないか等の指定を含む。片面印刷時には新たな用紙の使用と新たな印刷ページの使用とは同じ意味を持つ。両面印刷時には、「新たな用紙の使用」を指定すれば連続する章が1枚の用紙に印刷されることは無いが、「新たな印刷ページの使用」を指定すれば、連続する章が1枚の用紙の表裏に印刷されることがあり得る。
【0055】
章属性に関しては、章に固有の項目はなく、すべてブック属性と重複する。したがって、章属性における定義とブック属性における定義とが異なれば、章属性で定義された値が優先する。ブック属性と章属性とにのみ共通する項目は、用紙サイズ、用紙方向、N−up印刷指定、拡大縮小、排紙方法の5項目である。このうち、N−up印刷指定属性は、1印刷ページに含まれる原稿ページ数を指定するための項目である。指定可能な配置としては、1×1や1×2、2×2、3×3、4×4などがある。排紙方法属性は、排出した用紙にステイプル処理を施すか否かを指定するための項目であり、この属性の有効性は使用する印刷装置がステイプル機能を有するか否かに依存する。
【0056】
ページ属性に固有の項目には、ページ回転属性、ズーム、配置指定、アノテーション、ページ分割などがある。ページ回転属性は、原稿ページを印刷ページに配置する際の回転角度を指定するための項目である。ズーム属性は、原稿ページの変倍率を指定するための項目である。変倍率は、仮想論理ページ領域のサイズを100%として指定される。仮想論理ページ領域とは、原稿ページを、Nup等の指定に応じて配置した場合に、1原稿ページが占める領域である。例えば1×1であれば、仮想論理ページ領域は1印刷ページに相当する領域となり、1×2であれば、1印刷ページの各辺を約70パーセントに縮小した領域となる。
【0057】
ブック、章、ページについて共通な属性として、ウォータマーク属性およびヘッダ・フッタ属性がある。ウォータマークとは、アプリケーションで作成されたデータに重ねて印刷される、別途指定される画像や文字列などである。ヘッダ・フッタは、それぞれ各ページの上余白および下余白に印刷されるウォータマークである。ただし、ヘッダ・フッタには、ページ番号や日時など、変数により指定可能な項目が用意されている。なお、ウォータマーク属性およびヘッダ・フッタ属性において指定可能な内容は、章とページとは共通であるが、ブックはそれらと異なっている。ブックにおいてはウォータマークやヘッダフッタの内容を設定できるし、また、ブック全体を通してどのようにウォータマークやヘッダフッタを印刷するかを指定することができる。一方、章やページでは、その章やページにおいて、ブックで設定されたウォータマークやヘッダ・フッタを印刷するか否かを指定できる。
【0058】
<ブックファイルの生成手順>
ブックファイルは上述したような構造および内容を有している。次に、製本アプリケーション1040および電子原稿ライタ1020によってブックファイルを作成する手順を説明する。ブックファイルの作成は、製本アプリケーション1040によるブックファイルの編集操作の一環として実現される。
【0059】
図14は、製本アプリケーション1040によりブックファイルを開く際の手順である。
【0060】
まず、開こうとするブックファイルが、新規作成すべきものであるか、それとも既存のものであるか判定する(ステップS7010)。新規作成の場合には、章を含まないブックファイルを新規に作成する(ステップS7020)。新規に作成されるブックファイルは、図10の例で示せば、ブックノード3010のみ有し、章のノードに対するリンクが存在しないブックのノードとなる。ブック属性は、新規作成用としてあらかじめ用意された属性のセットが適用される。そして、新規ブックファイルを編集するためのユーザインタフェース(UI)画面を表示する(ステップS7040)。図18は、新規にブックファイルが作成された際のUI画面の一例である。この場合には、ブックファイルは実質的な内容を持たないために、UI画面11000には何も表示されない。
【0061】
一方、既存のブックファイルがあれば、指定されたブックファイルを開き(ステップS7030)、そのブックファイルの構造、属性、内容に従ってユーザインタフェース(UI)画面を表示する。図17は、このUI画面の一例である。UI画面11000は、ブックの構造を示すツリー部11010と、印刷された状態を表示するプレビュー部11020とを含む。ツリー部11010には、ブックに含まれる章、各章に含まれるページが、図10(A)のような木構造で表示される。ツリー部11010に表示されるページは原稿ページである。プレビュー部11020には、印刷ページの内容が縮小されて表示される。その表示順序は、ブックの構造を反映したものとなっている。
【0062】
さて、開かれたブックファイルには、電子原稿ライタによって電子原稿ファイルに変換されたアプリケーションデータを、新たな章として追加することができる。この機能を電子原稿インポート機能と呼ぶ。図14の手順によって新規に作成されたブックファイルに電子原稿インポートすることで、そのブックファイルには実体が与えられる。この機能は、図17の画面にアプリケーションデータをドラッグアンドドロップ操作することで起動される。図15に電子原稿インポートの手順を示す。
【0063】
まず、指定されたアプリケーションデータを生成したアプリケーションプログラムを起動し、デバイスドライバとして電子原稿ライタ1020を指定してアプリケーションデータを印刷出力させることで、電子原稿データに変換する(ステップS8010)。変換を終えたなら、変換されたデータが画像データであるか否かを判定する(ステップS8020)。この判定は、ウインドウズOSの下であれば、アプリケーションデータのファイル拡張子に基づいて行える。例えば、拡張子が「bmp」であればウインドウズビットマップデータであり、「jpg」であればjpeg圧縮された画像データ、「tiff」であればtiff形式の画像データであると判定できる。また、このような画像データの場合はS8010のようにアプリケーションを起動せずに、画像データから直接電子原稿ファイルを生成することが可能であるため、S8010の処理を省略することも可能である。
【0064】
画像データでなかった場合には、ステップS8010で生成された電子原稿ファイルを、現在開かれているブックファイルのブックに、新たな章として追加する(ステップS8030)。章属性としては、ブック属性と共通するものについてはブック属性の値がコピーされ、そうでないものについては、あらかじめ用意された規定値に設定される。
【0065】
画像データである場合には、原則として新たな章は追加されず、指定されている章に、ステップS8010で生成された電子原稿ファイルに含まれる各原稿ページが追加される(ステップS8040)。ただし、ブックファイルが新規作成されたファイルであれば、新たな章が作成されて、その章に属するページとして電子原稿ファイルの各ページが追加される。ページ属性は、上位層の属性と共通のものについてはその属性値が与えられ、アプリケーションデータにおいて定義された属性を電子原稿ファイルに引き継いでいるもにについてはその値が与えられる。例えば、Nup指定などがアプリケーションデータにおいてされていた場合には、その属性値が引き継がれる。このようにして、新規なブックファイルが作成され、あるいは、新規な章が追加される。
【0066】
図16は、図15のステップS8010において、電子原稿ライタ1020により電子原稿ファイルを生成させる手順のフローチャートである。まず、新たな電子原稿ファイルを作成してそれを開く(ステップS9010)。指定したアプリケーションデータに対応するアプリケーションを起動し、電子原稿ライタをデバイスドライバとして、OSの出力モジュールに対して出力コマンドを送信させる。出力モジュールは、受信した出力コマンドを電子原稿ライタによって電子原稿形式のデータに変換し、出力する(ステップS9020)。出力先はステップS9010で開いた電子原稿ファイルである。指定されたデータすべてについて変換が終了したか判定し(ステップS9030)、終了していれば電子原稿ファイルを閉じる(ステップS9040)。電子原稿ライタ1020によって生成される電子原稿ファイルは、図10(B)に示した、原稿ページデータの実体を含むファイルである。
【0067】
<ブックファイルの編集>
以上のようにして、アプリケーションデータからブックファイルを作成することができる。生成されたブックファイルについては、章及びページに対して次のような編集操作が可能である。
【0068】
(1)新規追加
(2)削除
(3)コピー
(4)切り取り
(5)貼り付け
(6)移動
(7)章名称変更
(8)ページ番号名称振り直し
(9)表紙挿入
(10)合紙挿入
(11)インデックス紙挿入
(12)各原稿ページに対するページレイアウト。
【0069】
このほか、いったん行った編集操作を取り消す操作や、さらに取り消した操作をやり直す操作が可能である。これら編集機能により、例えば複数のブックファイルの統合、ブックファイル内で章やページの再配置、ブックファイル内で章やページの削除、原稿ページのレイアウト変更、合紙やインデックス紙の挿入などといった編集操作が可能となる。これらの操作を行うと、図11乃至18に示す属性に捜査結果が反映されたり、あるいはブックファイルの構造に反映される。たとえば、ブランクページの新規追加操作を行えば、指定された箇所にブランクページが挿入される。このブランクページは原稿ページとして扱われる。また、原稿ページに対するレイアウトを変更すれば、その変更内容は、印刷方法やN−up印刷、表紙/裏表紙、インデックス紙、合紙、章区切りといった属性に反映される。
【0070】
<ブックファイルの出力>
以上のように作成・編集されるブックファイルは印刷出力を最終目的としている。利用者が図17に示す製本アプリケーションのUI画面11000からファイルメニューを選択し、そこから印刷を選択すると、指定した出力デバイスにより印刷出力される。この際、まず製本アプリケーション1040は、現在開かれているブックファイルからジョブチケットを作成して電子原稿デスプーラ1050に渡す。電子原稿デスプーラ1050は、ジョブチケットをOSの出力コマンド、例えばウインドウズのGDIコマンドに変換し、それを出力モジュール、例えばGDIに送信する。出力モジュールは、指定されたプリンタドライバ1060によってデバイスに適したコマンドを生成し、そのデバイスに送信する。
【0071】
ジョブチケットは原稿ページを最小単位とする構造を有するデータである。ジョブチケットにおける構造は、用紙上における原稿ページのレイアウトを定義している。ジョブチケットは1ジョブにつき1つ発行される。そのため、まず最上位にドキュメントというノードがあり、文書全体の属性、例えば両面印刷/片面印刷などが定義されている。その下には、用紙ノードが属し、用いるべき用紙の識別子や、プリンタにおける給紙口の指定などの属性が含まれる。各用紙ノードには、その用紙で印刷されるシートのノードが属する。1シートは1枚の用紙に相当する。各シートには、印刷ページ(物理ページ)が属する。片面印刷ならば1シートには1物理ページが属し、両面印刷ならば1シートに2物理ページが属する。各物理ページには、その上に配置される原稿ページが属する。また物理ページの属性として、原稿ページのレイアウトが含まれる。
【0072】
電子原稿デスプーラ1050は、上述のジョブチケットを、出力モジュールへの出力コマンドに変換する。
【0073】
<そのほかのシステム構成>
本実施形態の文書処理システムの概要は以上のようなものである。これはスタンドアロン型のシステムであるが、これを拡張したサーバクライアントシステムでもほぼ同様の構成・手順でブックファイルが作成・編集される。ただし、ブックファイルや印刷処理はサーバによって管理される。
【0074】
図19はサーバクライアント型文書処理システムの構成を示すブロック図である。クライアント文書処理システムは、スタンドアロン型システムに、クライアントモジュールである仮想プリンタドライバ1090および仮想プリントサービスモジュール1100、DS(文書サービス)クライアントモジュール1080を加えた構成を有する。このクライアント文書処理システム12000に、文書管理サーバ12010および印刷集中管理サーバ12020およびプリントサーバ12030が接続されている。
【0075】
これらサーバは、通常ネットワークによってクライアント文書処理システムと接続されるが、サーバが同時にクライアントとしても機能する場合には、ネットワーク間の通信をシミュレートするプロセス間通信によって接続される。なお図19では文書管理サーバ12010と印刷集中管理サーバ12020の両サーバがクライアントに接続されているが、いずれか一方のみがネットワーク上に存在する場合もあり得る。接続されているサーバが文書管理サーバであれば、そのクライアントモジュールを含む文書管理サーバクライアントシステム12010SCが、印刷集中管理サーバ12020であれば、そのクライアントモジュールを含む印刷管理サーバクライアントシステム12020SCが、スタンドアロン型文書管理システムに追加される。
【0076】
文書管理サーバ12010は、製本アプリケーション1040により作成・編集されたブックファイルを格納するサーバである。文書管理サーバ12010によってブックファイルを管理する場合、ブックファイルは、クライアントPCのローカルHDに代わって、あるいはそれに加えて、文書管理サーバ12010のデータベース12110に保存される。製本アプリケーション1040と文書管理サーバ12010との間のブックファイルの保存および読み出しは、DSクライアント1080及びDSコア12120を介して行われる。
【0077】
印刷集中管理サーバ12020は、クライアント文書管理システム12000に格納された、あるいは文書管理サーバ12010に格納されたブックファイルの印刷を管理するサーバである。クライアントにおける印刷要求は、仮想プリンタドライバ1090および仮想プリントサービスモジュール1100を介して印刷集中管理サーバ12020のサーバモジュール12210に送信される。
【0078】
集中印刷管理サーバ12020は、クライアントのプリンタで印刷する場合にはクライアントの仮想プリントサービスモジュール1100を介して電子原稿デスプーラ1050に電子原稿データを渡し、プリントサーバ12030により印刷する場合には、プリントサーバ12030の仮想プリントサービスモジュール12030に送信する。集中印刷管理サーバは、例えば保存されているブックファイルに対して印刷要求を発行した利用者の資格などについてセキュリティチェックを行ったり、印刷処理のログを保存したりする。このように、文書処理システムは、スタンドアロンとしても、クライアントサーバシステムとしても実現できる。
【0079】
<プレビュー表示の内容>
すでに説明したとおり、ブックファイルが製本アプリケーションによって開かれると、図17に示すユーザインタフェース画面11000が表示される。ツリー部11010には、開いているブック(以下、注目ブックと呼ぶ)の構造を示すツリーが表示される。プレビュー部には、利用者の指定に応じて、3通りの表示方法が用意されている。第1は原稿ページをそのまま表示する原稿ビューと呼ばれるモードである。原稿ビューモードでは、注目ブックに属する原稿ページの内容が縮小されて表示される。プレビュー部の表示にレイアウトは反映されない。第2は印刷ビューモードである。印刷ビューモードでは、プレビュー部11020には、原稿ページのレイアウトが反映された形で原稿ページが表示される。第3は簡易印刷ビューモードである。簡易印刷ビューモードでは、各原稿ページの内容はプレビュー部の表示には反映されず、レイアウトのみが反映される。
【0080】
<第1実施形態>
以下、添付図面を参照して本発明の好適な実施の形態を詳細に説明する。
【0081】
図8は、コンピュータ101のハードウエアブロック図である。図8において、CPU2010は、ROM2030のプログラム用ROMに記憶された、あるいはハードディスク2110からRAM2020にロードされたOSや一般アプリケーション、製本アプリケーションなどのプログラムを実行し、後述するフローチャートの手順を実現する。RAM2020は、CPU2010の主メモリ、ワークエリア等として機能する。キーボードコントローラ(KBC)2050は、キーボード2090や不図示のポインティングデバイスからのキー入力を制御する。
【0082】
CRTコントローラ(CRTC)2060は、CRTディスプレイ2100の表示を制御する。ディスクコントローラ(DKC)2070は、ブートプログラム、種々のアプリケーション、フォントデータ、ユーザファイル、編集ファイル等を記憶するハードディスク(HD)2110やフロッピー(登録商標)ディスク(FD)等とのアクセスを制御する。PRTC2080は、接続されたプリンタ1070との間の信号の交換を制御する。NC2120はネットワークに接続されて、ネットワークに接続された他の機器との通信制御処理を実行する。
【0083】
図1は、本実施形態における情報処理システムのモジュール構成を示すブロック図である。図1において、101はホストコンピュータであり、LAN104を経由してプリンタA、B(102、103)と接続しており、相互にデータの通信が可能である。本構成では出力先のプリンタとして2台のプリンタが設定されているが、プリンタの台数はこれに限るものではない。
【0084】
105はワードプロセッシングやスプレッドシート、テキスト編集などの機能を提供するアプリケーションプログラム(以下、「アプリケーション」と呼ぶ。)である。アプリケーション105が中間コード生成モジュール106に印刷要求を出すことにより、本実施形態で説明する印刷処理が実行される。
【0085】
中間コード生成モジュール106(図19の仮想プリンタドライバ1090に相当)は、アプリケーション105からの印刷要求を受け、ページ単位の原稿を詳細な書式をもって表現するEMF(中間ファイル形式データ)、PDF等の画像データとDEVMODE、JDF等の印刷属性指示データを含む中間コードを生成し、中間コード記憶モジュール107はこれらのデータをファイルに格納する。ここで、アプリケーションとしては上に説明した図19の製本アプリケーション等も対応することとなる。
【0086】
印刷データ生成モジュール108(図19の仮想プリントサービス1100に相当)は中間コード記憶モジュール107から格納されている中間コードを受け取り、出力先プリンタで印刷可能なPDL等の形式の印刷データに変換し、印刷データ転送モジュール109よりLAN104を経由して出力先プリンタに印刷データを転送する。また、図1中には不図示であるが、印刷データ生成モジュール108は複数のプリンタの夫々に対応したプリンタドライバから代行先或いは分散先の対象となるプリンタに対応したプリンタドライバを所定の記憶部から選択する機能、及び、選択したプリンタドライバを利用して生成した印刷データ(PDL)を印刷データ転送モジュール109に代行先プリンタに転送させる機能を備えている。
【0087】
プリンタ障害検出モジュール110は出力先プリンタの状態を監視しており、印刷ジョブが正常に印刷されたか、もしくは途中で障害が起きたかを判断し、印刷が完了した頁数の情報とともに障害発生頁検出モジュール111に通知する。ここで出力先プリンタの状態の監視は出力先プリンタから発生された各種障害イベント(用紙なし/トナー切れ/紙ジャム/メモリフル等)の監視や、障害検出モジュール110自らが出力先プリンタの状態を問い合わせるような形態がとられる。また、ここでの障害の検出とは障害情報を認識する処理を指すものとする。
【0088】
障害発生頁検出モジュール111は、プリンタ障害検出モジュール110から通知された情報に基づき、出力先プリンタで印刷が完了した頁数の情報から障害発生頁番号を演算し、障害発生頁を特定する。
【0089】
印刷属性検出モジュール112は、障害発生頁検出モジュール111で特定された障害発生頁の情報に基づき、中間コード記憶モジュール107より、障害により印刷が中断した頁に相当する印刷ジョブの中間コードを取得(生成)し、印刷ジョブに設定されている印刷属性情報を取得し認識する。
【0090】
再印刷開始頁判断モジュール113は、障害発生頁検出モジュール112から受信した障害発生頁番号及びその頁に対応する印刷属性情報より最適な再印刷開始頁を決定し、印刷データ生成モジュール108にその中間コード及び該再印刷開始頁を指定し、自動再印刷設定に基づき優先順位が高く、かつ、正常状態のプリンタを再印刷先プリンタに指定して印刷指示を出力する。この最適な再印刷開始頁の決定方式については図3〜図7を参照して説明する。
【0091】
印刷データ生成モジュール108は、再印刷開始頁判断モジュール113で決定された再印刷開始頁に基づき、その再印刷開始頁以降から該当印刷ジョブの最後までを再印刷範囲として特定し、該当する範囲の中間コードを出力先のプリンタで印刷可能なPDL等の形式の印刷データに変換する。この際、印刷データ生成モジュール108は、印刷データ転送モジュール109から、代行するプリンタに関する情報を参照することができる。
【0092】
その印刷データは、印刷データ転送モジュール109により、中断した印刷ジョブの再印刷を代行するプリンタとして特定された再印刷先のプリンタへ転送される。
【0093】
代行プリンタ設定モジュール114は、障害が発生して中断した印刷ジョブを再開するために、再印刷の出力先として代行するプリンタ群を設定する。代行プリンタ設定モジュール114は、複数の再印刷を代行するプリンタの優先順位をプリンタ毎に設定し、印刷データ転送モジュール109は、この優先順位に従って再印刷を代行するプリンタを特定する。
【0094】
また、アプリケーション105とその他情報処理システムを構成するモジュール(106〜114)群は、情報処理システム実現のために提供されるソフトウエアモジュールであり、必ずしも同一のホストコンピュータ等に実装されている必要はなく、情報処理システムを構成するモジュール(106〜114)はシステムのサーバ側、アプリケーション105はシステムのクライアント側に存在していても良い。
【0095】
図2は、CRT2100上に表示される自動再印刷アルゴリズムにおける設定画面の一例を示す図である。同図において、「出力先プリンタの候補」の設定とその出力先の「優先順位」を設定する。図2に示す例では出力先のプリンタ名として「プリンタA」及び「プリンタB」が設定されており、それぞれ優先順位が1番,2番と設定されている。この場合、まず1番目のプリンタAで印刷を試み、そのプリンタAで障害が発生した場合に、優先順位として2番目の設定がされているプリンタBで再印刷を実行するように設定される。この設定は上述の代行プリンタ設定モジュール114で自動的に設定してもよいし、管理者又はユーザ等によって、アプリケーションから印刷要求を出すときにユーザ等がキーボード(2090)等の入力部から随時設定してもよい。
【0096】
次に、印刷データの処理の流れを図3〜図7のフローチャートを参照して、詳細に説明する。
【0097】
図3は、アプリケーション105から印刷を行なう際の処理の流れを説明するフローチャートである。
【0098】
まず、ステップS31でアプリケーション105から中間コード生成モジュール106に印刷要求が出され、印刷処理が開始される。
【0099】
ステップS32において、中間コード生成モジュール106はアプリケーション105の印刷要求に基づいて中間コードを生成する。この中間コードには、上述のようにPDF等の画像データとJDF等の印刷属性指示データが含まれ、ステップS33で中間コードを中間コード記憶モジュール107がファイルに格納する。
【0100】
ステップS34では、印刷データ生成モジュール108が、中間コード記憶モジュール107より中間コードを取得し、優先順位の一番高い出力先プリンタで印刷可能な印刷データに変換する。アプリケーション105により作成された文書データや画像データなどのアプリケーションデータを印刷するにあたって、オペレーティングシステム(OS)により提供される所定のインタフェースモジュールが利用され、プリンタ等の出力デバイスが処理可能な形式の印刷データに中間コードが変換される。
【0101】
ステップS35では、ステップS34で生成された印刷データを印刷データ転送モジュール109が受信し、その受信したデータを出力先プリンタに対してLAN104を経由して転送する。
【0102】
ステップS36において、指定されたプリンタで印刷が開始される。このプリンタの処理状況は、図1のプリンタ障害検出モジュール110でモニタされており(S37)、印刷データの処理において、障害が発生せず印刷処理が正常に完了した場合は印刷処理は正常終了する(S37−No、S38)。
【0103】
一方、印刷処理中、障害が発生した場合(S37−Yes)、図4〜図7で説明する再印刷処理動作に移行する(S39)。
【0104】
図4は、出力先として指定されたプリンタにおいて、障害が検出された場合の再印刷処理動作を説明するためのフローチャートである。
【0105】
プリンタ障害検出モジュール110が出力先のプリンタで障害が発生したことを検出すると(S41)、プリンタ障害検出モジュール110は、そのプリンタで障害が発生する前までに印刷完了した頁数(以下、「印刷完了頁数」という。)を取得し、この印刷完了頁数を基に、障害発生頁検出モジュール111は障害発生頁番号(L)を決定する。
【0106】
次に、ステップS43に処理を進め、印刷属性検出モジュール112が中間コード記憶モジュール107より格納されている中間コードDEVMODE、JDFなどから印刷属性を検出する。この印刷属性には、例えば、複数部印刷を行うために1部のデータを繰り返し並べたデータとなっているか、ステイプル止めの指示が指定されているか、両面印刷が設定されているか、また製本印刷(指定する枚数の用紙を束にして2つ折りにし、その束をつづり合わせることで製本が可能となる形式)が指定されているか、製本分冊(指定枚数を重ねて中綴じし、2つ折りにした小冊子を複数作成する)が指定されているかを示す属性が挙げられるが、これらに限るものではない。
【0107】
図5は印刷属性に基づき、再印刷開始頁の設定処理を説明するフローチャートである。図4のステップS43で印刷属性を検出後、処理を図5のステップS52に進め、再印刷開始頁(N)の初期値を図4のステップS42で決定された障害発生頁番号(L)とする。
【0108】
ステップS53では、ステップS43で取得した印刷属性を解析する。その中間コードが複数部印刷を行うために、データを繰り返し並べた構成となっている場合(S53−YES)にはステップS54に進み、繰り返し並べた構成となっていない場合(S53−NO)には処理をステップS56に進める。
【0109】
ステップS54では、印刷ジョブが複数の部数分のデータを含んでいるため、1部単位で再印刷をするために、その1部数分の頁数(M)を取得して、処理をステップS55に進める。
【0110】
ステップS55では、再印刷開始頁Nを決定するために、数列{1、M、2×M、3×M...、NN×M、...:(NNは自然数)}を生成し、この数列の要素のうち障害発生頁番号L以下で最大の値を演算し、その値を再印刷開始頁Nに設定して、処理をステップS71(図7)に進める。
【0111】
ステップS56では、印刷ジョブの属性(印刷属性)として、ステイプル止めの指示が指定されているかを判定し、指定されている場合(S56−YES)には処理をステップS57へ進めて再印刷開始頁Nを1に設定して(S57)、処理をステップS71(図7)に進める。ここで、ステップS57における処理では、印刷ジョブの属性としてステイプル止めが指定されていることから、1部のデータの途中から再印刷してしまうと1部ごとにステイプル止めを行うことはできないため、再印刷開始頁Nを1頁目に設定するものである。
【0112】
ステイプル止めの指定されていない場合(S56−NO)には処理をステップS61(図6)に進める。
【0113】
図6は、製本印刷、製本分冊、両面印刷に関する印刷属性に基づき、再印刷開始頁の設定処理を説明するフローチャートである。図5のステップS56で、ステイプル止めが指定されていない場合は、図6のステップS62において、製本印刷の属性が設定されているか否かを判断する。印刷ジョブの属性として製本印刷の属性が設定されている場合(S62−YES)には処理をステップS63に進め、製本印刷の属性が設定されていない場合(S62−NO)には処理をステップS64に進める。
【0114】
ステップS63では、中間コードより障害発生頁Lが含まれる用紙を検索し、その用紙に含まれる(レイアウトされる)先頭の頁番号を再印刷開始頁Nに設定し、処理をステップS71(図7)に進める。
【0115】
ステップS64では、印刷ジョブの属性として製本分冊印刷が設定されているかを判定し、製本分冊の属性が設定されている場合(S64−YES)には処理をステップS65に進め、設定されていない場合(S64−NO)には処理をステップS66に進める。
【0116】
ステップS65では、中間コードより障害発生頁Lが含まれる分冊を検索し、その分冊に含まれる先頭の頁番号を再印刷開始頁Nに設定し、処理をステップS71(図7)に進める。
【0117】
ステップS66では、印刷ジョブの属性として両面印刷が設定されているかを判定し、両面印刷の属性が設定されている場合(S66−YES)には処理をステップS67に進め、設定されていない場合には処理をステップS71(図7)に進める。
【0118】
ステップS67では、障害発生頁Lが印刷されるのが出力用紙の表であるか裏であるかを判定し、表である場合には再印刷開始頁Nに障害発生頁Lを設定し、裏である場合には障害発生頁L−1の値をNに設定する。このことにより、障害発生頁が裏面である場合にも、その裏面から印刷することが可能となる。
【0119】
図7は再印刷開始頁の確定から再印刷開始の処理を説明するフローチャートである。図7のステップS72で、印刷属性に基づいた再印刷開始頁Nを最終的に確定する。
【0120】
ステップS73で、印刷ジョブに設定された自動再印刷設定に基づき、正常状態であるプリンタの中で優先順位が最も高い出力先プリンタを再印刷先プリンタとして選択する。この設定は図2における自動再印刷の設定画面で設定されたプリンタと優先順位に基づくものである。
【0121】
次に、ステップS74で印刷データ生成モジュール108において、ステップS72で決定された再印刷開始頁に基づく範囲の中間ファイルを抽出し、該抽出された中間コードを再印刷先プリンタで印刷可能な形式変換し、再印刷開始頁から最終頁までの印刷データを生成する。
【0122】
そして、ステップS75で、印刷データ転送モジュール109によって、LAN104を経由して再印刷先プリンタに印刷データを転送し、再印刷先プリンタで再印刷が開始される(S76)。ここで、再印刷先プリンタの決定処理については上に説明した図2のユーザインターフェースを介して設定された代行先プリンタに自動的に転送される。また更なる別の好適な形態として、障害が発生したことに応じて代行先のプリンタを選択指示可能なユーザインターフェースを表示させ、該表示されたユーザインターフェースを介して選択指示された代行先プリンタを代行先として選択し、更に、選択先のプリンタが印刷可能なPDLデータに変換し転送するような形態も想定される。この再に転送先のプリンタが印刷可能なPDLデータに変換する処理は、転送先に対応したプリンタドライバソフトウエアが所定の記憶手段から抽出され稼動されることにより実現される。上にも説明したように印刷データ生成モジュール108は複数のプリンタの夫々に対応したプリンタドライバから対象となるプリンタに対応したプリンタドライバを選択する機能を有する。
【0123】
以上説明したように、本実施形態によれば、プリンタの障害などによって印刷ジョブが中断し場合であっても、印刷属性に基づいて再印刷開始頁を判断することにより、再印刷時も中断前の印刷属性を維持し、一貫した印刷属性の下に印刷ジョブを遂行することが可能となる。
【0124】
<第2実施形態>
次に、印刷ジョブを複数のプリンタを用いて分散して並列的に処理をする実施形態について説明する。図20はCRT2100上に表示される分散処理を制御するための処理モジュール(不図示)(以下、「分散処理モジュール」)の設定画面を例示する図である。同図により「出力先プリンタ」の設定とその出力先の「割合」に基づき、各プリンタが分担する印刷範囲が設定される。
【0125】
図20に示す例では出力先のプリンタとして選択可能なものが、「プリンタA」、「プリンタB」、「プリンタC」と3機種表示されており、この中で、「プリンタA」及び「プリンタB」が、割合30%、70%とそれぞれ設定されている。プリンタA及びプリンタBに対する設定は、処理するべき印刷データのうち先頭から30%をプリンタAで印刷し、続く70%をプリンタBで印刷する制御命令を与えるものである。
【0126】
割合が設定されていないプリンタCは、プリンタA又はプリンタBで障害が発生した場合に、再印刷を行うプリンタとして設定される。これらの設定は、管理者又はユーザ等によって、あらかじめ設定してもよいし、アプリケーションから印刷要求を出すときにユーザ等がキーボード(2090)等の入力部から随時設定してもよい。
【0127】
また、図20の各出力先への「割合」の設定方法は、割合の度合いを指定するものであるが、例えば、複数の分散先の夫々に対応するプリンタドライバ或いは出力先デバイスそのものから印刷速度(所定時間に出力可能な印刷枚数)の能力情報を取得するようにして、該取得された能力情報に応じて印刷速度に比例した印刷枚数を各出力先に割り当てるような方法によるものでも良い。
【0128】
また、実際には第1の実施形態の図2で説明したものと同様に優先順位の設定もなされていることが本実施形態では想定されている。異なる点は、優先順位1のプリンタが分散ジョブの出力先対象となる複数のプリンタに相当し、何れかの出力先で障害が発生し、該障害がホストコンピュータにて認識された場合には優先順位2の出力先プリンタが代行先として採用される。また、別の形態として分散ジョブ自の代行先のプリンタはユーザの指示に応じて手動で出力先を選択させるようにしても良い。
【0129】
また、図20に示される「プリンタA」、「プリンタB」、「プリンタC」は選択手段により選択されたプリンタを示すものであり、プリンタA、B,Cには夫々実施のプリンタデバイス及び該デバイスに割り当てられたプリンタ出力先ポートをセットにした情報が付加されている。これら、図20を介して設定された設定情報(属性)は上に説明した印刷属性指示データに設定値として格納される。
【0130】
次に、印刷データの処理の流れを図21〜図25のフローチャートを参照して、詳細に説明する。
【0131】
図21は、アプリケーション105からの印刷要求をきっかけに行われる本印刷制御システムによる処理の流れを説明するフローチャートであり、装置に設けられたCPUが不揮発性記憶手段より読み込まれるプログラムに基づく処理を実行することに応じて実現される。
【0132】
まず、ステップS1301でアプリケーション105から中間コード生成モジュール106に印刷要求が出され、印刷処理が開始される。
【0133】
ステップS1302において、中間コード生成モジュール106はアプリケーション105の印刷要求に基づいて中間コードを生成する。この中間コード(電子原稿形式ファイルとも呼ぶ)には、上述のようにPDF等の画像データとJDF等の印刷属性指示データが含まれ、ステップS33で中間コードを中間コード記憶モジュール107がファイルに格納する。
【0134】
ステップS1304では、上述の分散処理モジュールの設定に基づき、各出力先プリンタに対する印刷範囲(割合)を決定する。例えば、図20に示す設定の場合、分散処理モジュールは印刷データが全10頁、部数1部である印刷ジョブの印刷範囲としてプリンタAに1〜3ページ目、プリンタBに4ページ〜10ページ目を割り振る。これら分散ジョブの各頁範囲の情報も分散先プリンタ(分散先プリンタドライバ)に対応付けられた印刷属性指示データに設定値として書き込まれる。
【0135】
ステップS1305では、印刷データ生成モジュール108が、中間コード記憶モジュール107より中間コードを取得し、ステップS1304で決定した各出力先プリンタに対する印刷範囲に基づく中間コードより各出力先プリンタで印刷可能な印刷データ(頁記述言語)に変換する。本実施形態においては、分散処理のために選択されたプリンタA、Bが出力先プリンタに該当し、印刷データ生成モジュール108は両プリンタで処理が可能な形式の印刷データを夫々中間コードから生成する。
【0136】
ここで、ステップS1305における各出力先プリンタに適した印刷データを生成する印刷データ生成モジュール108の処理についてもう少し詳しく説明すると、中間コード記憶モジュールから中間コードを読み込んだ印刷データ生成モジュール108は先に説明してきたデスプーラの機能を備えており(1050や12320)、中間コードのデータ(上述で説明した、例えば、SVG形式やPDF形式のデータ)をプリンタドライバが解釈可能なようにする為に、OSの出力モジュールに適合する出力コマンド(描画命令)に変換する機能を備えている。そして、分散出力先毎に印刷属性指示データに設定された印刷頁範囲に基づく出力コマンド(描画命令)を夫々の分散出力先に対して生成し、該生成した出力コマンドを対象となる出力先毎に対応するプリンタドライバに対して印刷させるべく印刷指示する。そして、印刷指示された各プリンタドライバは夫々のデバイスに適切な印刷データ(頁記述言語)を生成する。
【0137】
ステップS1306では、ステップS1305で生成された印刷データを印刷データ転送モジュール109が受信し、その受信したデータを出力先プリンタに対してLAN104を経由して転送する。また、ステップS1306には示されてはいないが転送先のプリンタが完了通知をサポートするか否かを判別する処理が行われ、この判別に従って完了通知をサポートするプリンタと判別された場合には、ホストコンピュータは完了通知イベントを発行するようにプリンタに指示する。
【0138】
また、完了通知をサポートするプリンタでない、或いは、サポートしているかが不明と判別された場合には完了通知イベントを発行するよ指示は省略する制御がホストコンピュータにおいてなされる。尚、完了通知サポートするか否が不明であるような場合としては、例えば、分散ジョブに利用される何れかのプリンタのコマンド体系などが不明な場合(他社ベンダーのプリンタ)などが挙げられる。
【0139】
完了通知について更に詳しく述べると、完了通知には複数とおりの形態が想定され、ホストコンピュータはプリンタがサポートしている複数種類の完了通知イベントの発行を指示する。完了通知イベントの種類としてはプリンタに対して要求されたジョブの印刷出力が全て正常に完了した際のの印刷完了通知や、物理頁毎の正常印刷完了の通知(正常排紙に応じたタイミングで発行される)などが挙げられる。このホストコンピュータによる分散ジョブの夫々の出力先プリンタが完了通知をサポートするか否かの判別が行われることにより効率よく正常な分散ジョブの仕組みが実現される。
【0140】
例えば、所定のコマンド体系による印刷完了通知の指示をサポートしていないようなプリンタに、前記所定のコマンド体系による印刷完了通知の指示をホストコンピュータから通信回線を介してプリンタに指示したとして、プリンタにおいては誤動作をしてしまう可能性が考えられる。また、上に説明してきた「物理頁毎の正常印刷完了の通知」とは、後述するステップS1403の処理に対応するものとなる。
【0141】
また、判別の再にホストコンピュータによって参照される、夫々の出力先プリンタの機能の情報は、その都度出力先プリンタから通信回線を介して取得するようにしても良いし、予め設定された機能情報(完了通知をサポートしているか否かを示す情報)を判別の再に参照するようにすることが本実施形態では想定される。
【0142】
図20の説明に戻ると、ステップS1307において、指定されたプリンタで印刷が開始される。このプリンタの処理状況は、図1のプリンタ障害検出モジュール110でモニタされており(S1408)、印刷データの処理において、障害が発生せず印刷処理が正常に完了した場合は印刷処理は正常終了する(S1408−No、S1309)。
【0143】
一方、各出力先プリンタでの印刷処理中、障害が発生した場合(S1408−Yes)、図22〜図25で説明する再印刷処理動作に移行する(S1310)。
【0144】
図22は、出力先として指定されたプリンタにおいて、障害が検出された場合の再印刷処理動作を説明するためのフローチャートである。
【0145】
プリンタ障害検出モジュール110が出力先のプリンタで障害が発生したことを検出すると(S1401)、障害が発生したプリンタをプリンタIDなどを利用することにより特定し、該プリンタで印刷中あるいは印刷待ちとなっている印刷ジョブの再印刷処理を開始する。再印刷する印刷ジョブが決まると、ステップS1304で決定した各分散印刷ジョブの印刷範囲により、再印刷する範囲An〜Bnを決定し、それを再印刷最大範囲とする(S1402)。例えば、図20の設定でプリンタBに障害が発生した場合、再印刷の最大の範囲は4ページ目から10ページ目となる。
【0146】
次に、処理をステップS1403に進め、障害の発生したプリンタがそのプリンタで印刷完了頁数を検出可能なプリンタであるか否かを障害発生頁検出モジュール111が判断する。印刷完了頁数を検出することが不可能である場合、再印刷開始頁Nを再印刷最大範囲の先頭ページであるAnとして、ステップS1701へ処理を進める(S1404)。
【0147】
ステップS1404で設定される再印刷開始頁は、図20で設定された分散割合により、全10頁、部数1部を処理する場合、プリンタAの印刷範囲ではAn=1頁目、プリンタBの印刷範囲ではAn=4頁目が設定されることになる。
【0148】
印刷完了頁数を検出可能である場合(S1403−YES)、プリンタ障害検出モジュール110は印刷完了頁数を取得し、障害発生頁検出モジュール111は、障害発生頁番号(L)を「印刷完了頁数+印刷開始頁Anの値」の関係から決定する(S1405)。
【0149】
次に、ステップS1406に処理を進め、印刷属性検出モジュール112が中間コード記憶モジュール107より格納されている中間コードDEVMODE、JDFなどから印刷属性を検出する。この印刷属性には、例えば、複数部印刷を行うために1部のデータを繰り返し並べたデータとなっているか、ステイプル止めの指示が指定されているか、両面印刷が設定されているか、また製本印刷(指定する枚数の用紙を束にして2つ折りにし、その束をつづり合わせることで製本が可能となる形式)が指定されているか、製本分冊(指定枚数を重ねて中綴じし、2つ折りにした小冊子を複数作成する)が指定されているかを示す属性が挙げられるが、これらに限るものではない。
【0150】
図23は印刷属性に基づき、再印刷開始頁の設定処理を説明するフローチャートである。図22のステップS1406で印刷属性を検出後、処理を図23のステップS1502に進め、再印刷開始頁(N)の初期値を図1405のステップS1405で決定された障害発生頁番号(L)とする。
【0151】
ステップS1504では、ステップS1406で取得した印刷属性を解析する。その中間コードが複数部印刷を行うために、データを繰り返し並べた構成となっている場合(S1504−YES)にはステップS1505に進み、繰り返し並べた構成となっていない場合(S1504−NO)には処理をステップS1507に進める。
【0152】
ステップS1505では、印刷ジョブが複数の部数分のデータを含んでいるため、1部単位で再印刷をするために、その1部数分の頁数(M)を取得して、処理をステップS1506に進める。
【0153】
ステップS1506では、再印刷開始頁Nを決定するために、数列{1、M、2×M、3×M...、NN×M、...:(NNは自然数)}を生成し、この数列の要素のうち障害発生頁番号L以下、印刷開始頁An以上で最大の値を演算し、その値を再印刷開始頁Nに設定して、処理をステップS1701(図25)に進める。
【0154】
ステップS1507では、印刷ジョブの属性(印刷属性)として、ステイプル止めの指示が指定されているかを判定し、指定されている場合(S1507−YES)には処理をステップS1508へ進めて再印刷開始頁Nを印刷開始頁Anに設定して(S1508)、処理をステップS1701(図25)に進める。ここで、ステップS1508における処理では、印刷ジョブの属性としてステイプル止めが指定されていることから、1部のデータの途中から再印刷してしまうと1部ごとにステイプル止めを行うことはできないため、再印刷開始頁Nを印刷開始頁An頁目に設定するものである。
【0155】
ステイプル止めの指定がされていない場合(S1507−NO)には処理をステップS1601(図24)に進める。
【0156】
図24は、製本印刷、製本分冊、両面印刷に関する印刷属性に基づき、再印刷開始頁の設定処理を説明するフローチャートである。図23のステップS1507で、ステイプル止めが指定されていない場合は、図24のステップS1602において、製本印刷の属性が設定されているか否かを判断する。印刷ジョブの属性として製本印刷の属性が設定されている場合(S1602−YES)には処理をステップS1603に進め、製本印刷の属性が設定されていない場合(S1602−NO)には処理をステップS1604に進める。
【0157】
ステップS1603では、中間コードより障害発生頁Lが含まれる用紙を検索し、その用紙に含まれる(レイアウトされる)先頭の頁番号を再印刷開始頁Nに設定し、処理をステップS1701(図25)に進める。
【0158】
ステップS1604では、印刷ジョブの属性として製本分冊印刷が設定されているかを判定し、製本分冊の属性が設定されている場合(S1604−YES)には処理をステップS1605に進め、設定されていない場合(S1604−NO)には処理をステップS1606に進める。
【0159】
ステップS1605では、中間コードより障害発生頁Lが含まれる分冊を検索し、その分冊に含まれる先頭の頁番号を再印刷開始頁Nに設定し、処理をステップS1701(図25)に進める。
【0160】
ステップS1606では、印刷ジョブの属性として両面印刷が設定されているかを判定し、両面印刷の属性が設定されている場合(S1606−YES)には処理をステップS1607に進め、設定されていない場合には処理をステップS1701(図25)に進める。
【0161】
ステップS1607では、障害発生頁Lが印刷されるのが出力用紙の表であるか裏であるかを判定し、表である場合には再印刷開始頁Nに障害発生頁Lを設定し、裏である場合には障害発生頁L−1の値をNに設定する。このことにより、障害発生頁が裏面である場合にも、その裏面から印刷することが可能となる。
【0162】
図25は再印刷開始頁の確定から再印刷開始の処理を説明するフローチャートである。図25のステップS1702で、印刷属性に基づいた再印刷開始頁Nを最終的に確定する。
【0163】
ステップS1703で、印刷ジョブに設定された分散処理モジュールの設定に基づき、優先順位2の出力先プリンタが代行先として採用される。また、別の形態として優先順位2の出力先プリンタを自動的に代行先として確定させ印刷処理を継続するのではなく、ユーザに候補として優先順位2の出力先プリンタを選択可能な形態で表示させ、「OK」ボタンの押下など、ユーザの入力指示があった際に再印刷処理をするようにすること。また、ネットワーク上で参照可能なプリンタから、その都度ユーザの代行先プリンタを指示させることにより決定させ、該決定された代行先プリンタを再印刷の対象プリンタとすること。さらに別の形態として印刷が割り当てられていないプリンタを再印刷先プリンタとして選択することも想定され、例えば、図20のように設定されている場合にはプリンタCが選択される。このように本実施の形態によれば様々な代行先の決定方法が想定されるが、何れの代行先プリンタの決定方法が採用されたとしても、図22から図25にて説明してきた再印刷頁範囲の処理は適用可能であることは言うまでもない。
【0164】
次に、ステップS1704で印刷データ生成モジュール108において、ステップS1703で決定された再印刷開始頁に基づく印刷範囲の中間ファイルを抽出し、その抽出された中間コードを再印刷先プリンタで印刷可能な形式変換し、再印刷開始頁Nから再印刷をする最大範囲の最後の頁Bnまでの印刷データを生成する。
【0165】
また、ステップS1704の別の形態として、本実施形態にて説明してきた方法により決定された代行先プリンタが代行元(障害が発生したプリンタ)と互換性がある機種、或いは、同様の頁記述言語及び制御コマンドが解釈可能な機種の出力装置であるような場合には、ステップS1305にて生成した印刷データを保持しておき、該保持された印刷データを、わざわざ中間コードから生成することなく利用するような形態が挙げられる。本印刷制御システムは印刷範囲に該当する印刷データを抽出し代行先プリンタに転送する処理を行うこととなる。また、この再には予め各出力先がどのような印刷データに対応しているか、或いは、どのような機能を備えているか等の情報がホストコンピュータに格納されており、ホストコンピュータは該格納された情報を参照することにより印刷データを流用するか否かを判断することができる。
【0166】
そして、ステップS1705で、印刷データ転送モジュール109によって、LAN104を経由して再印刷先プリンタに印刷データを転送し、再印刷先プリンタで再印刷が開始される(S1706)。ここで、再印刷先プリンタの決定処理については先に説明した図20のユーザインターフェースを介して設定された代行先プリンタに自動的に転送される。
【0167】
また更なる別の好適な形態として、障害が発生したことに応じて代行先のプリンタを選択指示可能なユーザインターフェースを表示させ、その表示されたユーザインターフェースを介して選択指示された代行先プリンタを代行先として選択し、更に、選択先のプリンタが印刷可能なPDLデータに変換し転送するような形態も想定される。この際に転送先のプリンタが印刷可能なPDLデータに変換する処理は、転送先に対応したプリンタドライバソフトウエアが所定の記憶手段から抽出され稼動されることにより実現される。また、先に説明したように印刷データ生成モジュール108は複数のプリンタの夫々に対応したプリンタドライバから対象となるプリンタに対応したプリンタドライバを選択する機能を有するものである。
【0168】
また、別の形態として上の説明においてはホストコンピュータに印刷データ生成モジュール108、印刷データ転送モジュール109の機能を備えるように説明してきたが、この印刷データ生成モジュール108、印刷データ転送モジュール109の機能をホストコンピュータとはネットワーク等の所定の通信媒体を介して通信可能なサーバ(例えば図19の12020に相当)に備えさせるようにすることも想定される。
【0169】
以上説明したように、本実施形態によれば、分散処理により印刷ジョブを処理するプリンタが障害などによって処理を中断する場合であっても、分散印刷する印刷範囲と、印刷属性に基づいて再印刷開始頁を判断することにより、分散印刷にかかる印刷範囲毎に中断前の印刷属性を維持し、再印刷を一貫した印刷属性の下に遂行することが可能になる。
【0170】
<他の実施形態>
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェース機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(複写機、プリンタ、ファクシミリ装置など)に適用してもよい。
【0171】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成される。
【0172】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0173】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
【0174】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0175】
更に、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0176】
【発明の効果】
以上説明したように、本発明によれば、分散処理により印刷ジョブを処理するプリンタが障害などによって処理を中断する場合であっても、分散印刷する印刷範囲と、印刷属性に基づいて再印刷開始頁を判断することにより、分散印刷にかかる印刷範囲毎に中断前の印刷属性を維持し、再印刷を一貫した印刷属性の下に遂行することが可能となり、ユーザの期待する結果に忠実な出力を行うことができる。
【図面の簡単な説明】
【図1】本実施形態における情報処理システムの構成を示すブロック図である。
【図2】自動再印刷アルゴリズムにおける設定画面の一例を示す図である。
【図3】アプリケーション105から印刷を行なう際の処理の流れを説明するフローチャートである。
【図4】出力先として指定されたプリンタにおいて、障害が検出された場合の再印刷処理動作を説明するためのフローチャートである。
【図5】印刷属性に基づき、再印刷開始頁の設定処理を説明するフローチャートである。
【図6】印刷属性に基づき、再印刷開始頁の設定処理を説明するフローチャートである。
【図7】再印刷開始頁の確定から再印刷開始の処理を説明するフローチャートである。
【図8】コンピュータ101のハードウエアブロック図である。
【図9】スタンドアロン型の文書処理システムのブロック図である。
【図10】ブックファイルの構造の一例を示す図である。
【図11】ブック属性の一覧を示す図である。
【図12】章属性の一覧を示す図である。
【図13】ページ属性の一覧を示す図である。
【図14】ブックファイルを開く手順のフローチャートである。
【図15】電子原稿ファイルをブックファイルにインポートする手順のフローチャートである。
【図16】アプリケーションデータを電子原稿ファイルに変換する手順のフローチャートである。
【図17】既存のブックファイルを開いた際のユーザインタフェース画面の一例を示す図である。
【図18】新規のブックファイルを開いた際のユーザインタフェース画面の一例を示す図である。
【図19】クライアントサーバ型の文書処理システムのブロック図である。
【図20】CRT上に表示される分散処理モジュールの設定画面を例示する図である。
【図21】アプリケーション105から印刷を行なう際の処理の流れを説明するフローチャートである。
【図22】出力先として指定されたプリンタにおいて、障害が検出された場合の再印刷処理動作を説明するためのフローチャートである。
【図23】印刷属性に基づき、再印刷開始頁の設定処理を説明するフローチャートである。
【図24】製本印刷、製本分冊、両面印刷に関する印刷属性に基づき、再印刷開始頁の設定処理を説明するフローチャートである。
【図25】再印刷開始頁の確定から再印刷開始の処理を説明するフローチャートである。
Claims (30)
- プリンタで印刷される印刷データを生成する情報処理装置であって、
印刷ジョブを複数のプリンタにより分散させて印刷処理するために、該プリンタ毎の印刷範囲を設定する範囲設定手段と、
前記範囲設定手段により設定された印刷範囲に応じて印刷を行う際に、該印刷範囲毎の処理における障害発生を、それぞれの印刷範囲における障害発生頁と共に認識する認識手段と、
障害発生により中断した前記印刷範囲における印刷ジョブの印刷属性と、前記障害発生頁と、に従って該印刷範囲内の再印刷開始頁を決定する決定手段と、
前記決定された前記再印刷開始頁より特定される再印刷範囲の印刷データを、前記中断した印刷範囲の再印刷を代行するプリンタに転送し、該再印刷を実行させるデータ転送手段と、
を備えることを特徴とする情報処理装置。 - 前記認識手段によって認識された前記印刷範囲における障害発生頁と前記印刷属性とに従って、該印刷範囲において再印刷をするための印刷データを中間ファイル形式データより生成する生成手段を更に備え、
前記データ転送手段は前記生成手段によって生成された印刷データを、該再印刷を代行するプリンタに転送することを特徴とする請求項1に記載の情報処理装置。 - 前記決定手段は、前記印刷範囲内において障害発生頁を特定できない場合は、該障害が発生した印刷範囲の最初のページを再印刷開始ページとして決定することを特徴とする請求項1又は2に記載の情報処理装置。
- 前記生成手段は、前記決定に基づく前記印刷範囲において再印刷をするための印刷データを生成することを特徴とする請求項3に記載の情報処理装置。
- 前記中断した印刷ジョブの再印刷を印刷範囲毎に行なう際に、該再印刷を代行するプリンタを、該印刷範囲毎に設定する代行設定手段を更に備えることを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
- 前記代行設定手段は再印刷を代行するプリンタの優先順位を、該プリンタ毎に設定し、
前記データ転送手段は、前記優先順位に従って前記再印刷を代行するプリンタを特定することを特徴とする請求項5に記載の情報処理装置。 - 前記代行設定手段は、前記範囲設定手段により印刷範囲が設定されていないプリンタから前記再印刷を代行するプリンタを設定することを特徴とする請求項6に記載の情報処理装置。
- 前記印刷データの印刷設定をするデータ入力手段を更に備え、
前記データ入力手段の入力に従い、前記再印刷を代行するプリンタ及び/または該プリンタの優先順位が設定されることを特徴とする請求項1に記載の情報処理装置。 - 前記決定手段は前記印刷ジョブの印刷属性として両面印刷が指定されていることを検出した場合に、前記再印刷開始頁を、障害発生頁が表面の頁である場合にはその障害発生頁(L)と設定し、障害発生頁が裏面の頁である場合には障害発生頁の前の頁(L−1)と設定することを特徴とする請求項1に記載の情報処理装置。
- 前記決定手段は前記印刷ジョブの印刷属性としてステイプル止めが指定されていることを検出した場合に、前記再印刷開始頁を前記印刷範囲における最初のページとして設定することを特徴とする請求項1に記載の情報処理装置。
- 前記決定手段は前記印刷ジョブの印刷属性として1部のデータを複数回繰り返し並べられたデータであることを検出した場合に、前記再印刷開始頁を、1部数分の頁数(M)と、前記印刷範囲における最初のページ数(An)と、に基づき算出することを特徴とする請求項1に記載の情報処理装置。
- 前記決定手段は、前記1部数分の頁数(M)に基づき、数列(1、M、2×M、3×M、...NN×M...:(NNは自然数))を生成し、該数列要素のうち、障害発生頁(L)以下であり、前記印刷範囲における最初のページ(An)以上の範囲で最大の値を前記再印刷開始頁として設定することを特徴とする請求項11に記載の情報処理装置。
- 前記決定手段は前記印刷ジョブの印刷属性として、製本印刷が設定されていることを検出した場合に、前記再印刷開始頁を、障害発生頁が含まれる用紙の先頭の頁と設定することを特徴とする請求項1に記載の情報処理装置。
- 前記決定手段は前記印刷ジョブの印刷属性として、製本分冊印刷が設定されていることを検出した場合、前記再印刷開始頁を、障害発生頁が含まれる分冊を検索し、その分冊に含まれる先頭の頁と設定することを特徴とする請求項1に記載の情報処理装置。
- プリンタで印刷する印刷データを生成する情報処理方法であって、
印刷ジョブを複数のプリンタにより分散させて印刷処理するために、該プリンタ毎の印刷範囲を設定する範囲設定工程と、
前記範囲設定工程により設定された印刷範囲に応じて印刷を行う際に、該印刷範囲毎の処理における障害発生を、それぞれの印刷範囲における障害発生頁と共に認識処理する認識工程と、
障害発生により中断した前記印刷範囲における印刷ジョブの印刷属性と、前記障害発生頁と、に従って該印刷範囲内の再印刷開始頁を決定する決定工程と、
前記決定された前記再印刷開始頁より特定される再印刷範囲の印刷データを、前記中断した印刷範囲の再印刷を代行するプリンタに転送し、該再印刷を実行させるデータ転送工程と、
を備えることを特徴とする情報処理方法。 - 前記認識工程の処理によって認識された前記印刷範囲における障害発生頁と前記印刷属性とに従って、該印刷範囲において再印刷をするための印刷データを中間ファイル形式データより生成する生成工程を更に備え、
前記データ転送工程は前記生成工程の処理によって生成された印刷データを、該再印刷を代行するプリンタに転送することを特徴とする請求項15に記載の情報処理方法。 - 前記決定工程は、前記印刷範囲内において障害発生頁を特定できない場合は、該障害が発生した印刷範囲の最初のページを再印刷開始ページとして決定することを特徴とする請求項15または16に記載の情報処理方法。
- 前記生成工程は、前記決定に基づく前記印刷範囲において再印刷をするための印刷データを生成することを特徴とする請求項17に記載の情報処理方法。
- 前記中断した印刷ジョブの再印刷を印刷範囲毎に行なう際に、該再印刷を代行するプリンタを、該印刷範囲毎に設定する代行設定工程を更に備えることを特徴とする請求項15乃至17のいずれか1項に記載の情報処理方法。
- 前記代行設定工程は再印刷を代行するプリンタの優先順位を、該プリンタ毎に設定し、
前記データ転送工程は、前記優先順位に従って前記再印刷を代行するプリンタを特定することを特徴とする請求項19に記載の情報処理方法。 - 前記代行設定工程は、前記範囲設定工程の処理により印刷範囲が設定されていないプリンタから前記再印刷を代行するプリンタを設定することを特徴とする請求項20に記載の情報処理方法。
- 前記印刷データの印刷設定を処理するデータ入力工程を更に備え、
前記データ入力工程の処理に従い、前記再印刷を代行するプリンタ及び/または該プリンタの優先順位が設定されることを特徴とする請求項15に記載の情報処理方法。 - 前記決定工程は前記印刷ジョブの印刷属性として両面印刷が指定されていることを検出した場合に、前記再印刷開始頁を、障害発生頁が表面の頁である場合にはその障害発生頁(L)と設定し、障害発生頁が裏面の頁である場合には障害発生頁の前の頁(L−1)と設定することを特徴とする請求項15に記載の情報処理方法。
- 前記決定工程は前記印刷ジョブの印刷属性としてステイプル止めが指定されていることを検出した場合に、前記再印刷開始頁を前記印刷範囲における最初のページとして設定することを特徴とする請求項15に記載の情報処理方法。
- 前記決定工程は前記印刷ジョブの印刷属性として1部のデータを複数回繰り返し並べられたデータであることを検出した場合に、前記再印刷開始頁を、1部数分の頁数(M)と、前記印刷範囲における最初のページ数(An)と、に基づき算出することを特徴とする請求項15に記載の情報処理方法。
- 前記決定工程は、前記1部数分の頁数(M)に基づき、数列(1、M、2×M、3×M、...NN×M...:(NNは自然数))を生成し、該数列要素のうち、障害発生頁(L)以下であり、前記印刷範囲における最初のページ(An)以上の範囲で最大の値を前記再印刷開始頁として設定することを特徴とする請求項25に記載の情報処理方法。
- 前記決定工程は前記印刷ジョブの印刷属性として、製本印刷が設定されていることを検出した場合に、前記再印刷開始頁を、障害発生頁が含まれる用紙の先頭の頁と設定することを特徴とする請求項15に記載の情報処理方法。
- 前記決定工程は前記印刷ジョブの印刷属性として、製本分冊印刷が設定されていることを検出した場合、前記再印刷開始頁を、障害発生頁が含まれる分冊を検索し、その分冊に含まれる先頭の頁と設定することを特徴とする請求項15に記載の情報処理方法。
- 請求項1乃至14のいずれか1項に記載の情報処理装置の機能をコンピュータが実行する機能として特定することを特徴とするコンピュータプログラム。
- 請求項29に記載のコンピュータプログラムを格納することを特徴とするコンピュータ可読記憶媒体。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002160393A JP3572059B2 (ja) | 2002-05-31 | 2002-05-31 | 情報処理装置及び情報処理方法 |
US10/304,954 US7180623B2 (en) | 2001-12-03 | 2002-11-27 | Method and apparatus for print error recovery |
US11/698,842 US8218172B2 (en) | 2001-12-03 | 2007-01-29 | Method and apparatus for print error recovery |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002160393A JP3572059B2 (ja) | 2002-05-31 | 2002-05-31 | 情報処理装置及び情報処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004005245A true JP2004005245A (ja) | 2004-01-08 |
JP3572059B2 JP3572059B2 (ja) | 2004-09-29 |
Family
ID=30429821
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002160393A Expired - Fee Related JP3572059B2 (ja) | 2001-12-03 | 2002-05-31 | 情報処理装置及び情報処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3572059B2 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7180623B2 (en) | 2001-12-03 | 2007-02-20 | Canon Kabushiki Kaisha | Method and apparatus for print error recovery |
JP2007136923A (ja) * | 2005-11-21 | 2007-06-07 | Oki Data Corp | 画像形成装置 |
JP2013058007A (ja) * | 2011-09-07 | 2013-03-28 | Canon Inc | データ処理装置、データ処理方法およびプログラム |
JP2014226897A (ja) * | 2013-05-27 | 2014-12-08 | 大日本印刷株式会社 | 印刷再開時のページの連続性を保証できるプリンタおよびプリンタの印刷再開方法 |
JP2019212070A (ja) * | 2018-06-06 | 2019-12-12 | コニカミノルタ株式会社 | 情報処理装置、プログラム及び印刷システム |
-
2002
- 2002-05-31 JP JP2002160393A patent/JP3572059B2/ja not_active Expired - Fee Related
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7180623B2 (en) | 2001-12-03 | 2007-02-20 | Canon Kabushiki Kaisha | Method and apparatus for print error recovery |
US8218172B2 (en) | 2001-12-03 | 2012-07-10 | Canon Kabushiki Kaisha | Method and apparatus for print error recovery |
JP2007136923A (ja) * | 2005-11-21 | 2007-06-07 | Oki Data Corp | 画像形成装置 |
JP4553831B2 (ja) * | 2005-11-21 | 2010-09-29 | 株式会社沖データ | 画像形成装置 |
JP2013058007A (ja) * | 2011-09-07 | 2013-03-28 | Canon Inc | データ処理装置、データ処理方法およびプログラム |
US9158488B2 (en) | 2011-09-07 | 2015-10-13 | Canon Kabushiki Kaisha | Data processing apparatus and data processing method for generating data to be edited using a print driver |
JP2014226897A (ja) * | 2013-05-27 | 2014-12-08 | 大日本印刷株式会社 | 印刷再開時のページの連続性を保証できるプリンタおよびプリンタの印刷再開方法 |
JP2019212070A (ja) * | 2018-06-06 | 2019-12-12 | コニカミノルタ株式会社 | 情報処理装置、プログラム及び印刷システム |
Also Published As
Publication number | Publication date |
---|---|
JP3572059B2 (ja) | 2004-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7180623B2 (en) | Method and apparatus for print error recovery | |
JP4143426B2 (ja) | 文書処理装置及び方法 | |
JP3634695B2 (ja) | 印刷制御方法および装置 | |
JP4143566B2 (ja) | 文書処理装置及びその制御方法、並びにコンピュータプログラム | |
JP3950657B2 (ja) | 情報処理システム及びその表示方法、プログラム、並びに記録媒体 | |
JP5159484B2 (ja) | 情報処理装置、画像形成装置と後処理装置の制御方法、コンピュータプログラム | |
JP4095512B2 (ja) | 文書変換方法及び装置 | |
US8395806B2 (en) | Information processing apparatus, method, and program for bookbinding with selected cover layout type | |
JP2004192248A (ja) | 文書処理装置及び方法 | |
JP2003091518A (ja) | 文書処理方法及びそのシステム | |
JP2003162519A (ja) | 文書処理方法及びそのシステム | |
JP4953931B2 (ja) | 情報処理装置及び方法 | |
JP2003091521A (ja) | 文書処理装置及び方法 | |
JP4756796B2 (ja) | 情報処理装置、情報処理方法、プログラム及び記憶媒体 | |
JP5677043B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP2006107142A (ja) | 文書処理装置及び方法 | |
JP2006293598A (ja) | 文書処理システム | |
JP2010009219A (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP3733324B2 (ja) | 情報処理装置及び方法 | |
JP3572059B2 (ja) | 情報処理装置及び情報処理方法 | |
JP4095624B2 (ja) | 情報処理装置、印刷処理方法、プログラム、記憶媒体 | |
JP5288990B2 (ja) | 情報処理装置及びステープル属性設定方法 | |
JP4721391B2 (ja) | 印刷制御装置及び方法 | |
JP4859161B2 (ja) | 情報処理装置及びその処理方法 | |
JP2003091386A (ja) | 情報処理装置及び方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20031224 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040109 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040309 |
|
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: 20040607 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040625 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080702 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090702 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090702 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100702 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100702 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110702 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120702 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120702 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130702 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |