(57)【要約】【課題】画像処理装置、画像処理方法、画像処理システムおよびプログラムを提供する。【解決手段】上位コンピュータが作製した印刷データを取得するＦＴＰサーバ２２０と、印刷データを格納するメモリ装置２５０と、メモリ装置２５０に格納された印刷データの文字コード、外字およびフォームイメージごとに画像処理装置１２０が解釈可能なデータへの変換を制御するマネージャ手段２２２と、マネージャ手段２２２により呼出され、文字コードおよび外字を画像処理装置１２０が解釈可能なデータ体系に変換し、フォームイメージを取得させ、文字コードおよび外字をフォームイメージにオーバーレイしてオーバーレイデータを作製するコンポーザ手段（２２４、２２６、２２８）と、印刷データを出力するため、画像形成手段ごとに提供され、それぞれ異なるポートが割当てられたドライバ手段を管理するドライバ管理手段２４０とを含む。【選択図】図２
2010072778.tif 000002
【特許請求の範囲】
【請求項１】
上位コンピュータが作製した印刷データをネットワークを介して出力するための画像処理装置であって、前記画像処理装置は、
前記上位コンピュータが作製した印刷データを取得する印刷データ取得手段と、
前記印刷データを、前記印刷データの転送元に対応して格納するメモリ手段と、
前記メモリ手段に格納された前記印刷データの文字コード、外字およびフォームイメージごとに前記画像処理装置が解釈可能なデータへの変換を制御するマネージャ手段と、
前記マネージャ手段により呼出され、前記文字コードおよび前記外字を前記画像処理装置が解釈可能なデータ体系に変換し、前記フォームイメージを取得して、前記文字コードおよび前記外字を前記フォームイメージにオーバーレイしてオーバーレイデータを作製するコンポーザ手段と、
前記印刷データを出力するため、画像形成手段ごとに提供されたドライバ手段を管理し、前記印刷データを出力する前記画像形成手段のためのドライバ手段を指定して前記オーバーレイデータから前記画像形成手段が解釈可能なプリントデータを生成させるドライバ管理手段と、
を含む画像処理装置。
【請求項２】
前記コンポーザ手段は、前記文字コードおよび前記外字を前記画像処理装置が解釈可能に変換する文字処理手段と、前記印刷データのフォーム記述言語で記述されたフォーム識別値を参照して前記フォームイメージを取得するフォームイメージ取得手段と、前記文字コードおよび前記外字を、前記フォームイメージにオーバーレイさせるオーバーレイ処理手段と、を含む請求項１に記載の画像処理装置。
【請求項３】
前記画像処理装置は、前記オーバーレイデータを処理する前記ドライバ手段を、前記ドライバ手段を固有に識別する値を参照して複数の前記ドライバ手段から選択するための出力制御手段を含み、前記出力制御手段は、複数の前記画像形成手段の処理能力を参照して印刷するべきデータのサイズと前記処理能力とにより指定される前記画像形成手段を固有に識別する値を設定することにより、印刷出力させるべき前記画像形成手段を指定する、請求項１または２に記載の画像処理装置。
【請求項４】
前記コンポーザ手段は、描画コンポーネントを実装し、前記印刷データを画像メタファイルとして前記ドライバ手段に渡し、前記ドライバ手段は、前記画像形成手段を制御するためのページ記述言語コマンドを追加して前記画像形成装置の固有フォーマットとしてプリントデータを作製し、前記画像処理装置の外部に送付する、請求項１〜３のいずれか１項に記載の画像処理装置。
【請求項５】
前記画像処理装置と前記画像形成手段とは、ＴＣＰ／ＩＰプロトコルを使用するネットワークで相互接続される、請求項１〜４のいずれか１項に記載の画像処理装置。
【請求項６】
上位コンピュータが作製した印刷データをネットワークを介して出力するための画像処理装置が実行する画像処理方法であって、前記画像処理装置が、
前記上位コンピュータが作製した印刷データを取得するステップと、
前記印刷データを、前記印刷データの転送元に対応してメモリ手段に格納するステップと、
前記メモリ手段に格納された前記印刷データの文字コード、外字およびフォームイメージごとに前記画像処理装置が解釈可能なデータ体系への変換を制御するステップと、
前記データ体系への変換に際して呼出され、前記文字コードおよび前記外字を前記画像処理装置が解釈可能に変換し、前記フォームイメージを取得して、前記文字コードおよび前記外字を前記フォームイメージにオーバーレイしてオーバーレイデータを作製するステップと、
前記印刷データを出力するため、画像形成手段ごとに提供されたドライバ手段であって、前記印刷データを出力する前記画像形成手段のためのドライバ手段を指定して前記オーバーレイデータから前記画像形成手段が解釈可能なプリントデータを生成させるステップと
を実行する、画像処理方法。
【請求項７】
前記オーバーレイデータを作製するステップは、描画コンポーネントを起動して前記印刷データを画像メタファイルとして前記ドライバ手段に渡すステップを含む、請求項６に記載の画像処理方法。
【請求項８】
前記ドライバ手段は、前記画像形成手段を制御するためのページ記述言語コマンドを追加するステップと、前記画像メタファイルを前記画像形成手段の固有フォーマットとしてプリントデータを作製し前記画像処理装置の外部に送付するステップとを実行する、請求項６または７に記載の画像処理方法。
【請求項９】
前記複数の前記ドライバ手段を選択するステップは、複数の前記画像形成手段の処理能力を参照して印刷するべきデータのサイズと前記処理能力とにより指定される前記画像形成手段を固有に識別する値を設定することにより、印刷出力させるべき前記画像形成手段を指定し、前記画像処理装置と前記画像形成手段とは、ＴＣＰ／ＩＰプロトコルを使用するネットワークで相互接続される、請求項６〜８のいずれか１項に記載の画像処理方法。
【請求項１０】
上位コンピュータが作製した印刷データをネットワークを介して出力するための画像処理システムであって、前記画像処理システムは、
前記上位コンピュータから印刷データを受領して画像形成手段が解釈可能なデータ体系に変換する画像処理装置と、
前記画像処理装置と前記画像処理手段との間を、ＴＣＰ／ＩＰプロトコルにより相互接続するネットワークとを含み、前記画像処理装置は、
前記上位コンピュータが作製した印刷データを取得する印刷データ取得手段と、
前記印刷データを、前記印刷データの転送元に対応して格納するメモリ手段と、
前記メモリ手段に格納された前記印刷データの文字コード、外字およびフォームイメージごとに前記画像処理装置が解釈可能なデータへの変換を制御するマネージャ手段と、
前記マネージャ手段により呼出され、前記文字コードおよび前記外字を前記画像処理装置が解釈可能に変換し、前記フォームイメージを取得して、前記文字コードおよび前記外字を前記フォームイメージにオーバーレイしてオーバーレイデータを作製するコンポーザ手段と、
前記印刷データを出力するため、画像形成手段ごとに提供されたドライバ手段を管理し、前記印刷データを出力する前記画像形成手段のためのドライバ手段を指定して前記オーバーレイデータから前記画像形成手段が解釈可能なプリントデータを生成させるドライバ管理手段と
を含み、前記ドライバ手段は、前記画像形成手段を制御するためのページ記述言語コマンドを追加し、前記画像形成手段の固有フォーマットとしてプリントデータを作製して前記画像処理装置の外部に送付する、画像処理システム。
【請求項１１】
前記画像処理装置は、前記オーバーレイデータを処理する前記ドライバ手段を、前記ドライバ手段を固有に識別する値を参照して複数の前記ドライバ手段から選択するための出力制御手段を含み、前記出力制御手段は、複数の前記画像形成手段の処理能力を参照して印刷するべきデータのサイズと前記処理能力とにより指定される前記画像形成手段を固有に識別する値を設定することにより、印刷出力させるべき前記画像形成手段を変更する、請求項１０に記載の画像処理システム。
【請求項１２】
請求項１〜５のいずれか１項に記載の機能手段として情報処理装置を機能させるための情報処理装実行可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理技術に関し、より詳細には、データ体系を変換し、効率的に印刷処理を実行するための画像処理装置、画像処理方法、画像処理システムおよびプログラムに関する。
【背景技術】
【０００２】
商業用途では、請求書、納品書、その他の帳票を高速かつ大量に印刷することが必要とされている。従来、高速で大量の帳票印刷を実行するためには、メインフレームコンピュータ（以下、単にメインフレームとして参照する。）を含む上位コンピュータが使用される。上位コンピュータは、帳票出力するべきデータを処理し、ラインプリンタなどの出力型式であるラインデータなどの形式で帳票印刷物として出力する場合が多い。
【０００３】
上述したメインフレームを含む上位コンピュータからの印刷データを出力する場合に、ラインプリンタを使用する技術は、高速印刷性を提供する。しかしながら、ラインプリンタによる出力は、印字品質に制限があり、また多種多様の帳票データへの対応性が制限されるという問題点があった。
【０００４】
一方、近年では、いわゆる電子写真法といった画像形成技術を使用したページプリンタの性能は、情報処理技術の進歩やネットワーク基盤の高速・大容量化にともなって改善されてきている。このため、従来からも上述した専用のラインプリンタの代わりに、電子写真法を使用した画像形成装置であるページプリンタを上位コンピュータからの出力のために利用することができる。この様なページプリンタとしては、ネットワーク機能を備え、要求に応じてイーサネット（登録商標）などを介してデータの送受信を行い、インターネットなどを介してデータ転送が可能な、いわゆる多機能複写機(MFP: Multi-Function Peripheral)として参照されるページプリンタを挙げることができる。また、ページプリンタとしては、高速でページ印刷が可能な印刷機グレードのものまで市販されるようになっており、その出力性能は、ラインプリンタまでには至らないものの、充分に高速・大容量印刷が可能とされている。
【０００５】
上位コンピュータからのラインデータを、画像形成装置が処理できるシステムとしては種々想定することができる。第１のシステムは、メインフレームが直接画像形成装置が解釈可能なデータ体系のデータを出力させ、画像形成装置が直接帳票印刷するシステムである。上位コンピュータのうち、特にメインフレームは、メインフレーム専門のメーカ、いわゆるメインフレーマが独自のＯＳを実装し、ＣＯＢＯＬ、ＰＬ−１、ＦＯＲＴＲＡＮ、ＰＡＳＣＡＬ、Ｃ、Ｃ＋＋、Ｊａｖａ（登録商標）などのプログラミング言語で記述された業務アプリケーションを実行することにより、帳票データなどを作製し、ラインプリンタに対して出力する仕様とされている。メインフレームからの出力をページプリンタに出力させることを目的として、メインフレーム自体の実装内容を修正することは、コストもかかり、またそのためのメンテナンス中、基幹業務が停止するというリスクを発生させる可能性がある。
【０００６】
このような点から、メインフレームと画像形成装置との間のデータ体系変換を実行する画像処理サーバを使用する第２のシステムが提案されている。第２のシステムでは、メインフレームからの出力は、メインフレームのプログラミング構成を修正することなく、現在メインフレームが保有している出力ＡＰＩ(Application Program Interface)をそのまま使用する。画像処理サーバは、メインフレームからのラインデータを受領して画像形成装置が解釈できるデータ体系に変換した後、画像形成装置に渡し、印刷を実行させる。
【０００７】
従来の画像処理サーバは、多くの場合、ラインデータを処理するに実績のあるＵＮＩＸ（登録商標）などのオペレーティングシステム（以下、ＯＳとして参照する。）を使用し、特定の画像形成装置のためのエミュレーションプログラムを実装するサーバを使用するものであり、高コストとなることが多い。
【０００８】
この結果、画像形成装置は、メインフレーム専用のページプリンタとされ、画像形成装置の汎用性も損なわれることになる。また、ページプリンタを、メインフレーム用に専有化させる場合、専用ページプリンタのメンテナンス中にも業務を停止させることがないように、ユーザは、バックアップ用のプリンタを準備しておかなくてはならない。
【０００９】
バックアップ用のプリンタもサーバを使用せざるを得ないので、ユーザは、ほぼ機能の同等の高コスト出力システムを冗長配置させる必要が有る。この結果、バックアッププリンタは、その稼働効率が低下し、メインフレームからのより効率的な出力を可能とするものではない。さらに、メインフレームからの出力がない場合や、充分に能力を残しているページプリンタがある場合でも、専用プリンタのみが印刷を実行するのでは、ページプリンタ間でジョブ分散ができず、この結果、コストおよび業務支援性の点で柔軟性に欠けるという問題もあった。
【００１０】
例えば、上述した第２のシステムを構成するための技術として、例えば特開２００４−１７８３８３号公報（特許文献１）、特開２００４−０５４８３２号公報（特許文献２）および特開２００３−２８０８５７号公報（特許文献３）を挙げることができる。特許文献１〜３は、いずれもメインフレームやホストコンピュータからの帳票データをページプリンタに出力することを開示する。しかしながら、特許文献１〜３は、ホストコンピュータから送付された印刷データをページプリンタが出力可能なフォーマットのエミュレーションする点について開示するものの、メインフレームから受信した印刷データを、ジョブ負荷を分散させながら、さらに効率的にページプリンタで印刷する技術について、開示するものではない。
【特許文献１】特開２００４−１７８３８３号公報
【特許文献２】特開２００４−０５４８３２号公報
【特許文献３】特開２００３−２８０８５７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
本発明は上記従来技術に鑑みてなされたものであり、本発明は、上位コンピュータから送付された印刷データを、ページプリンタを使用してさらに効率的に印刷する、画像処理装置、画像処理方法、画像処理システムおよびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明は、上記従来技術の問題点に鑑みてなされたものであり、本発明では、上位コンピュータが作製した印刷データをネットワークを介して出力するための画像処理装置、画像処理方法、画像処理システムおよびプログラムが提供される。
【００１３】
画像処理装置は、
上位コンピュータが作製した印刷データを取得する印刷データ取得手段と、
印刷データを、当該印刷データの転送元に対応して格納するメモリ手段と、
メモリ手段に格納された印刷データの文字コード、外字およびフォームイメージごとに画像処理装置が解釈可能なデータへの変換を制御するマネージャ手段と、
マネージャ手段により呼出され、文字コードおよび外字を画像処理装置が解釈可能なデータ体系に変換し、フォームイメージを取得して、文字コードおよび外字をフォームイメージにオーバーレイしてオーバーレイデータを作製するコンポーザ手段と、
印刷データを出力するため、画像形成手段ごとに提供されたドライバ手段を管理し、印刷データを出力する画像形成手段のためのドライバ手段を指定してオーバーレイデータから前記画像形成手段が解釈可能なプリントデータを生成させるドライバ管理手段と
を含む。
【００１４】
上述したコンポーザ手段は、さらに文字コードおよび外字を画像処理装置が解釈可能に変換する文字処理手段と、印刷データのフォーム記述言語で記述されたフォーム識別値を参照してフォームイメージを取得するフォームイメージ取得手段と、文字コードおよび外字を、フォームイメージにオーバーレイさせるオーバーレイ処理手段とを含む構成とすることができる。
【００１５】
画像処理装置は、オーバーレイデータを処理するドライバ手段を、ドライバ手段を固有に識別する値を参照して複数のドライバ手段から選択するための出力制御手段を含んでおり、出力制御手段は、複数の前記画像形成手段の処理能力を参照して印刷するべきデータのサイズと前記処理能力とにより指定される前記画像形成手段を固有に識別する値を設定することにより、印刷出力させるべき画像形成手段を変更することができる。
【００１６】
さらに、上述したコンポーザ手段は、描画コンポーネントを実装し、印刷データを画像メタファイルとしてドライバ手段に渡し、ドライバ手段は、画像形成手段を制御するためのページ記述言語コマンドを追加して画像処理装置の固有フォーマットとしてプリントデータを作製し、画像処理装置の外部に送付することができる。
【００１７】
本発明では、さらに、上記構成の画像処理装置が実行する画像処理方法、画像処理システムおよびプログラムが提供される。
【００１８】
本発明によれば、上位コンピュータが使用するデータ体系をより汎用的な画像形成装置が解釈可能なデータ体系に変換することで、画像形成装置に接続性に対して高い柔軟性を提供し、複数の画像形成装置間で負荷分散を行いながら上位コンピュータの出力を印刷する画像形成技術が提供できる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明を実施形態をもって説明するが、本発明は、後述する実施形態に限定されるものではない。図１は、本実施携帯の画像処理システム１００のハードウェアブロックを示す。画像処理システム１００は、例示的な上位コンピュータとして機能する、メインフレーム１１０と、サーバ１２０と、複数のページプリンタ１４０、１５０、１６０とを含んで構成されている。メインフレーム１１０は、帳票作成などを実行するためのリレーショナルデータベース、オブジェクト指向データベースといったデータベースアプリケーションおよび帳票作成などの業務アプリケーションを実装し、クライアントからデータを受領する。
【００２０】
メインフレーム１１０は、さらにクライアントからの要求に応答して、リレーショナルデータベースに登録されたデータを、請求書、見積書、注文書などの帳票を印刷するための印刷データを出力する。メインフレーム１１０が出力する印刷データは、ラインデータであり、そのままではページプリンタによって出力できる形式ではない。
【００２１】
このため、本実施形態では、メインフレーム１１０は、作製した印刷データをファイル転送プロトコルを使用してサーバ１２０に送付する。画像処理サーバ１２０は、ラインデータとして送付される印刷データを解析し、印刷データからページプリンタが解釈可能なプリントデータを生成する。画像処理サーバ１２０は、図１に示した実施形態では、プリントデータを一旦プリンタリンカ１３０に送付する。プリンタリンカ１３０は、受領したプリントデータをページプリンタ１４０〜１６０によって出力する場合のユーティリティーを向上させる機能を提供し、オープンな環境で例えば後述する端末コンピュータ１９０からアクセスされる。プリンタリンカ１３０は、画像処理サーバ１２０から受領したプリンタデータの転送を可能とし、さらにユーザが指定したオプション設定やプリントデータが含む各種データを使用して、コメント追加処理、ステープル処理、丁合処理、地紋処理などのための制御を実行する。
【００２２】
プリンタリンカ１３０は、図１に示す実施形態では、画像処理サーバ１２０とは別体のモジュールとして構成されており、図１の実施形態では、プリンタリンカ１３０は、ワークステーションやサーバとして構成することができる。また、他の実施形態では、画像処理サーバ１２０の１機能モジュールとして実装することもできる。
【００２３】
プリンタリンカ１３０は、上述したオプション処理のための設定が終了した後、プリントデータを各ページプリンタ１４０〜１６０に転送し、メインフレームがラインデータとして作製した印刷データを、ページプリンタから帳票印刷物として出力させている。プリンタリンカ１３０については、これ以上の詳細説明は省略するが、パーソナルコンピュータ、ワークステーション、サーバなどシステム構成の特定の要求に応じて、これまで知られたプリンタサーバなどの機能を使用して実装することができる。
【００２４】
さらに本実施形態の画像処理システム１００の他の実施形態では、画像処理サーバ１２０が直接複数のページプリンタ１４０〜１６０を、ＵＳＢ(Universal Serial Bus)を使用し、ＵＳＢ−ＨＵＢなどを使用して直接ページプリンタ１４０〜１６０を制御していてもよい。
【００２５】
図１に示した実施形態のページプリンタ１４０〜１６０は、いわゆる電子写真法を使用して画像形成を行う形式の画像形成装置として構成されている。なお、本実施形態では、ページプリンタ１４０〜１６０として高速印刷専用のページプリンタ１４０、１５０を採用することができる。さらに本実施形態では、プリントデータのデータ量や印刷枚数が許容する範囲で、いわゆるＭＦＰ(Multi-Function Peripheral)として参照される、ファクシミリ、イメージリーダなどの機能を搭載した多機能複写機１６０を、印刷データの出力先のページプリンタとして設定することができる。
【００２６】
メインフレーム１１０については、本実施形態の要旨とするものではないので詳細な説明は省略するが、メインフレーム１１０は、専用ＯＳ上で、ＰＬ−１、ＣＯＢＯＬ、ＰＲＯＬＯＧ、ＦＯＲＴＲＡＮ、Ｃ、Ｃ＋＋、ＪＡＶＡ（登録商標）などのプログラムにより記述された業務アプリケーションを実行させ、リレーショナルデータベースなどに記録されたデータを使用して帳票印刷などのための印刷データを生成する。印刷データは、メインフレーム１１０が印刷ジョブのジョブ記述言語およびフォーム記述言語を含む専用記述言語により、メインフレーマ各社の規格にしたがって記述されている。
【００２７】
一方、画像処理サーバ１２０は、本実施形態では、ＯＳとしてＷＩｎｄｏｗｓ（登録商標）Ｓｅｒｖｅｒ２００Ｘなどを使用して実装され、アセンブラ、Ｃ、Ｃ＋＋、Ｊａｖａ（登録商標）などのプログラミング言語で記述されたサーバプログラムを実行し、メインフレーム１１０からの印刷データを、ページプリンタ１４０〜１６０が解釈可能な、例えば、ページ記述言語(Page Description Language：ＰＤＬ）コマンドが追加されたプリントデータに変換する。その他、本実施形態では、ＵＮＩＸ（登録商標）またはＬＩＮＵＸ（登録商標）などをＯＳとして実装するサーバも利用することができるが、Ｗｉｎｄｏｗｓ（登録商標）環境における、ＷＹＳＷＹＧ環境の提供、プリンタドライバの移植性、ＮＥＴＢＥＵＩ、ＴＣＰ／ＩＰ、ＵＤＰ／ＩＰなどのネットワーク層レベルでの多プロトコル対応性、およびプリント品質の観点から、Ｗｉｎｗｏｄｓ（登録商標）ＳｅｒｖｅｒシリーズのＯＳを実装することが好ましい。
【００２８】
さらに、図１に示した実施形態では、画像処理サーバ１２０にはパーソナルコンピュータまたはワークステーションなどとして実装される端末コンピュータ１９０が接続されている。画像処理サーバ１２０は、メインフレーム１１０以外にも、端末コンピュータ１９０からのプリントデータを受領して、ページプリンタ１４０〜１６０に印刷を実行させている。印刷要求を受領した各ページプリンタ１４０〜１６０は、指定された印刷条件にしたがってプリントデータを印刷物１７０ａ〜１７０ｃとして出力する。
【００２９】
なお、図１に示した実施形態の画像処理システム１００は、メインフレーム１１０、画像処理サーバ１２０、プリンタリンカ１３０、ページプリンタ１４０〜１６０の間がイーサネット（登録商標）といったネットワークで相互接続されている。ネットワークを構成する通信基盤としては、電気通信、光通信、無線通信など、これまで知られたいかなる通信基盤を使用することができ、使用するネットワーク基盤に対応し、物理層レベルで各種の通信プロトコルを使用することができる。
【００３０】
図１に示す実施形態で使用するネットワークプロトコルとしては、フレーム（ＯＳＩ基本参照モデルにおけるデータリンク層レベル）、トランスポート層レベル以上のプロトコルを提供するＮＥＴＢＥＵＩ、ＴＣＰ／ＩＰ、ＮＥＴＢＥＵＩ  ｏｖｅｒ  ＴＣＰ／ＩＰ、ＵＤＰ／ＩＰなどを使用することができる。本実施形態で、複数のページプリンタ１４０〜１６０の負荷分散を考慮しながら、ページプリンタの相互のバックアップ処理を実行するためには、ネットワークプロトコルとして、トランスポート層以上の高次プロトコルを提供するネットワークを使用して、画像処理システム１００を実装することが好ましい。
【００３１】
また、データ転送プロトコルとしては、ＦＴＰ、ＨＴＴＰなどのデータ転送プロトコルを使用することができ、セキュリティレベルの要請に応じて、ＦＴＰＳ、ＨＴＴＰＳなどのセキュアプロトコルを適宜採用することができる。
【００３２】
図２は、図１に示した画像形成システム１００のソフトウェアブロック図２００を示す。図２では、メインフレーム１１０につき、本実施形態に関連するモジュールのみを示す。メインフレーム１１０は、業務アプリケーション２１０を実装しており、クライアントからの要求に応じて印刷データを作製し、作製した印刷データをプリントキュー２１２に格納する。プリントキュー２１２に格納された印刷データは、先入れ・先出し方式でＦＴＰクライアント２１４に渡され、ＦＴＰプロトコルを使用して画像処理サーバ１２０へと印刷データを転送している。
【００３３】
図２に示すように、画像処理サーバ１２０は、（１）ＦＴＰサーバ、（２）エミュレータ、（３）出力コントローラとしての機能を実装する。以下、画像処理サーバ１２０の機能ブロックについてより詳細に説明する。画像処理サーバ１２０は、上記（１）〜（３）の機能を情報処理装置上に実現するため、ＦＴＰサーバ２２０と、エミュレーション制御部２２２と、出力制御部２３０と、ドライバ管理部２４０とを含んで構成される。上述したＦＴＰサーバ２２０、エミュレーション制御部２２２、出力制御部２３０およびドライバ管理部２４０は、画像処理サーバ１２０が含むＲＡＭなどが提供する記憶空間に実行形式のプログラムおよびデータを展開し、中央処理装置（ＣＰＵ）がプログラムを実行することにより各機能手段として実現されている。
【００３４】
ＦＴＰサーバ２２０は、本実施形態の印刷データ受領手段として機能する。ＦＴＰサーバ２２０は、ＲＦＣ９５９などに規定されるＦＴＰ転送プロトコルを使用して画像処理サーバ１２０に実装されていて、メインフレーム１１０から印刷データをファイル転送プロトコルを使用して受領する。
【００３５】
なお、メインフレーム１１０は、印刷データの送付以前に、ＲＦＣ８５４で規定されるＴｅｌｎｅｔプロトコルを使用して、アクセス認証を実行し、セキュリティ性を確保している。なお、他の実施形態で、よりセキュアなファイル転送を実行する場合、ＦＴＰサーバ２２０に代えて、ＲＦＣ２２２８、ＲＦＣ４２１７で規定されるＦＴＰＳプロトコルを使用するＦＴＰＳサーバを実装することができる。
【００３６】
ＦＴＰサーバ２２０は、印刷データの転送を受け付けると、転送パケットを検査して印刷データの格納先をパス指定値などから判断する。ＦＴＰサーバ２２０は、受領した印刷データがメインフレーム１１０から送付されたものであるか、または他の端末コンピュータ１９０からのエミュレーション無しにページプリンタに送付可能なデータであるか否かに応答して、受領した転送パケットに対して異なる処理を実行する。
【００３７】
ＦＴＰサーバ２２０は、端末コンピュータ１９０から転送パケットを受領した場合、エミュレーション制御部２２２を介することなく、ＦＩＦＯバッファなどにデータをバッファリングした後、転送パケットのペイロードを送付し、描画コンポーネントの実施形態として例示される、ＧＤＩ(Graphics Display Interface)やＤＤＩ(Device Driver Interface)を呼出して、ＯＳに準拠した画像処理を実行し、ペイロードの内容から、ＥＭＦ(Enhanced Meta-File)を作製し、ドライバ管理部２４０に渡す。ドライバ管理部２４０は、ユーザ指定されたプリントドライバがある場合、ユーザ指定されたプリントドライバを呼出してＲＡＷデータを作製し、スプーラ、ポートモニタを経由して指定されたページプリンタに出力を依頼する。なお、端末コンピュータ１９０からの処理は、通常のプリンタサーバの機能と同等であるので、さらに詳細な説明は省略する。
【００３８】
出力制御部２３０は、ページプリンタ１４０〜１６０の処理状態を、印刷するべきデータの受領と同期、または非同期にモニタし、端末コンピュータ１９０のユーザが指令した条件に該当するページプリンタまたはその時点で印刷するべきデータのサイズを処理するに適切な範囲の指標値である「Ｌｏａｄ」を与えるページプリンタを決定し、ページプリンタ指定変数に出力するべきページプリンタを固有に識別する識別値を設定する。なお、出力制御部２３０は、種々のプロトコルを使用してページプリンタ１４０〜１６０の状態を検出することができ、このためには、ＳＮＭＰ(Simple Network Management Protocol)を使用し、ページプリンタのＭＩＢに記述されたデータを回収し、ページプリンタ１４０〜１６０の状態を認識するように実装することができる。
【００３９】
なお、出力制御部２３０は、ページプリンタ１４０〜１６０の状態をモニタするに際し、印刷データの受領と非同期に定期的にポーリングして、後述するドライバ管理部２４０に対するデータ送付以前に予め使用するべきページプリンタを指定しておくことができる。また、出力制御部２３０は、ページプリンタの印刷出力状態も管理しており、ＳＮＭＰプロトコルなどを使用して例えばデータ受信エラーや印刷エラーなどを検出している。
【００４０】
ドライバ管理部２４０は、複数のページプリンタ１４０〜１６０を制御するため、複数のプリンタドライバを管理する。好ましい実施形態では、ドライバ管理部２４０は、複数のプリンタドライバ機能を実行することができる仮想プリンタドライバとして画像処理サーバ１２０に実装される。この際、ドライバ管理部２４０は、仮想プリンタドライバのための専用のポートおよび出力先ＩＰアドレス、より具体的にはプリンタリンカ１３０のＩＰアドレスを割当てて画像処理サーバ１２０に実装される。
【００４１】
ドライバ管理部２４０は、印刷するべきデータを受領すると、ユーザが指定したページプリンタがあれば、ユーザ指定に対応するプリンタドライバを起動して、画像メタファイルの例示できる、例えばＥＭＦファイルとして受領したデータに対してページ記述言語（ＰＤＬ：Page Description Language）コマンドを追加し、さらに汎用プリンタが使用する固有フォーマットであるＲＡＷデータとした後、プリンタリンカ１３０を経由してＲＡＷデータを指定されたページプリンタ１４０〜１６０に送付し、印刷出力を実行させる。
【００４２】
一方、ＦＴＰサーバ２２０は、転送パケットを検査し、転送ファイルの格納先を指定するパス値が、エミュレーション処理が必要なことを示す格納領域であると判断した場合、転送パケットのペイロードから印刷データを取得し、例えば、ＦＩＦＯバッファとして構成したメモリ装置２５０に取得した印刷データ１、２、３、…を先入れ・先出し方式で登録する。
【００４３】
エミュレーション制御部２２２は、文字処理部２２４、フォームイメージ取得部２２６、オーバーレイ処理部２２８を管理している。エミュレーション制御部２２２は、メモリ装置２５０に印刷データが正常に格納されたことを確認された後に画像処理サーバ１２０により呼出され、さらに、エミュレーションを実行するための文字処理部２２４、フォームイメージ取得部２２６、およびオーバーレイ処理部２２８を呼出し、メモリ装置２５０の印刷データを読出し、それぞれの処理を実行させる。
【００４４】
文字処理部２２４は、メインフレームが使用するフォントデータを、画像処理サーバ１２０およびページプリンタ１４０〜１６０が解釈可能なフォントデータ、例えばＪＩＳ、ＳＪＩＳなどの画像処理サーバ１２０およびページプリンタ１４０〜１６０が解釈可能なデータ体系へと、文字コード対応付けリストなどをルックアップして対応付けを実行する。
【００４５】
また、文字処理部２２４は、メインフレームからの印刷データにロゴや外字が含まれていると判断した場合、ビットマップ変換を実行し、イメージデータとして適切なメモリ領域にバッファリングする。
【００４６】
また、フォームイメージ取得部２２６は、印刷データに記述されたフォーム識別値を検査し、フォームイメージ識別値で指定されるフォームイメージを適切な記憶装置、例えば、ハードディスク装置に構成されたフォームイメージ格納部２６０から読込んで、適切なメモリ領域にバッファリングする。なお、フォームイメージは、画像処理サーバ１２０が最初に印刷データを受領した段階で、フォーム記述言語（ＦＳＬ）などを解釈してＰｏｓｔＳｃｒｉｐｔ（登録商標）やページプリンタのベンダ固有のページ記述言語などを使用してエミュレーション制御部２２２が作製し、ＰＤＦ（Portable Document Format)、ビットマップ、ＪＰＥＧ、ＴＩＦＦ、ＧＩＦ、ＰＮＧなどのイメージデータとしてハードディスク装置に格納させることができる。
【００４７】
また、予めフォーム種類が知られている場合には、適切なエディタアプリケーションを使用してフォームを作製し、上述したフォーマットのイメージデータとしてハードディスク装置にフォーム識別値に対応付けて登録しておくことができる。
【００４８】
オーバーレイ処理部２２８は、文字データおよびフォームイメージを統合してオーバーレイデータを作製する処理を実行する。オーバーレイ処理部２２８は、文字処理部２２４がコンバートした文字データ、外字、ロゴに対応するように作製したビットマップイメージを取得する。また、オーバーレイ処理部２２８は、フォームイメージ取得部２２６が取得したフォームイメージをバッファリング先から読出す。そして、オーバーレイ処理部２２８は、文字データおよびビットマップイメージをフォームイメージに重ね合わせ、データとしてマージすることにより、オーバーレイデータとして統合する処理を実行する。
【００４９】
オーバーレイ処理は、より詳細に説明すると、印刷データが指定する用紙サイズ、左右上下マージンにより指定される領域にフォームイメージを展開し、フォームイメージに対して割当てられた記入位置に対応する文字データを配置する処理によって実行される。上述したオーバーレイ処理のためには、Ｗｉｎｄｏｗｓ（登録商標）などで標準実装されているＧＤＩモジュールを使用することができる。なお、図２に示したエミュレーション制御部２２２は、画像処理を管理するマネージャ手段として機能し、文字処理部２２４、フォームイメージ取得部２２６オーバーレイ処理部２２８がコンポーザ手段として機能する。
【００５０】
オーバーレイ処理部２２８は、説明する実施形態では、オーバーレイデータをＥＭＦファイルとして作製する。オーバーレイ処理部２２８は、作製したＥＭＦファイルを仮想プリンタドライバとして登録されたドライバ管理部２４０に送付する。なお、この時点でＥＭＰファイルは、固有フォーマットに変換された後、ドライバ管理部２４０によりＰＤＬコマンドが追加され、ＲＡＷデータとされて、プリントデータとされる。
【００５１】
メインフレーム１１０から送付された印刷データから、ページプリンタ１４０〜１６０が出力可能なプリントデータをＲＡＷデータとして出力するため、ドライバ管理部２４０は、複数の実装形態から選択して構成することができる。ドライバ制御部２４０の第１実施形態では、ドライバ管理部２４０は、オーバーレイデータを受領した後、出力制御部２３０が設定したプリンタドライバ２４０ａ〜２４０ｃの起動判断処理の期間、オーバーレイデータをバッファリングし、起動されたプリンタドライバにオーバーレイデータを供給する処理を担当する。
【００５２】
当該実施形態の場合、ドライバ管理部２４０は、出力制御部２３０が予め登録するページプリンタ識別変数に登録されたページプリンタの固有識別値の値を取得し、当該固有識別値で指定されるプリンタドライバを関数呼出しし、処理を実行させる。
【００５３】
ドライバ管理部２４０は、呼出すべきプリンタドライバを決定した後、呼出したプリンタドライバにオーバーレイデータを渡してＰＤＬコマンドの追加およびＲＡＷデータへの変換処理を実行させ、プリントデータを作製する。作製されたプリントデータは、スプーラおよびポートモニタを介してプリンタリンカに送付される。
【００５４】
プリンタリンカ１３０は、送付されたＰＤＬを解釈し、ユーザオンデマンドのプリント条件などを判断し、さらにユーザ指定されたオプション機能などのためのＰＤＬコマンドを追加し、ページプリンタ１４０にプリントデータを転送して、設定されたプリント条件での印刷物１７０ａを作製させる。なお、本実施形態で使用することができる、ＰＤＬコマンドとしてはＰｏｓｔＳｃｒｉｐｔ（登録商標）、その他画像形成装置にベンダの独自言語を採用することができる。また、プリンタリンカ１３０が使用する転送プロトコルは、ＦＴＰプロトコルでもよいし、ＦＴＰＳプロトコルでもよい。また、他の実施形態では、プリンタリンカ１３０からページプリンタ１４０〜１６０への転送範囲がＬＡＮ内で局在化できる場合には、データリンク層レベルでの転送を行うこともできる。
【００５５】
ドライバ管理部２４０の当該実施形態の場合、ドライバ管理部２４０は、単一のプリンタドライバとして画像処理サーバ１２０が認識し、オーバーレイ処理部２２８から出力されるオーバーレイデータを受領してバッファリングする。
【００５６】
その後、ドライバ管理部２４０は、出力制御部２３０が設定したページプリンタ指定変数の値を参照して印刷を依頼するべきプリンタドライバの関数名を取得する。その後、ドライバ管理部２４０は、取得した関数名を使用してプリンタドライバをドライバ管理部２４０の関数として呼出して、ページプリンタに適応した処理を実行させる。
【００５７】
ドライバ管理部２４０は、例えばＣ、Ｃ＋＋、Ｃ＃などのプログラミング言語で記述され、さらに好ましい実施形態では、Ｃ言語で記述されたプリンタドライバの関数呼出しを実行する。関数呼出しで起動されたプリンタドライバは、バッファリングされたオーバーレイデータを読出して、ＰＤＬコマンドの追加などの処理を実行した後、プリントプロセッサによりＷｉｎｄｏｗｓ（登録商標）非準拠プリンタが使用することができるＲＡＷデータを生成させ、画像処理サーバ１２０の外部に出力する。
【００５８】
作製されたプリントデータは、プリンタリンカ１３０を経由して対応付けられるページプリンタ１４０〜１６０に送付される。また、他の実施形態では、端末コンピュータ１９０からの印刷要求の場合などにおいては、ドライバ管理部２４０とは別にプリンタドライバを登録しておき、プリンタリンカ１３０を介することなく、画像処理サーバ１２０から直接指定されたページプリンタのＩＰアドレスへとプリントデータを送付することができる。
【００５９】
図３は、本実施形態の画像処理サーバ１２０が実行する画像処理方法の実施形態を示す。図３の処理は、ステップＳ３００から開始し、ステップＳ３０１で、ＦＴＰサーバ２２０が印刷するべきデータを含む転送ファイルを受領する。ステップＳ３０２では、転送ファイルの格納先パス名を検査し、格納先パス名から、転送元がメインフレーム１１０か、端末コンピュータ１９０かを判断する。ステップＳ３０２で、転送元が端末コンピュータ１９０であると判断され、メインフレーム１１０からの転送ファイルではないと判断された場合（ｎｏ）処理をステップＳ３０９に分岐させ、ユーザ指定のプリンタドライバの固有識別値を使用して該当するプリンタドライバを呼び出し、処理を開始させ、ステップＳ３１０で処理を終了する。
【００６０】
なお、ステップＳ３０９で呼出されるプリンタドライバは、ドライバ管理部２４０によって管理されているプリンタドライバであってもよいし、ドライバ管理部２４０とは別に画像処理サーバ１２０に登録されたプリンタドライバであってもよい。
【００６１】
ステップＳ３０２で、転送ファイルがメインフレームから送付されたものと判断された場合（ｙｅｓ）、ステップＳ３０３でエミュレーション制御部２２２を起動してメインフレームからの印刷データのエミュレーションを開始する。エミュレーションの開始は、文字処理部２２４およびフォームイメージ取得部２２６を呼出して並列処理を実行させる。
【００６２】
ステップＳ３０４では、文字データがロゴや外字を含むか否かの判断を行い、ロゴ、外字を含む場合、当該ロゴや外字をビットマップなどのイメージに変換する。ステップＳ３０５では、その他の文字データを、ページプリンタが解釈可能なコードにコンバートし、当該文字データをバッファリングする。一方、ステップＳ３０５では、フォームイメージのフォーム識別値を検査し、フォーム識別値で指定されるフォームイメージを取得してバッファリングする。ステップＳ３０６では、オーバーレイ処理部２２８を呼出し、文字データ、ビットマップ、およびフォームイメージをそれぞれバッファメモリから読込んで文字データ、ビットマップをフォームイメージにオーバーレイして統合し、ＥＭＦファイルを作製しドライバ管理部２４０が管理するバッファメモリに格納させる。
【００６３】
ステップＳ３０７でドライバ管理部２４０がページプリンタ指定変数の値を検査する。ステップＳ３０８では、検査の結果を参照し、ページプリンタ指定変数に設定された固有識別値に対応するプリンタドライバを関数呼出して処理を開始させ、ステップＳ３１０で処理を終了させる。
【００６４】
なお、ページプリンタ指定変数値に登録された固有識別値は、出力制御部２３０が設定する。ページプリンタ指定変数の値は、ページプリンタの残能力が新たな印刷データの処理に不充分であると判断された場合やページプリンタ自体の、用紙無し、トナー残量不足、その他の障害発生、メンテナンス中などの理由で、その時点で適切な処理能力を有するものとして推奨すべきページプリンタを固有に識別する固有識別値が設定される。
【００６５】
図３に示した処理を実装することでＥＭＦファイルを受領した処理担当のプリンタドライバは、ＥＭＦファイルをＲＡＷデータに変換し、さらにＰＤＬコマンドなどを追加することによりプリントデータを作製し、画像処理サーバ１２０の外部へとプリントデータを送出する。
【００６６】
また、図３に示した処理を採用することにより、メインフレーム１１０および端末コンピュータ１９０の両方からの印刷要求に対応して最適な印刷処理を実行することが可能となる。また、メインフレーム１１０からの印刷データに対してはその時点で印刷するべきデータ量、印刷要求の発行元に対応し、最適な処理能力を有するページプリンタを自動割当てして印刷出力を依頼することができるので、印刷効率を向上させることができ、好ましい実施形態である。
【００６７】
なお、上述した実施形態の他、ドライバ管理部２４０に対してプリンタドライバをデフォルト設定しておき、プリンタドライバ自身が印刷するべきＥＭＦファイルの受領に対応してデフォルト設定のプリンタドライバで処理するか、または他のプリンタドライバに処理をスイッチングするかを判断させる第２の実施形態も可能である。
【００６８】
当該ドライバ管理部２４０の他の実施形態では、画像処理サーバ１２０に実装する各プリンタドライバに対し、個別的にプリンタドライバとしての適切性を判断する処理コードをプリンタに対して追加することが必要となり、既存のプリンタドライバの適合性および修正するべきプログラミングコード数も増加する。しかしながら、メインフレーム１１０および端末コンピュータ１９０からの印刷要求を効率的に処理することは可能であり、特定の用途やユーザの要求に応じて、ドライバ管理部２４０の実装形式は適宜選択して採用することができる。
【００６９】
第２の実施形態は、プリンタリンカ１３０を介さずに画像処理サーバ１２０がＵＳＢ−ＨＵＢなどを使用して複数のページプリンタを直接管理する場合に好ましい実施形態ということができる。
【００７０】
図４は、出力制御部２３０が実行するページプリンタ指定変数の設定処理のフローチャートを示す。図４の処理は、出力制御部２３０がＭＩＢなどのデータを使用して実行することができる。図４の処理は、ステップＳ４００から開始し、ステップＳ４０１で、次回に印刷するべきデータのサイズ（ＲＡＷデータ換算）を計算する。ステップＳ４０２では、ページプリンタの能力状態を、ＭＩＢなどから回収したメモリ残容量、印刷出力状態（印刷中で小さく、印刷待機中で大きくなるように設定される異なる値Printを与える）、ページプリンタのＰＰＭなどの規格能力および次回に印刷するべきデータのサイズなどを使用して計算する。
【００７１】
計算に際しては、処理能力が最大のページプリンタのみに過度に印刷ジョブが転送されないように、例えば指標値としてＬｏａｄ＝（データのサイズ）／（メモリ残容量＋ＰＰＭ値＋Print）が適切な範囲の値を与え、かつ、印刷実行中ではないページプリンタを優先して選択するように設定することができる。この実施形態では印刷中または待機中を含めたページプリンタの処理能力を考慮してページプリンタを切り替えることができる。
【００７２】
また、他の実施形態では、印刷するべきデータのサイズと、当該データのサイズを担当するページプリンタとを、ページプリンタの処理能力ごとに割当てた割当てテーブルを作製し、当該割当てテーブルをルックアップして最適なページプリンタを推奨するべきページプリンタとして決定することができる。この実施形態では、ページプリンタのその時点での稼働状態は反映されないが、印刷するべきデータのサイズに最適なページプリンタを確実に指定することが可能となり、より適切な負荷分散を行うことができる。
【００７３】
ステップＳ４０３では、計算結果を参照し、デフォルト設定されたページプリンタよりその時点で印刷するべき印刷データについてさらに適切なページプリンタがあるか否かを判断する。
【００７４】
ステップＳ４０３の判断で、さらに適切なページプリンタがある場合（ｙｅｓ）、ステップＳ４０５で出力制御部２３０が管理するプリンタリストを参照し、より処理能力の高いページプリンタのページプリンタ識別値、ＩＰアドレス、割当てポート番号、ドライバファイル名、ドライバ関数名など、ページプリンタを固有に識別する値を取得する。その後、取得したページプリンタの固有識別値をページプリンタ指定変数に設定した後、ステップＳ４０６で処理を終了させる。
【００７５】
一方、デフォルト設定のページプリンタが充分な残り能力を有していると判断された場合（ｎｏ）、ステップＳ４０４で、デフォルト設定のページプリンタのプリンタ名、ＩＰアドレス、割当てポート番号、ドライバファイル名、ドライバ関数名などをページプリンタ指定変数に設定した後、ステップＳ４０６で処理を終了させる。
【００７６】
図５は、図４の処理で使用するプリンタリスト５００の実施形態を示す。プリンタリスト５００は、ページプリンタ識別値を登録するフィールド５１０、ページプリンタのＩＰアドレス（固定）を登録するフィールド５２０、画像処理サーバ１２０がプリンタドライバに割当てた割当てポートの値を登録するフィールド５３０、および当該ポートに割当てたプリンタドライバ名などの値を登録したフィールド５４０を含んだ構成とすることができる。
【００７７】
画像処理サーバ１２０は、ページプリンタを選択する場合、印刷するべきデータのサイズをページプリンタの処理能力と比較し、最適な範囲の指標値を有するページプリンタを、固有に識別するページプリンタ識別値、ＩＰアドレス、割当てポート番号などを参照し、オーバーレイデータを処理するためのプリンタドライバを指定するためのページプリンタ指定変数に設定する。ページプリンタ指定変数に設定されたプリンタドライバは、オーバーレイデータを受領してＰＤＬコマンドなどを追加して、さらにプリントプロセッサおよびスプーラを介してＥＭＦファイルをＲＡＷデータに変換してプリントデータを作製させる。
【００７８】
その後、さらに処理中のプリンタドライバは、プリンタリスト５００からページプリンタのプリンタ名またはＩＰアドレスを取得し、説明する実施形態では、例えばプリンタリンカのＩＰアドレスに宛てて、プリントデータおよびページプリンタのＩＰアドレスをペイロードに含むパケットまたはフレームを送付して、印刷処理を依頼する。プリンタリンカ１３０は、当該パケットを受領してプリントデータに対するオプション処理のためのＰＤＬなどを追加し、スプーラに送付した後、取得したページプリンタに宛ててプリントデータを送付し、印刷を実行させている。なお、図５に示したプリンタリスト５００で、割当てポートを登録するフィールド５３０は、オプションフィールドであり、割当てポートを処理上使用せずともよい場合、設ける必要はない。
【００７９】
図６は、本実施形態の画像処理システムが実行する処理のシーケンス図を示す。メインフレーム１１０は、ＦＴＰクライアントとして機能しており、印刷データを出力する場合に、ステップＳ６００でＦＴＰサーバ２２０に対してＴｅｌｎｅｔプロトコルを使用してユーザＩＤ、パスワードなどを送付し、認証を要求する。認証要求を受領すると、ＦＴＰサーバ２２０は、当該要求を処理するスレッドを生成し、ステップＳ６０１で受領した認証パケットのペイロードから取得したユーザＩＤ、パスワードを要求認証部６００に送付し、認証を要求する。なお、要求認証部６００は、画像処理サーバ１２０の機能モジュールとして実装することもできるし、他の認証サーバなどのモジュールとすることができる。
【００８０】
ステップＳ６０２では、ＦＴＰサーバ２２０は、要求認証部６００からの認証結果を受領する。以下、認証結果がｔｒｕｅの値を返したものとして説明する。認証結果を受領したＦＴＰサーバ２２０は、ステップＳ６０３で、メインフレーム１１０に対してデータ送付許可を発行する。メインフレーム１１０は、データ送付許可を受領すると、ステップＳ６０４で、印刷データをプリントキューから先入れ・先出し方式で読み出し、ＦＴＰサーバ２２０にファイル転送する。ステップＳ６０５では、印刷データの格納先を判断し、エミュレーション処理が必要か否かを判断する。説明する実施形態ではエミュレーション処理が必要と判断される。
【００８１】
この間、メインフレーム１１０は、ステップＳ６０６で転送パケットの送付を係属する。ＦＴＰサーバ２２０は、メインフレーム１１０からの転送ファイルのＥＯＦ、ファイル終了を示すデリミタなどを検出し、受領したデータの検査が終了すると、ステップＳ６０７でファイル転送完了をメインフレーム１１０に通知する。メインフレーム１１０のＦＴＰクライアント２１４は、ステップＳ６０７の通知を受領すると、処理を終了する。またメインフレーム１１０は、プリントキュー２１２に印刷データが残っている場合、ステップＳ６２４で再度認証要求を発行し、ステップＳ６２５でＦＴＰサーバ２２０による認証処理が繰返される。
【００８２】
一方、ＦＴＰサーバ２２０は、ステップＳ６０５で、エミュレーション処理が必要と判断し、ステップＳ６０８でエミュレーション制御部２２２を呼出して処理を開始させる。エミュレーション制御部２２２は、ファイル転送が完了すると、ステップＳ６０９で文字処理部２２６を呼出して印刷データが含む文字コードのコンバート処理およびビットマップ変換を実行する。同時に、エミュレーション制御部２２２は、フォームイメージ取得部２２４を呼出して印刷データが含むフォーム識別値を参照にハードディスク装置などからフォームイメージを取得してバッファリングする。
【００８３】
ステップＳ６１３では、文字データが外字、ロゴを含んでいるか否かを判断し、ビットマップへの変換メソッドを呼出し、処理を実行する。文字処理部２２６の処理が完了し、文字データおよびロゴなどを生成し終えると、ステップＳ６１４で文字処理部２２６は、エミュレーション制御部２２２に通知する。エミュレーション制御部２２２は、ステップＳ６１５でオーバーレイ処理部２２８を呼出して文字データ、ビットマップ、およびフォームイメージの合成処理を依頼する。
【００８４】
オーバーレイ制御部２２８は、エミュレーション制御部２２２から呼出されると、ステップＳ６１６で文字データ、ビットマップ、およびフォームイメージを印刷サイズに展開してオーバーレイ処理を実行し、オーバーレイデータを生成する。オーバーレイデータは、オーバーレイ処理部２２８により、さらにＥＭＦファイルに変換され、以下の処理を実行するために適切なバッファメモリに格納される。
【００８５】
オーバレイ処理部２２８は、ＥＭＦファイルの作製が終了すると、ステップＳ６１７で、エミュレーション制御部２２２にＥＭＦファイル作製終了を通知する。当該通知を受領したエミュレーション制御部２２２は、ステップＳ６１８でドライバ管理部２４０に対してページプリンタの能力状態を通知するように指令する。ドライバ管理部２４０は、ステップＳ６１９で、能力計算処理を実行し、ページプリンタ指定変数にページプリンタを固有に識別する値を設定する。さらにドライバ管理部２４０は、ステップＳ６２０でページプリンタ指定変数の更新が終了したことをエミュレーション制御部２２２に通知する。
【００８６】
エミュレーション通知部２２２は、ステップＳ６２１でオーバーレイ処理部２２８に対し、オーバーレイデータを送付するように指令する。その後、オーバーレイ処理部２２８は、ステップＳ６２２でドライバ管理部２４０に対してオーバーレイデータを送付することにより、プリントデータをＲＡＷデータとしての作製を依頼する。ドライバ管理部２４０は、プリントデータに対して各種印刷設定を行うためのＰＤＬコマンドなどを追加した後、ステップＳ６２３でプリントプロセッサおよびスプーラへとＰＤＬコマンドを追加したオーバーレイデータを送付して、ＲＡＷデータを作製させ、ポートモニタを介して画像処理サーバ１２０の外部へとプリントデータを送付する。
【００８７】
なお、出力制御部２３０が印刷データの受領と非同期で、ページプリンタ設定変数の値を更新している場合には、オーバーレイ処理部２２８からオーバーレイデータを受領した段階で、印刷処理を依頼するべきページプリンタ指定変数の値が確定されている。この実施形態を採用する場合、ステップＳ６１８〜ステップＳ６２０のシーケンスは省略することができ、直ちにステップＳ６２１のシーケンスに遷移させ、プリンタドライバの呼出を実行することができる。この様な実施形態は、出力制御部２３０が、印刷データの処理とは非同期にページプリンタ１４０〜１６０の能力状態をポーリングしＭＩＢなどを使用して情報を蓄積する実施形態で有効である。
【００８８】
図６の処理シーケンスは、メインフレーム１１０のプリントキュー２１２に印刷データが無くなるまで継続され、ページプリンタの処理負荷を分散させながら効率的な印刷資源の利用を可能とする。
【００８９】
また、ユーザ指令によりページプリンタを指定できる実施形態では、ユーザの環境に応じた出力先を指定することができ、メインフレーム１１０に出力データをより容易に利用可能とする。また、本実施形態では、上述したように、エミュレーション制御部２２２は、専用のページプリンタではなく複数のページプリンタへの接続を可能とするＡＰＩ(Application Program Interface)を提供できるので、メインフレーム１１０を含む画像処理システムに対して高い拡張性を提供することが可能となる。
【００９０】
図７は、本実施形態の画像処理システムにおけるデータフロー７００の実施形態を示した図である。メインフレーム１１０が実装する業務アプリケーション７１０が、リレーショナルデータベースまたはオブジェクト指向データベースなどのデータをＳＱＬ(Structured Query Language)文やオブジェクト操作言語(OML:Object
Manipulation Language)などを使用して抽出し、枠、罫線などを含むフォームデータとともに請求書、納品書、発注書などの帳票データとして印刷データを作製する。帳票データは、ラインデータとして作製され、メインフレーム１１０の出力モジュールなどに実装されるプリントキュー２１２に格納される。
【００９１】
プリントキュー２１２内の印刷データは、メインフレームが実装するＦＴＰクライアント２１４から画像処理サーバ１２０に対し、ＦＴＰまたはＦＴＰＳプロトコルを使用して転送される。図７には、転送された印刷データ７２０の概略的な構成を示す。メインフレーム１１０から送付される印刷データは、ＪＳＬおよびＦＳＬを使用して作製されている。ＪＳＬがジョブ制御のためにメインフレームが使用する制御言語であり、ＦＳＬがフォームを記述するための記述言語である。印刷データ７２０は、画像処理サーバ１２０によって受領されるとＦＩＦＯバッファなどのメモリ装置２５０に格納され、先入れ・先出し方式で、読込まれるのを待機する。
【００９２】
エミュレーション制御部２２２は、メモリ装置２５０に格納された印刷データを、文字処理部２２４およびフォームイメージ取得部２２６に渡し印刷データのコンバートおよびフォームデータの抽出などの処理を実行させ、ＦＳＬで記述されたフォームデータおよび文字データなどを別々に処理し、展開してデータ構造７３０を作製する。データ構造７３０の文字コードは、文字処理部２２４により、ページプリンタが処理可能なＳＪＩＳ、ＪＩＳ、ＡＳＣＩＩなどの汎用コードに変換されている。また、各文字データは、ＪＳＬで記述されたページフォーマットでページング処理されている。
【００９３】
一方、フォームイメージ取得部２２６は、印刷データ７２０からＤＪＤＥとして抽出されたデータのうちのＦＯＲＭ＝ＡＡＡの値「ＡＡＡ」を取得し、値「ＡＡＡ」で指定されるフォームイメージ７５０を読出す。オーバーレイ処理部２２８は、データ構造７３０に対してページ単位でフォームイメージ７５０をオーバーレイ処理し、オーバーレイデータ７４０を作製する。
【００９４】
作製されたオーバーレイデータは、オーバーレイ処理部２２８においてＥＭＦファイルに変換され、ドライバ管理部２４０に渡される。ドライバ管理部２４０は、適切なプリンタドライバを起動して、ＥＭＦファイルを渡してＰＤＬなどのプリンタ制御言語などを追加し、さらに非Ｗｉｎｄｏｗｓ（登録商標）プリンタ以外が使用するＲＡＷフォーマットのプリントデータとした後にページプリンタ１４０に印刷処理させるためにプリントデータを送付する。プリントデータの送付先は、本実施形態では、プリンタリンカ１３０とされるが、他の実施形態では、直接ページプリンタ１４０〜１６０に送付することもできる。プリンタリンカ１３０の機能を利用するか否かについては、画像形成システム１００のユーザの要求や特定の用途などを考慮して適宜設定することができる。
【００９５】
例えば、ページプリンタ１４０に直接プリントデータを送付する場合、ＴＣＰ／ＩＰパケットのペイロードにプリントデータを記述し、ペイロードではなく、宛先アドレスにページプリンタ１４０のＩＰアドレスを記述し、イーサネット（登録商標）などを通してＬＡＮなどのネットワーク１８０に送出し、ページプリンタ１４０にプリントデータを送付する。なお、プリントデータの転送プロトコルとしては、ＮｅｔＢＩＯＳ  ｏｖｅｒ  ＴＣＰ／ＩＰを使用し、プリンタ名などを使用してプリントデータの転送を実行することもできる。
【００９６】
さらに、本実施形態で、画像形成サーバを、プリンタリンカ１３０またはページプリンタ１４０〜１６０に対するＦＴＰクライアントとし、プリンタリンカ１３０またはページプリンタ１４０〜１６０をＦＴＰサーバとしてカスケード式に機能させることもできる。この実施形態の場合、画像形成サーバ１２０からページプリンタ１４０〜１６０までの間をＦＴＰＳプロトコルでファイル転送を実行することにより、メインフレーム１１０からページプリンタ１４０〜１６０までの間を暗号化ベースのセキュアなファイル転送で構成することができ、より高い信頼性を提供することが可能となる。これに加えて、ページプリンタ側でのアクセス制御を組み合わせて画像形成システム１００を構成することにより、さらに信頼性を向上させることができ、メインフレーム１１０の印刷出力の効率化および高信頼性を達成することができる。
【００９７】
図８は、本実施形態で作製された帳票印刷物８００の実施形態を示す。図８に示した帳票印刷物は、フォームイメージ８１０に対して文字データが適切な位置にオーバーレイされて生成されたプリントデータを、ページプリンタが出力して生成されている。図８に示した帳票印刷物８００は、フォームイメージ８１０内には、罫線により規定されたフィールド８２０が形成され、各フィールド内に、項目属性８３０および数値データなどが記入されて作製されている。
【００９８】
本実施形態では、メインフレーム１１０からの出力を、より汎用性の高いネットワークを介してページプリンタといった画像形成装置に出力させることが可能となり、メインフレーム１１０を含む画像形成システム１００の物理的構成に対してより柔軟性を提供することが可能となる。また、本実施形態では、メインフレーム１１０に対して複数の画像形成装置をユーザによる指定や画像形成装置の残能力を考慮して出力先を最適化することが可能となり、より効率的な帳票印刷が可能となる。
【００９９】
なお、さらに他の実施形態では、ページプリンタなどの画像形成装置が柔軟に選択されることに対応し、画像形成装置は、ユーザＩＤ／パスワード認証、ＩＣカードによる認証、指紋または掌紋によるアクセス認証などにより正当なユーザであることが認証されるまで、印刷物として出力させず、プリントデータをハードディスク装置などの記憶装置に格納しておくことができる。
【０１００】
当該他の実施形態によれば、専用のプリンタルームに設置された画像形成装置以外にも、例えば通常のオフィスフロアに設置された画像形成装置についてもその残能力を考慮して出力先と指定することができ、メインフレーム１１０の出力に対するアクセス性を改善することができる。なお、本発明につき、説明を具体的に行う目的で上位コンピュータをメインフレームコンピュータとして説明した。本発明は、ライン出力データを送付することができる上位コンピュータであれば、適宜データフォーマットを最適化することにより、いかなる上位コンピュータにでも適用することができる。
【０１０１】
本実施形態の上記機能は、アセンブラ、Ｃ、Ｃ＋＋、Ｊａｖａ（登録商標）、などのレガシープログラミング言語やオブジェクト指向プログラミング言語などで記述された装置実行可能なプログラムにより実現でき、当該プログラムは、ハードディスク装置、ＣＤ−ＲＯＭ、ＭＯ、フレキシブルディスク、ＥＥＰＲＯＭ、ＥＰＲＯＭなどの装置可読な記録媒体に格納して頒布することができ、また他装置が可能な形式でネットワークを介して伝送することができる。
【０１０２】
これまで本実施形態につき説明してきたが、本発明は、上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【図面の簡単な説明】
【０１０３】
【図１】本実施携帯の画像処理システム１００のハードウェアブロック１００を示した図。
【図２】図１に示した画像処理システム１００のソフトウェアブロック図２００を示した図。
【図３】本実施形態の画像処理サーバ１２０が実行する画像処理方法の実施形態を示す。
【図４】図３のステップＳ３１０の処理のフローチャート。
【図５】図４の処理で使用するプリンタリスト５００の実施形態を示した図。
【図６】本実施形態の画像処理システムが実行する処理のシーケンス図。
【図７】本実施形態の画像処理システムにおけるデータフロー７００の実施形態を示した図。
【図８】本実施形態で作製された帳票印刷物８００の実施形態を示した図。
【符号の説明】
【０１０４】
１００…画像処理システム、１１０…メインフレーム、１２０…画像処理サーバ、１３０…プリンタリンカ、１４０〜１６０…ページプリンタ、１７０ａ〜１７０ｃ…印刷物、１８０…ネットワーク、１９０…端末コンピュータ、２１０…業務アプリケーション、２１２…プリントキュー、２１４…ＦＴＰクライアント、２２０…ＦＴＰサーバ、２２２…エミュレーション制御部、２２４…文字処理部、２２６…フォームイメージ取得部、２２８…オーバーレイ処理部、２３０…出力制御部、２４０…ドライバ管理部、２５０…メモリ装置、２６０…フォームイメージ格納部
【図１】
2010072778.tif 000003
【図２】
2010072778.tif 000004
【図３】
2010072778.tif 000005
【図４】
2010072778.tif 000006
【図５】
2010072778.tif 000007
【図６】
2010072778.tif 000008
【図７】
2010072778.tif 000009
【図８】
2010072778.tif 000010