(57)【要約】【課題】プリフライトチェックと中間データ生成処理とで重複するデータの生成を防止する。【解決手段】文書処理装置はドキュメントデータを読み込んで、プリフライトチェックを行う。プリフライトチェックにおいては、ページごとにその内容を解析し、出力のために必要な資源を判定する（ステップＳ５０２〜Ｓ５０５）。次に、必要と判定された資源が、印刷システムにおいて利用可能であるか判定し、利用可能でなければ、そのページについてワーニング（警告）を出力し（Ｓ５０７）、利用可能であれば、そのページについて印刷出力のための中間データを生成する（ステップＳ５０８）。最後に、プリフライトチェックの結果を出力する（ステップＳ５０９）。【選択図】図５
2005173923.tif 000002
【特許請求の範囲】
【請求項１】
ドキュメントの出力のために利用可能な資源に関する資源情報を有する文書処理装置であって、
ドキュメントデータに基づいて、出力のために必要な資源をページごとに判定し、前記資源情報に含まれない資源が前記必要な資源に含まれているか判定する資源判定手段と、
前記資源判定手段により、前記資源情報に含まれない資源が前記必要な資源に含まれていないと判定された場合、当該ページについて中間データを生成する第１生成手段と
を備えることを特徴とする文書処理装置。
【請求項２】
出力要求に応じて、前記ドキュメントのページごとに当該ページについての中間データが生成されているか判定し、該当する中間データが生成されていないと判定された場合、当該ページについて中間データを生成する第２生成手段をさらに備えることを特徴とする請求項１に記載の文書処理装置。
【請求項３】
中間データを生成しない旨の指定がされていることを判定する工程を更に備え、当該指定がされていると判定された場合には、前記第１生成手段による中間データの生成を行わないことを特徴とする請求項１又は２に記載の文書処理装置。
【請求項４】
前記ドキュメントデータに基づいて、ドキュメントをプレビュー表示する表示手段を更に備えることを特徴とする請求項１乃至３のいずれか１項に記載の文書処理装置。
【請求項５】
前記第１生成手段は、前記資源情報に含まれない資源に、前記必要な資源が含まれていると判定された場合、当該ページについて警告出力することを特徴とする請求項１乃至４のいずれか１項に記載の文書処理装置。
【請求項６】
前記資源判定手段は、前記ドキュメントの全ページについて判定を行い、前記第１生成手段は、前記資源判定手段による判定が全ページについて終了した後に、前記資源情報に含まれない資源が前記必要な資源に含まれていないと判定されたページについて中間データを生成することを特徴とする請求項１乃至５のいずれか１項に記載の文書処理装置。
【請求項７】
クライアントであることを判定する手段をさらに備え、クライアントであると判定された場合には、前記中間データを生成しない旨の指定をすることを特徴とする請求項３に記載の文書処理装置。
【請求項８】
ドキュメントの出力のために利用可能な資源に関する資源情報を用いる文書処理方法であって、
ドキュメントデータに基づいて、出力のために必要な資源をページごとに判定し、前記資源情報に含まれない資源が前記必要な資源に含まれているか判定する資源判定工程と、
前記資源判定工程により、前記資源情報に含まれない資源が前記必要な資源に含まれていないと判定された場合、当該ページについて中間データを生成する第１生成工程と
を備えることを特徴とする文書処理方法。
【請求項９】
出力要求に応じて、前記ドキュメントのページごとに当該ページについての中間データが生成されているか判定し、該当する中間データが生成されていないと判定された場合、当該ページについて中間データを生成する第２生成工程をさらに備えることを特徴とする請求項８に記載の文書処理方法。
【請求項１０】
中間データを生成しない旨の指定がされていることを判定する工程を更に備え、当該指定がされていると判定された場合には、前記第１生成工程による中間データの生成を行わないことを特徴とする請求項８又は９に記載の文書処理方法。
【請求項１１】
前記ドキュメントデータに基づいて、ドキュメントをプレビュー表示する表示工程を更に備えることを特徴とする請求項８乃至１０のいずれか１項に記載の文書処理方法。
【請求項１２】
前記第１生成工程は、前記資源情報に含まれない資源に、前記必要な資源が含まれていると判定された場合、当該ページについて警告出力することを特徴とする請求項８乃至１１のいずれか１項に記載の文書処理方法。
【請求項１３】
前記資源判定工程は、前記ドキュメントの全ページについて判定を行い、前記第１生成工程は、前記資源判定工程による判定が全ページについて終了した後に、前記資源情報に含まれない資源が前記必要な資源に含まれていないと判定されたページについて中間データを生成することを特徴とする請求項８乃至１２のいずれか１項に記載の文書処理方法。
【請求項１４】
クライアントであることを判定する工程をさらに備え、クライアントであると判定された場合には、前記中間データを生成しない旨の指定をすることを特徴とする請求項１０に記載の文書処理方法。
【請求項１５】
ドキュメントの出力のために利用可能な資源に関する資源情報を備えるコンピュータにより、
ドキュメントデータに基づいて、出力のために必要な資源をページごとに判定し、前記資源情報に含まれない資源が前記必要な資源に含まれているか判定する資源判定工程と、
前記資源判定工程により、前記資源情報に含まれない資源が前記必要な資源に含まれていないと判定された場合、当該ページについて中間データを生成する第１生成工程と
を実行させるためのコンピュータプログラム。
【請求項１６】
ドキュメントデータを解析し、解析結果を出力する文書処理装置であって、
ドキュメントデータを解析し、ワーニングがあるか否かを判別する判別手段と、
前記判別手段によりワーニングがあると判別された場合、ドキュメントデータに基づき中間データの作成を行わず、前記判別手段によりワーニングがないと判別された場合、ドキュメントデータに基づき中間データの作成を行う作成手段とを有することを特徴とする文書処理装置。
【請求項１７】
前記作成手段は、出力要求が印刷の場合に実行されることを特徴とする請求項１６記載の文書処理装置。
【請求項１８】
ドキュメントデータを解析し、解析結果を出力する文書処理装置であって、
ドキュメントデータを解析し、ワーニングがあるか否かを判別する判別手段と、
前記判別手段によりワーニングがないと判別された場合、ドキュメントデータに基づき中間データの作成を行わず、前記判別手段によりワーニングがあると判別された場合、ドキュメントデータに基づき中間データの作成を行う作成手段とを有することを特徴とする文書処理装置。
【請求項１９】
前記作成手段は、出力要求が表示の場合に実行されることを特徴とする請求項１８記載の文書処理装置。
【請求項２０】
ドキュメントデータを解析し、解析結果を出力する文書処理装置であって、
ドキュメントデータを解析し、ワーニングがあるか否かを判別する判別手段と、
出力要求が印刷の場合、前記判別手段によりワーニングがあると判別された場合、ドキュメントデータに基づき中間データの作成を行わず、前記判別手段によりワーニングがないと判別された場合、ドキュメントデータに基づき中間データの作成を行い、出力要求が表示の場合、前記判別手段によりワーニングがないと判別された場合、ドキュメントデータに基づき中間データの作成を行わず、前記判別手段によりワーニングがあると判別された場合、ドキュメントデータに基づき中間データの作成を行う作成手段とを有する事を特徴とする文書処理装置。
【請求項２１】
ドキュメントデータを解析し、解析結果を出力する文書処理方法であって、
ドキュメントデータを解析し、ワーニングがあるか否かを判別する判別ステップと、
前記判別ステップによりワーニングがあると判別された場合、ドキュメントデータに基づき中間データの作成を行わず、前記判別ステップによりワーニングがないと判別された場合、ドキュメントデータに基づき中間データの作成を行う作成ステップとを有することを特徴とする文書処理方法。
【請求項２２】
前記作成ステップは、出力要求が印刷の場合に実行されることを特徴とする請求項２１記載の文書処理方法。
【請求項２３】
ドキュメントデータを解析し、解析結果を出力する文書処理方法であって、
ドキュメントデータを解析し、ワーニングがあるか否かを判別する判別ステップと、
前記判別ステップによりワーニングがないと判別された場合、ドキュメントデータに基づき中間データの作成を行わず、前記判別ステップによりワーニングがあると判別された場合、ドキュメントデータに基づき中間データの作成を行う作成ステップとを有することを特徴とする文書処理方法。
【請求項２４】
前記作成ステップは、出力要求が表示の場合に実行されることを特徴とする請求項２３記載の文書処理方法。
【請求項２５】
ドキュメントデータを解析し、解析結果を出力する文書処理方法であって、
ドキュメントデータを解析し、ワーニングがあるか否かを判別する判別ステップと、
出力要求が印刷の場合、前記判別ステップによりワーニングがあると判別された場合、ドキュメントデータに基づき中間データの作成を行わず、前記判別ステップによりワーニングがないと判別された場合、ドキュメントデータに基づき中間データの作成を行い、出力要求が表示の場合、前記判別ステップによりワーニングがないと判別された場合、ドキュメントデータに基づき中間データの作成を行わず、前記判別ステップによりワーニングがあると判別された場合、ドキュメントデータに基づき中間データの作成を行う作成ステップとを有することを特徴とする文書処理方法。
【請求項２６】
請求項２１乃至２５いずれか記載の文書処理方法を実行するコンピュータ読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、たとえばポストスクリプト（ＰＳ）やポータブルドキュメントフォーマット（ＰＤＦ）等といった形式のドキュメントデータを入力データとし、それらのドキュメントの内容をチェックした後に、出力のための中間形式のデータ（中間データ）を生成する文書処理装置および文書処理方法に関する。
【背景技術】
【０００２】
従来、コンピュータとプリンタとを含む印刷システム等において、ＰＳやＰＤＦその他のドキュメントデータを入稿し、それらのドキュメントの印刷等の出力を行う前に、ドキュメントが正しく出力されることを確認するための事前チェック、いわゆるプリフライトチェックを行い、その後出力処理を行っていた。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来の技術の場合、プリフライトチェックを行うときに、入力ドキュメントデータを解析するためにインタプリタ（解釈処理）を実行していた。インタプリタはドキュメントデータを解析して、そのドキュメントに必要とされる資源が印刷システムに備わっているかをチェックすると共に、出力用の中間データを生成する。ここで、中間データとは、たとえば１ページを主走査方向に平行な境界線で分割した領域（バンド）毎に、バンド内に含まれるオブジェクトを記述したデータである。オブジェクトは、たとえばプリンタが解釈できる文法に従って記述されている。この中間データをＤＬＣと略称する場合もある。
【０００４】
しかしながら、プリフライトチェックで生成される中間データは出力のために使用されることはなく、プリフライトチェック完了後の出力処理時に再びインタプリタが実行され、中間データが生成される。このように、ドキュメントデータを処理するためのインタプリタはプリフライトチェック時と出力処理時の２回実行され、その都度中間データが生成されていたため、プリフライトチェックにおける中間データ生成のための処理時間が無駄であり、また、不要な処理を行うことで他の処理を圧迫するなどし、処理効率の低下をもたらしていた。
【０００５】
中間データを生成する技術として特開２００１−００５６２０号公報記載の発明があるが、この発明ではプリフライトチェックは行われていない。また、この技術であると、ドキュメントが正しく出力されないデータまで中間データを作成してしまい、その処理が無駄な処理となってしまうおそれがある。更に、この技術は、全てのページに対して中間データを作成するので、ページ数が膨大な場合、マシン等に多大な負荷を掛けてしまうおそれがある。
【０００６】
本発明は上記従来例に鑑みてなされたもので、設定によって中間データを作成するタイミングを変え、プリフライトチェック時に状況に応じて中間データ生成し、また、出力時にも必要に応じて中間データを作成して出力を行うことによって、無駄な中間データ生成を省き、また、中間データ生成処理の重複も省き、プリフライトチェックを高速に実行し、また効率よくメモリや外部記憶装置を使用することを可能にする文書処理装置および文書処理方法を提供することを目的とする。
【特許文献１】特開２００１−００５６２０号公報
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明は以下の構成を備える。
【０００８】
ドキュメントの出力のために利用可能な資源に関する資源情報を有する文書処理装置であって、
ドキュメントデータに基づいて、出力のために必要な資源をページごとに判定し、前記資源情報に含まれない資源が前記必要な資源に含まれているか判定する資源判定手段と、
前記資源判定手段により、前記資源情報に含まれない資源が前記必要な資源に含まれていないと判定された場合、当該ページについて中間データを生成する第１生成手段とを備える。
【０００９】
さらに好ましくは、出力要求に応じて、前記ドキュメントのページごとに当該ページについての中間データが生成されているか判定し、該当する中間データが生成されていないと判定された場合、当該ページについて中間データを生成する第２生成手段をさらに備える。
【００１０】
さらに好ましくは、中間データを生成しない旨の指定がされていることを判定する工程を更に備え、当該指定がされていると判定された場合には、前記第１生成手段による中間データの生成を行わない。
【００１１】
さらに好ましくは、前記ドキュメントデータに基づいて、ドキュメントをプレビュー表示する表示手段を更に備える。
【００１２】
さらに好ましくは、前記第１生成手段は、前記資源情報に含まれない資源に、前記必要な資源が含まれていないと判定された場合、当該ページについて警告出力する。
【００１３】
さらに好ましくは、前記資源判定手段は、前記ドキュメントの全ページについて判定を行い、前記第１生成手段は、前記資源判定手段による判定が全ページについて終了した後に、前記資源情報に含まれない資源が前記必要な資源に含まれていないと判定されたページについて中間データを生成する。
【００１４】
さらに好ましくは、クライアントであることを判定する手段をさらに備え、クライアントであると判定された場合には、前記中間データを生成しない旨の指定をする。
【００１５】
あるいは、本発明は以下の構成を有する。
【００１６】
ドキュメントデータを解析し、解析結果を出力する文書処理装置であって、
ドキュメントデータを解析し、ワーニングがあるか否かを判別する判別手段と、
前記判別手段によりワーニングがあると判別された場合、ドキュメントデータに基づき中間データの作成を行わず、前記判別手段によりワーニングがないと判別された場合、ドキュメントデータに基づき中間データの作成を行う作成手段とを有する。
【００１７】
さらに好ましくは、前記作成手段は、出力要求が印刷の場合に実行される。
【００１８】
あるいは、  ドキュメントデータを解析し、解析結果を出力する文書処理装置であって、
ドキュメントデータを解析し、ワーニングがあるか否かを判別する判別手段と、
前記判別手段によりワーニングがないと判別された場合、ドキュメントデータに基づき中間データの作成を行わず、前記判別手段によりワーニングがあると判別された場合、ドキュメントデータに基づき中間データの作成を行う作成手段とを有する。
【００１９】
さらに好ましくは、前記作成手段は、出力要求が表示の場合に実行される。
【００２０】
あるいは、ドキュメントデータを解析し、解析結果を出力する文書処理装置であって、
ドキュメントデータを解析し、ワーニングがあるか否かを判別する判別手段と、
出力要求が印刷の場合、前記判別手段によりワーニングがあると判別された場合、ドキュメントデータに基づき中間データの作成を行わず、前記判別手段によりワーニングがないと判別された場合、ドキュメントデータに基づき中間データの作成を行い、出力要求が表示の場合、前記判別手段によりワーニングがないと判別された場合、ドキュメントデータに基づき中間データの作成を行わず、前記判別手段によりワーニングがあると判別された場合、ドキュメントデータに基づき中間データの作成を行う作成手段とを有する。
【発明の効果】
【００２１】
以上のように、ワーニング（warning：警告）の有無により、中間データを必要に応じて生成することによって、無駄な中間データを生成せずにすばやくプリフライトチェックの結果を返すことができ、また、むだな中間データを生成しないことによって、メモリや外部記憶装置等を効率よく使用でき、編集や印刷にもすばやい対応が可能となる。
【発明を実施するための最良の形態】
【００２２】
［第１実施形態］
第１実施形態においては、例えばプリンタ等での紙出力を行う印刷システムを説明する。この印刷システムは、作成者により作成されたＰＤＦやＰＳ形式のドキュメントを入力データとして紙媒体に印刷出力するためのシステムである。本実施形態の中でいう「ワーニング」とは、入力データにおいて指定された通りに出力できない場合に出される警告のことである。本印刷システムでは、たとえば、ＰＳやＰＤＦ形式の入力データを出力する時、出力対象となるデバイス（プリンタ）により、入力データの作者が意図した通り、すなわち、入力データにおいて指定されているすべての資源（たえばフォントやカラースペース等）が指定通りに用いられている場合には、ワーニングは発せられない。一方、一つでも指定された資源ではない資源を用いて出力をする場合、つまり、意図した通り出力できない場合、その部分についてワーニングが発せられる。
【００２３】
＜印刷システムの構成＞
図１は本発明にかかる印刷システムのブロック図である。本印刷システムは、コンピュータ１１、１２と、プリンタ２１とがネットワークに接続された構成となっている。もちろん、各装置の台数はこれに限らない。コンピュータ１１、１２はいわゆるクライアントマシンでも、サーバマシンその他でも良い。また、図１においてはプリンタ２１はネットワークにつながっているが、これはローカル接続の形であっても良い。また、プリンタ２１は、レーザービームプリンタ、バブルジェット（登録商標）プリンタ、熱転写プリンタ等、どのようなプリンタでもよい。
【００２４】
図２はコンピュータ１１、１２の概略構成を示すブロック図である。システムバス１１２は、構成要素間のデータの転送を行う。ＣＰＵ１０１は中央演算装置であり、装置全体の制御および演算処理を行う。ＲＯＭ１０２は読み出し専用メモリである。システム起動時のプログラム、基本Ｉ／Ｏプログラム等を記憶している。ＲＡＭ１０３はランダムアクセスメモリである。ＣＰＵ１０１での演算結果や文字データ、図形データ、イメージデータ等を記憶し、また、外部記憶装置等からロードされたアプリケーションなどのプログラムを一時的に記憶する。後述するインタプリタプログラム１０３１や、ユーザ設定情報１０３２、出力体裁情報１０３３、保有資源情報１０３４などのＲＡＭにロードされて実行、あるいは参照や更新などがされる。
【００２５】
ＫＢＣ１０４はキーボード制御部であり、ＫＢ１０５はキーボードである。ＫＢ１０５で入力されたデータをＫＢＣ１０４が受け取り、ＣＰＵ１０１へ伝送する。ＣＲＴＣ１０６はディスプレイ制御部であり、ＲＡＭ等から表示するためのデータを読み出し、ＣＲＴ１０７に転送する。ＣＲＴ１０７はディスプレイ装置であり、ＣＲＴＣ１０６より受け取った表示用のデータを画面に表示する。
【００２６】
ＤＫＣ１０８はディスク制御部であり、ＤＫ１０９へのアクセスの制御を行う。ＤＫ１０９は外部記憶装置であり、ＦＤすなわちフロッピー（登録商標）ディスク、ＨＤすなわちハードディスク、ＣＤ−ＲＯＭ等を含む。ハードディスクには、ＰＳ、ＰＤＦ等のドキュメントや、それらドキュメントを解釈するためのプログラム（インタプリタ）や、それらをビットマップイメージ等に展開するためのプログラム等が記憶されている。本発明にかかわるアプリケーションプログラムおよびそれに関連するプログラムやデータ等は、フロッピー（登録商標）ディスク装置、あるいはＣＤ−ＲＯＭ等の外部記憶装置から供給される。
【００２７】
ＮＴＣ１１０はネットワーク制御部であり、ＮＴ１１１すなわちネットワーク装置の制御を行う。図１の構成では、コンピュータはＮＴＣ１１０を介してネットワークに接続され、ネットワーク装置であるプリンタに接続されている。
【００２８】
図３は、図１のプリンタ２０１の概略をあらわすブロック図である。システムバス２１１は、構成要素間のデータ転送を行う。ＣＰＵ２０１は中央演算装置であり、ＲＡＭ２０３すなわちランダムアクセスメモリをワークエリアとし、ＲＯＭ２０２すなわち読み出し専用メモリに格納されたプログラムに従って印刷に必要な処理を実行する。また、ＲＯＭ２０２には、プログラムだけでなく、フォントデータ等も格納されている。また、ＤＫＣ２０６すなわちディスク制御部が制御するＤＫ２０７すなわち外部記憶装置は、ＦＤすなわちフロッピー（登録商標）ディスク、ＨＤすなわちハードディスク等であるが、これらにもＲＯＭ２０２と同じくプログラムやフォントデータ等が格納されている場合がある。
【００２９】
ＰＲＴＣ２０４はプリンタコントローラであり、印刷信号をＰＲＴ２０５すなわちプリンタエンジンに出力する。
【００３０】
ＮＴＣ２０８はネットワーク制御部であり、ＮＴ２０９すなわちネットワーク装置を制御している。図１のコンピュータ１０１等とのデータ送受信を行う。
【００３１】
図４は、本発明に係る処理を行う際の図２におけるメモリ１０３のメモリマップを示した図である。基本Ｉ／Ｏプログラムは、ＲＯＭ１０２内のシステム起動プログラムによりＲＡＭ１０３に読み込まれる。また、外部装置１０９からアプリケーションプログラムおよび関連データ等を一旦ハードディスク装置等へインストールした状態で電源が入れられた時にハードディスク装置等からＲＡＭ１０３にロードすることにより、実行可能となる。尚、ここでは便宜上ハードディスクとしているが、フロッピー（登録商標）ディスク、ＣＤ−ＲＯＭ等からＲＡＭ１０３へロードして実行することも可能である。
【００３２】
＜プリフライトチェック手順＞
次に、図５および図６のフローチャートを用いて、本実施形態の印刷システムにおける動作の詳細を説明する。この動作はコンピュータ１０１あるいはコンピュータ１０２等により実行される、ドキュメントのインタプリタの動作である。ここではコンピュータ１０１により実行されるものとする。本実施形態においても、ドキュメントの出力に際しては、まず、プリフライトチェックを行って、その後出力データの生成を行う、という手順を取る。しかしながら、出力データの生成処理の重複を避けるよう、処理が行われる。まず図５を参照してプリフライトチェック時の説明を行う。
【００３３】
ステップＳ５０１において、印刷システムのユーザインターフェースなどを介してユーザ等により行われた必要な設定を、ユーザ設定情報としてＲＡＭ１０３などに保持する。ここで行われる設定には、プリフライトチェック後に出力の対象となるデバイス（プリンタ等）の選択や、出力時のデバイスフォント（プリンタに備えられているフォント）の使用、デバイスのカラースペースの使用などといった設定を含む。
【００３４】
ステップＳ５０２において、ドキュメントのプリフライトチェックの指示に従ってドキュメントデータの読み込みを行う。このとき、ドキュメントデータの読み込みは、例えばアプリケーション等のＵＩ等から、当該ドキュメントデータについてプリフライトチェックの要求がされたときに行われる。したがって、ステップＳ５０１は、ドキュメントの出力とは非同期に実行されても良い。また、読み込みが行われる対象のドキュメントは、ＰＳ、ＰＤＦ等の、本実施形態におけるインタプリタが対応可能な形式である。
【００３５】
ステップＳ５０３において、ステップＳ５０２におけるプリフライトチェックの要求を受け、ドキュメントの解釈を始める。ドキュメントデータの解釈はステップＳ５０４以下の手順においてドキュメントデータの形式に従って行われる。すなわち、ドキュメントデータは、ＰＳやＰＤＦなどの規格により定義された規則に従って構成されており、インタプリタはその規則をたとえば文法辞書等の形式で保持している。そして、ドキュメントデータを、文法辞書を参照しつつ１ページずつ逐次読み取り、ドキュメントで指定されている資源等を特定していく。
【００３６】
ステップＳ５０４は、インタプリット（解析処理）のループ端の始点である。ここでは、インタープリットされるドキュメントの処理は１ページずつ行われる、インタープリットされるドキュメントの残りページ数が０になるまで、ステップＳ５０４とループ端の終点であるステップＳ５０８とにより構成されるループ処理を繰り返す。
【００３７】
ステップＳ５０５では、プリフライトチェックの対象となるドキュメントを１ページごとに実際に解釈していく処理が行われる。ここでは、インタープリットされているページ中の情報、例えばフォントや、カラープロファイルの情報、ドキュメントの方向や用紙サイズの情報といったような、ドキュメントの各ページが保持している出力体裁情報を取得し、プリフライトチェック用情報として保持する処理も行われる。たとえば、ドキュメントデータにおいては、文字列は、サイズや位置が、使用するフォントの種類とともに指定されている。また、イメージオブジェクトが含まれる場合には、カラープロファイルの指定がドキュメントデータに含まれる場合もある。そこで、ドキュメントデータをパースして、そのような利用資源に関する情報を抽出して出力体裁情報として保存する。
【００３８】
なお、出力体裁情報と対比される、印刷システムが保有する資源に関する保有資源情報も、プリフライトチェックに先んじて取得される。保有資源情報は、システムに含まれるプリンタが変更されたり、あるいは新たなフォント等の資源がインストールされることによりその内容が更新される。また、システムが保有する資源は、デバイス毎に保有資源情報に登録される。したがって、保有資源情報を参照することで、特定の資源が、特定のデバイスに存在しているか判定可能となっている。そのために、たとえば、保有資源情報と出力体裁情報とは、設定されている各項目を示すコードおよび設定内容を示すコードを共通にしておくなど、互いに対比可能な形式でメモリやハードディスクなどに保持される。
【００３９】
ステップＳ５０６では、ステップＳ５０１で設定されたユーザ設定情報を参照して、予め取得されている保有資源情報とステップＳ５０５で取得したドキュメントの各ページの出力体裁情報とを比較し、ユーザ設定情報において指定されている出力デバイスにより、出力体裁情報において指定されている通りに出力されるかどうかのチェックを行う。例えば、ユーザ設定情報においてデバイスフォント（プリンタ等の出力デバイスが保持しているフォント）を使用する、と設定されている場合には、当該ページの出力体裁情報に含まれているフォント（すなわち当該ページで使用されるフォント）が、ユーザ設定情報において選択されたデバイスに存在するかどうかがチェックされる。使用されるフォントがデバイスフォントには含まれていないと判定された場合、正しいフォント（出力体裁情報において指定されているフォント）を出力できず、他のフォント（代替フォント）に置き換えられるなどして出力される。すなわち、当該ドキュメントは出力体裁情報どおりに出力できないこととなる。このチェック結果はメモリ等に記憶されて、その旨をユーザに通知するためのワーニングが発せられる。また、中間データの生成に際してもチェック結果が参照される。
【００４０】
一方、ユーザ設定情報においてデバイスフォントを使用しないと設定されている場合には、コンピュータ１０１等、中間データの生成処理を行っているコンピュータにインストールされているフォントが、ドキュメントの出力のために使用される。したがって、そのコンピュータにインストールされていないフォントがドキュメント中に使用されていた場合、そのフォントは他のフォントに置き換えられるなどして出力体裁情報において指定されているとおりに出力できないため、その旨をユーザに通知するためのワーニングが発せられる。
【００４１】
フォントに限らず、カラープロファイルやイメージの解像度などといったそのほかの資源についても同様である。すなわち、プリフライトチェック対象のドキュメントの各ページの出力のために必要な資源、すなわち当該ページの出力体裁情報に含まれる資源を、ユーザ指定（ユーザ設定情報）に従ってデバイスごとの保有資源情報に含まれる資源と比較し、充足されない資源がある場合には、出力体裁情報の通りには出力できないと判断される。ここで、たとえばユーザ設定情報によりデバイスが限定されない資源については、いずれかのデバイスに存在すれば充足されるものと判断される。
【００４２】
このような判定の結果、ワーニングが無い、つまりドキュメントが正しく（すなわち出力体裁情報において設定されている通りに）出力される、と判断された場合、ステップＳ５０７へ進む。もしワーニングがあった場合にはステップＳ５０８へ進む。ワーニングが無かった場合にステップＳ５０７の中間データ生成に進むのは、印刷等の出力前のプリフライトチェックでワーニングが無かった場合、ドキュメントは正しく出力されるため、ドキュメントを編集する必要が無いためである。
【００４３】
ステップＳ５０７では、ページ記述言語（ＰＤＬ）等の出力用中間データを生成する。ここでは、ステップＳ５０５のインタプリットで解釈された情報を元に、中間データを生成する。このとき、生成された中間データはメモリ等に保存される。また、メモリではなく、ハードディスクやフロッピー（登録商標）ディスクといった外部記憶装置でも良い。保存方法は問わない。更に、生成された中間データが、どのドキュメントの何ページ目の中間データかを判別できるように情報を付加する。情報の付加の方法は、ＩＤであったり、パス名であったり、その方法は問わない。
【００４４】
なお、１ページ毎に中間データを作る場合は、図５のフローチャートが示すようになるが、全てのページをインタープリットした後に、中間データ（ＤＬＣ）を作っても良い。図５で説明すると、ステップＳ５０７がステップＳ５０８の後に処理されることになる。またそのように順序を入れ替えた場合にはステップＳ５０８では全ページの中間データを生成する。
【００４５】
ステップＳ５０８はループの終端である。全ページについて解析処理が終了するとステップＳ５０９でプリフライトチェックの結果を返す。ここで、結果を返すとは、たとえば図５の手順を呼び出す親手順がある場合には、その結果（警告の有無や、警告がある場合には警告の内容など）をパラメータとして親手順に渡すことをいう。また、ユーザインターフェース等を介してユーザに対して警告画面の表示や警告音の出力を通知する。
【００４６】
以上のようにして、警告が出されないページを対象として中間データが生成される。
【００４７】
＜出力処理手順＞
次に、出力要求に対する処理の説明を図６を参照して行う。出力要求は、プリフライトチェックで警告が出された項目に関してドキュメントを編集した後か、あるいは、警告を無視して出力させる場合に、ユーザから印刷システムに入力される。
【００４８】
ステップＳ５１０では、ユーザインターフェース等を介してユーザからドキュメントの出力要求を受け、出力の開始を行う。ステップＳ５１１では出力要求に応じて、インタプリタに対してインタプリットの開始を要求する。ステップＳ５１２は、インタープリット（解釈処理）のループの始点である。インタープリットの対象となるドキュメントのインタープリット残ページが０になるまでループする。
【００４９】
ステップＳ５１３は、実際のインタープリットの処理の開始のステップである。ステップＳ５１４では、プリフライトチェック時に、インタプリットの対象となっているページの中間データがステップＳ５０７で生成されていたかどうかを判断する。もし、中間データがすでに生成されていたらステップＳ５１６へ、生成されていなかったらステップＳ５１５へ進む。なお、ステップＳ５１３とステップＳ５１４とを入れ替え、中間データが生成されていない（存在していない）ページについてステップＳ５１３の解析処理およびステップＳ５１５の中間データの生成処理を行うようにしてもよい。こうすれば、無駄な解析処理を行わずに済む。なお、ステップＳ５１５においては、生成された中間データは、図５のステップＳ５０７において生成された中間データとページ順にマージされる。
【００５０】
ステップＳ５１５では、図５のプリフライトチェックで中間データが生成されていないページについて中間データを生成する。ステップＳ５１６はループの終点である。ステップＳ５１７では、生成された中間データがプリンタ等の出力デバイスに送信される。そしてプリンタにおいてドキュメントが印刷出力される。プリンタ側では、受信した中間データに基づきイメージデータをプリンタコントローラで生成し、生成されイメージデータに基づきプリンタエンジンで用紙に画像を印刷する。
【００５１】
以上の処理により、本実施形態における印刷システムにおいては、プリフライトチェック時と中間データ生成処理時と、２つの処理において重複するデータを生成することがない。そのため、プリフライトチェックを経て中間データ生成を行う場合の処理時間を短縮化でき、また、システム資源の利用効率を向上させることができる。
【００５２】
［第２実施形態］
第１実施形態では、出力要求が印刷の場合の例であった。しかし、プリフライトチェックを伴う出力システムの場合、ユーザの画面で出力がどうなるかをチェックするプレビューの場合と、プリンタ等への出力との場合では、中間データを生成するタイミングが多少異なる場合がある。第２実施形態では、プレビューの場合の例を説明する。以下に本発明の、第２実施形態を説明する。構成図やメモリマップ等は、第１実施形態と同様なので、第２実施形態での説明は省略する。また、図７の手順に先立って、印刷システムの保有資源情報をコンピュータにより獲得しておく点も第１実施形態と同様である。
【００５３】
＜プリフライトチェック手順＞
図７のフローチャートを用いて、本発明の詳細を説明する。まず、プリフライトチェック時の説明を行う。まずステップＳ６０１において、ユーザ等が各設定を行い、ユーザ設定情報として保持する。ここで行われる設定とは、プリフライトチェック後に出力の対象となるデバイスを選択したり、出力時にデバイスフォントを使用するか、などといった出力設定のことである。この点は第１実施形態と同様である。ただし、ここではディスプレイ等へのプレビュー出力であるので、印刷時に出力するデバイスの設定は、出力先として想定されたデバイスとなる。また、このユーザ設定では、プリフライトチェックの結果のみの出力かどうかの設定も行う。
【００５４】
ステップＳ６０２において、ドキュメントの読み込みを行う。このとき、ドキュメントの読み込みが行われる時は、例えばアプリケーション等のＵＩ等から、いわゆるプリフライトチェックの要求がされたときである。また、読み込みが行われる対象のドキュメントは、ＰＳ、ＰＤＦ等である。
【００５５】
ステップＳ６０３において、ステップＳ６０２でプリフライトチェックの要求を受け、インタプリタがドキュメントの解釈を始める。
【００５６】
ステップＳ６０４は、インタプリットのループ端の始点である。ここでは、インタープリットされるドキュメントは１ページずつその処理が行われるが、インタープリットされるドキュメントの残りページ数が０になるまでループを続ける。
【００５７】
ステップＳ６０５ではプリフライトチェックの対象となるドキュメントを１ページごとに実際の解釈していく処理が行われる。ここでは、インタープリットされているページ中の情報、例えばフォントであったり、カラーの情報であったり、ドキュメントの向きやサイズの情報といったような、ドキュメントの各ページが保持している出力体裁情報を取得し、プリフライトチェック用情報として保持する処理も行われる。
【００５８】
ステップＳ６０６は、ステップＳ６０１で入力されたユーザ設定情報を参照し、プリフライトチェックの結果のみを出力するかどうかの選択がされているか判断する。もし、プリフライトチェックの結果のみの出力が選択されていたならば、ステップＳ６０９へ進む。もし、プリフライトチェック結果のみではなく、プレビューデータも必要とするならば、ステップＳ６０７へ進む。
【００５９】
ステップＳ６０７では、ステップＳ６０１で設定されたユーザ設定情報を参照して、ステップＳ６０５で取得したドキュメントの各ページについての出力体裁情報と保有資源情報とを比較し、ステップＳ６０１で設定されたデバイスに、ドキュメントが保持している情報に従って出力されるかどうかのチェックを行う。例えば、ステップＳ６０１においてデバイスフォントを使用する、とユーザが設定していたとき、ドキュメント中に使用されているフォントが同じく設定で選択されたデバイスに存在しなかった時、それは正しいフォントを出力できず、他のフォントに置き換えられたりしてしまうことになるので、ドキュメントの情報どおり出力できないこととなり、ワーニングとなる。また、デバイスフォントを使用しないとしていた場合、図１でのコンピュータ１０１等にインストールされているフォントを使用することとなるが、そのコンピュータにインストールされていないフォントがドキュメント中に使用されていた場合、それはフォントが置き換えられたりしてしまうためドキュメントの情報どおり出力できず、ワーニングとなる。同じように、フォントだけではなく、カラーであったり、イメージ等の解像度であったり、といったような情報から、ワーニングがある、つまりドキュメントが正しく出力されない可能性がある、と判断された場合、ステップＳ６０８へ進む。
【００６０】
一方、１つもワーニングが見つからなかった場合、ステップＳ６０９へ進む。ここで、ワーニングが無かった場合にステップＳ６０８の中間データ生成に進むのは、プレビュー時のプリフライトチェックでワーニングがあった場合、ドキュメントは正しく出力されない可能性があるため、ユーザはどこが不正であるか、プレビューで確認するためである。
【００６１】
ステップＳ６０８では、ＰＤＬ等のような、出力用中間データを生成する。ここでは、ステップＳ６０５のインタプリットで解釈された情報を元に、中間データを生成する。このとき、生成された中間データはメモリ等に保存される。また、メモリではなく、ハードディスクやフロッピー（登録商標）ディスクといった外部記憶装置でも良い。保存方法は問わない。更に、生成された中間データが、どのドキュメントの何ページ目の中間データかを判別できるように情報を付加する。情報の付加の方法は、ＩＤであったり、パス名であったり、その方法は問わない。
【００６２】
また、このとき、１ページ毎に中間データを作る場合は、図７のフローチャートが示すようになるが、全てのページをインタープリットした後に、ＤＬＣを作っても良い。図７で説明すると、ステップＳ６０８がステップＳ６０９の後に処理されることになる。
【００６３】
ステップＳ６０９はループの終端である。ステップＳ６１０でプリフライトチェックの結果を返す。
【００６４】
以上の手順は、ステップＳ６０６においてプリフライトチェック結果のみの出力であるか否かの判定が行われることと、ステップＳ６１０においてプレビュー表示が行われる点を除いて、図５と同様である。このようにして、プリフライトチェック結果のみの出力が指定されていない場合には、警告が出されないページを対象として中間データが生成される。
【００６５】
＜出力処理手順＞
次に、出力要求時の説明を図８を参照して行う。ステップＳ６１１は出力要求を受け、出力の開始を行う。ステップＳ６１２は出力要求時のインタプリットの開始要求である。
【００６６】
ステップＳ６１３は、インタープリットのループの始点である。インタープリットの対象となるドキュメントのインタープリット残ページが０になるまでループする。
【００６７】
ステップＳ６１４は、実際のインタープリットの処理の開始のステップである。ステップＳ６１５では、プリフライトチェック時に、インタプリットの対象となっているページの中間データがステップＳ６０７で生成されていたかどうかを判断する。もし、中間データがすでに生成されていたらステップＳ６１６へ、生成されていなかったらステップＳ６１５へ進む。ステップＳ６１６では中間データを生成する。
【００６８】
ステップＳ６１７はループの終点である。ステップＳ６１８では、生成された中間データを元に、プリンタ等の出力デバイスで出力される。
【００６９】
出力処理手順は、図６の手順を同一である。以上の処理により、本実施形態における印刷システムにおいては、プリフライトチェック時と中間データ生成処理時と、２つの処理において重複するデータを生成することがない。そのため、プリフライトチェックを経て中間データ生成を行う場合の処理時間を短縮化でき、また、システム資源の利用効率を向上させることができる。
【００７０】
さらに、プリフライトチェックの結果のみを出力することを、プリフライトチェックの前にユーザが指定しておくことで、プリフライトチェック時においては中間コードを生成することがなく、迅速にプリフライトチェックを行うことができる。
【００７１】
［第３実施形態］
次に、第１実施形態および第２実施形態の変形例として、第３の実施形態を説明する。第１および第２の実施形態においては、プリフライトチェック（図５および図７）において、１ページずつ出力体裁情報と保有資源情報とを比較対比して不一致、すなわち警告の有無を判定し、警告のないページについては、そのページの中間データを生成している。
【００７２】
これに対して本実施形態では、１ページずつ出力体裁情報と保有資源情報とを比較対比して不一致の有無を判定する点は、第１実施形態および第２の実施形態と同様であるが、本実施形態では、ページごとに警告の有無を記憶しておき、全ページについて前記判定を行った後に、警告の生じなかったページについて中間データを一括して生成する。プリフライトチェック時に生成されるデータであって、中間データの生成に使用されるデータは、中間データの生成処理まで一時的に保存される。そして、プリフライトチェックの結果は例えばユーザインターフェースを介して出力される。ここで、プリフライトチェック結果の出力を、中間データの生成に先行して行うことで、ユーザによるプリフライトチェック結果の確認や、プリフライトチェック結果に応じたドキュメントの編集操作など、ユーザによる操作に並行して中間データの生成を行うことができる。このため、ユーザによる体感的な処理速度をより向上させることができる。
【００７３】
［第４実施形態］
次に、第４実施形態を説明する。本実施形態は、第１実施形態および第２実施形態が含まれる場合の例である。図９を用いて説明する。
【００７４】
図９において、１０１はクライアントマシンであり、１０２はサーバマシンである。また、１０３は出力機器である。第１実施形態で説明した例は、ドキュメントの出力を要求された場合のプリフライトチェックおよび中間データ生成処理の例であったが、この処理は、本実施形態においては図９のサーバマシン１０２により実行される。この場合、プリフライトチェック結果は、出力要求を発行したクライアント１０１に返される。このため、クライアント１０１は図７の手順を実行し、プレビュー表示を行う。サーバ１０２は、図５および図６の手順を実行し、プリフライトチェックおよび中間データの生成を行う。すなわち、クライアント１０１では、ユーザによりドキュメントデータが作成され、作成されたドキュメントデータはサーバマシン１０２に入稿（ドキュメントデータを入力）される。サーバマシン１０２でプリフライトチェックが行われてその結果がクライアントに返され、また、中間データが作成される。作成された中間データは出力機器１０３に入力されて印刷出力される。つまり、クライアントマシン１０１では、ドキュメントが作成されてプレビューが行われる。クライアント１０１では、プリフライトチェック結果のみの出力が設定される。サーバマシンで１０２は、そのドキュメントデータの入稿を受けつけてプリフライトチェックし、出力する。
【００７５】
コンピュータは、印刷システムの構成が図１のようなものであるか図９のようなものであるかを判定し、また、図９のような構成であれば、そのなかのどの構成要素に成相するかを判定して、何れの処理行うか決定することもできる。この設定、具体的には、クライアントにおいてプリフライトチェック結果のみの出力であるか否かの設定（図７のステップＳ６０６で判定される。）は、インタプリタがコンピュータにインストールされたときに、クライアントであると判定されたなら設定されてもよいし、ユーザにより設定されても良い。そして、判定結果にしたがって、クライアントであれは、出力対象のドキュメントデータについて図７の手順を施し、サーバであれば、入力されたドキュメントに対して図７および図８の処理を実行する。このように構成することで、クライアントサーバシステムにおいても、重複する中間データの生成は行われない。
【図面の簡単な説明】
【００７６】
【図１】本発明の実施形態にかかる文書処理システムの構成図である。
【図２】クライアントマシン・サーバマシン等の概略構成を示す図である。
【図３】プリンタの概略構成の図である。
【図４】本発明にかかる処理を実行する際の、コンピュータ内のＲＡＭのメモリマップを示す図である。
【図５】本発明の第１実施形態のフローチャートである。
【図６】本発明の第１実施形態のフローチャートである。
【図７】本発明の第２実施形態のフローチャートである。
【図８】本発明の第２実施形態のフローチャートである。
【図９】本発明の第３実施形態のシステム構成を示す図である。
【図１】
2005173923.tif 000003
【図２】
2005173923.tif 000004
【図３】
2005173923.tif 000005
【図４】
2005173923.tif 000006
【図５】
2005173923.tif 000007
【図６】
2005173923.tif 000008
【図７】
2005173923.tif 000009
【図８】
2005173923.tif 000010
【図９】
2005173923.tif 000011