ストリーム形式のデータを入力する入力手段と、前記入力手段により入力されたストリーム形式のデータに基づきファイルを生成する生成手段と、前記生成手段により生成されたファイルを参照する参照情報を含むデータを出力する出力手段と、を有するデータ処理装置。前記データ処理装置は、複数のフィルタを有し、前記フィルタの1つが前記入力手段、前記生成手段、及び前記出力手段を有する請求項1記載のデータ処理装置。前記生成手段は、前記入力手段により入力されたストリーム形式のデータに基づき複数のファイルを生成する請求項1記載のデータ処理装置。前記複数のファイルは、イメージファイルとイメージファイルから抽出されたテキストファイルとを含む請求項3記載のデータ処理装置。前記複数のファイルは、添付つきファイルから生成される請求項3記載のデータ処理装置。データ処理装置が実行するデータ処理方法であって、ストリーム形式のデータを入力する入力ステップと、前記入力ステップにより入力されたストリーム形式のデータに基づきファイルを生成する生成ステップと、前記生成ステップにより生成されたファイルを参照する参照情報を含むデータを出力する出力ステップと、を含むデータ処理方法。前記データ処理装置は、複数のフィルタを有し、前記フィルタの1つが前記入力ステップ、前記生成ステップ、及び前記出力ステップを実行する請求項6記載のデータ処理方法。前記生成ステップでは、前記入力ステップにより入力されたストリーム形式のデータに基づき複数のファイルを生成する請求項6記載のデータ処理方法。前記複数のファイルは、イメージファイルとイメージファイルから抽出されたテキストファイルとを含む請求項8記載のデータ処理方法。前記複数のファイルは、添付つきファイルから生成される請求項8記載のデータ処理方法。コンピュータに、ストリーム形式のデータを入力する入力ステップと、前記入力ステップにより入力されたストリーム形式のデータに基づきファイルを生成する生成ステップと、前記生成ステップにより生成されたファイルを参照する参照情報を含むデータを出力する出力ステップと、を実行させるためのプログラム。しかしながら、Stream入出力だけで処理すると1つの入力に対して複数の出力があった場合のデータの渡し方やFilter内部でファイルを実体化しているのに再びStreamに戻す等の効率がよくない問題がある。本発明はこのような問題点に鑑みなされたもので、データを処理するモジュールのデータの入出力を汎用的、かつ、効率よくすることを目的とする。そこで、本発明は、ストリーム形式のデータを入力する入力手段と、前記入力手段により入力されたストリーム形式のデータに基づきファイルを生成する生成手段と、前記生成手段により生成されたファイルを参照する参照情報を含むデータを出力する出力手段と、を有する。本発明によれば、データを処理する複数のモジュール間のデータの入出力を汎用的、かつ、効率よくすることができる。以下、本発明の実施形態について図面に基づいて説明する。<実施形態1>図1は、情報処理システムの構成の一例を示す図である。中央処理装置1は、プログラム及び関連データが記憶されているFD、CD-ROM、ICメモリカード等の記憶媒体をシステムに接続された媒体読取装置6から読み込む。その後、中央処理装置1は、補助記憶装置3から主記憶装置2にロードされたシステムプログラム、アプリケーションプログラムによって、入力装置4から入力される情報を処理して、出力装置5や印刷装置7に出力する。なお、本実施形態では、出力装置5はディスプレイ等の表示装置とし、出力装置に含まれる印刷装置7と区別する。また、入力装置4は、キーボード、ポインティングデバイス等で構成されているものとする。更に補助記憶装置3は、ハードディスク、光磁気ディスクで構成されるものであってもよいし、これらの組み合わせで構成されるものであってもよい。また、それぞれの装置がネットワークを介して接続されていてもよい。なお、本実施形態では、図1に示される印刷装置7以外の1~8のハードウェアで情報処理装置が構成されているものとして以下、説明を行う。図2は、情報処理システムにおけるデータ処理の概要を説明するための図である。補助記憶装置3等に格納されていたプログラムと関連するデータとが中央処理装置1に読み込まれ、入力装置4から印刷命令が入力されて、印刷装置7へデータが送られ、印刷が実行される。なお、アプリケーションアプリケーションソフトは、中央処理装置1で実行されるOSの制御下で機能する。図3は、情報処理装置の機能構成の一例を示す図である。OS9は、情報処理装置全体を制御しているOSを示し、印刷装置7とはセントロニクス、USBやローカルエリアネットワークインタフェースにより接続されている。アプリケーションソフト10は、OS9上にて動作し、印刷装置7を制御する。ユーザインタフェース部11は、ユーザが印刷装置に対しての設定等、各種印刷設定等を入力したり、印刷開始を指示したりするためのインタフェースである。印刷データ制御部12は、ユーザインタフェース部11から指定される入力データを受け、印刷装置7で処理できるデータを作成する。Filter制御部13は、様々なFilterの順番や入出力等を制御する。ファイルフォーマット変換Filter14は、Filterの一例で、例えばOffice登録商標文書からPDF等に変換する。レイアウト処理Filter15もFilterの一例で、N-up、製本やポスター印刷等のレイアウト処理を行う。印刷データ生成Filter16もFilterの一例で、PDF等の入力ファイルを印刷可能なPDL等に変換する。データ送受信部17は、OSの機能の一部であり、セントロニクス、USBやローカルエリアネットワーク接続により印刷装置7とのデータ送受信を行う。印刷装置7は、接続された情報処理装置からの指示に応じた印刷処理等を行う。上述したような複数のFilterは、複数のモジュールの一例である。図4は、Filterの機能構成の一例を示す図である。入力処理部4-1は、前段のFilterの出力を入力データとしてStreamストリームで受け取る。入力データとしてはファイルそのものか、ファイルを実体化した場所へのリンク情報が記述されたリストファイルである。つまり、入力処理部4-1は、ストリーム形式のデータを入力する。Filter処理部4-2は、各々のFilterの処理を行う。Filterの処理としては、例えばファイルフォーマット変換であったり、レイアウト処理であったり、印刷データ生成であったりする。出力方法判断部4-3は、リストファイルで出力するか、ファイル本体で出力するか、出力方法を判断する。リストファイル生成部4-4は、出力方法判断部4-3においてリストファイルで出力すると判断された場合、ファイルへのリンク情報を記述したリストファイルを作成する。リンク情報は、参照情報の一例である。出力処理部4-5は、出力方法判断部4-3における判断結果に応じて、Filter処理部4-2での結果を反映した出力データを出力する。図5は、データ処理の一例を示すフローチャートである。入力処理部4-1は、Filter制御部13からデータを受け取るステップ11-1。Filter処理部4-2は、ファイルフォーマット変換、レイアウト変換等のFilterごとの処理を行うステップ11-2。出力方法判断部4-3は、リストファイルで出力するか、ファイル本体で出力するかを判断するステップ11-3。判断の結果、リストファイルで出力するとなれば、リストファイル生成部4-4は、リストファイルを作成するステップ11-4。出力処理部4-5は、作成されたリストファイルをStreamで出力するステップ11-5。一方、出力方法判断部4-3においてファイル本体で出力すると判断されると、出力処理部4-5は、ファイル本体をStreamで出力するステップ11-6。図6は、Filter間のデータの受け渡しを示した図である。Filter制御部13は、Filterの順序やデータの受け渡しを制御する。Filter制御部13は、Filterの順序や扱えるデータを示したConfigファイルを読み込み、前段Filterの出力が後段Filterの入力となるようにFilterの順序を制御する。図7は、Configファイルの一例を示す図である。Configファイルは、XML等で記述される。<Filters>要素の中に個々の<Filter>要素がつながれる順番に記述される。それぞれの<Filter>要素は入出力を記述した<Input>要素、<output>要素を持つ。図7のConfigファイルは、ファイルフォーマット変換Filter、レイアウトFilter、印刷データ処理Filterがこの順番で連結されていることを示している。また、ファイルフォーマット変換Filterの入力はOfficeData、出力はPDF、レイアウトFilterの入力はPDF、出力もPDFで、印刷データ処理Filterの入力はPDF、出力はPDLであることが記述されている。一連のデータの流れを説明する。図3のユーザインタフェース部11からの指定により印刷データ制御部12にOfficeDataが入力される。OfficeDataは、Filter制御部13に渡される。Filter制御部13は、入力OfficeDataをひとつめのFilterであるファイルフォーマット変換Filter14にStreamで渡す。ファイルフォーマット変換Filter14は、OfficeDataからPDFに変換してファイルをStreamでFilter制御部13に渡す。Filter制御部13は、前段のFilterの出力を後段のFilterの入力としてつなぐ。よって後段のレイアウト処理Filter15ではPDFファイルが入力としてStreamで渡される。同様にレイアウト処理Filter15は、レイアウト処理後にPDFファイルを出力としてStreamでFilter制御部13に渡す。Filter制御部13は、後段の印刷データ生成Filter16の入力ファイルとしてこのPDFファイルをStreamで渡す。印刷データ生成Filter16は、PDFファイルからPDLファイルを生成し、StreamでFilter制御部13に渡す。Filter制御部13は、このPDLファイルをFilter群の出力として印刷データ制御部12に渡す。印刷データ制御部12は、データ送受信部17によりPDLファイルを印刷装置7に送信する。図8は、リストファイルでのFilter間のデータの受け渡しの一例を示した図である。例えばファイルフォーマット変換Filter14でOfficeDataからPDFファイルに変換する際にハードディスクにPDFファイルを実体化して格納したとすると、これを再度Streamに流すのは効率がよくない。格納したPDFファイルへのリンク情報を記載したリストファイルのみを後段のFilterにStreamで渡すことで、効率よくデータの受け渡しをすることができる。図9Aは、リストファイルの一例を示す図である。リストファイルは、XML等で記述される。<Job>要素、<Doc>要素、<Page>要素、<File>要素があり、<File>要素に実ファイルへのリンク情報が記述される。またレイアウト処理Filterでは1つのPDFファイルから複数のPDFファイルを生成する事があるとすると、この場合も図9Bの様なリストファイルを使用することで複数ファイルを効率よく処理できる。図9Bは、複数ファイル出力時のリストファイルの一例を示す図である。例えば、<Page>要素内に<File>要素を複数記述することで複数ファイルあることを表すことができる。以下、図10のフローチャートを参照にしながら出力方法をファイル本体かリストファイルかを判断する方法について説明する。図10は、出力方法を判断する一例を説明するためのフローチャートである。入力処理部4-1は、Filter制御部13からデータを受け取るステップ8-1。Filter処理部4-2は、ファイルフォーマット変換、レイアウト変換等のFilterごとの処理を行うステップ8-2。処理の結果、データを実体化したならばステップ8-3、リストファイル生成部4-4は、リストファイルを作成してステップ8-4、出力処理部4-5は、リストファイルでデータをFilter制御部13にStreamで渡すステップ8-5。データを実体化しない場合も、データサイズが閾値を超えた場合やステップ8-6、データが分割された場合ステップ8-7、リストファイル生成部4-4は、リストファイルを作成するステップ8-4。そして、出力処理部4-5は、StreamでリストファイルをFilter制御部13に渡すステップ8-5。それ以外の場合、出力処理部4-5は、ファイル本体をStreamでFilter制御部13にデータを渡すステップ8-8。なお、図10では、S8-3、S8-6、S8-7全てを判断する例を示したが、何れか1つのステップだけを判断し、リストファイルでデータを渡すか、ファイル本体でデータを渡すかを判断してもよい。また、S8-3、S8-6、S8-7のうち、任意のステップを組み合わせて前記判断をしてもよい。またリストファイルでデータを渡すか、ファイル本体でデータを渡すかは出力方法判断部4-3での内部の判断ではなく、Configファイル等で外部から指定してもよい。図11はConfigファイルでFilter間のデータ形式をファイルかリストファイルかを指定する一例を示す図である。ファイルフォーマット変換Filterへの入力は<InputStream>File</InputStream>によりファイルとなる。出力は<OutputStream>List</OutputStream>によりリストファイルとなる。後段のレイアウトフィルターへの入力はリストファイルとなり、出力は<OutputStream>File</OutputStream>によりファイルとなる。最終段の印刷データFilterは、入力はファイルとなり、出力は<OutputStream>List</OutputStream>によりリストファイルとなる。このようにConfigファイルに指定することで、最終的に生成されるPDLが例え1つのファイルでもリストファイル形式で出力することが可能となる。図12は、リストファイルの効果を示すための図である。図12では、前段Filterと後段Filterとの2つのFilterの合計処理時間を比較している。前段Filterで実体化なしでファイル本体をStreamで処理した場合を基準とする。前段Filter、後段Filter共、入力処理、Filter処理、出力処理から成る。前段Filterで実体化ありでファイル本体をStreamで処理した場合前段Filter出力処理にて一旦ハードディスク等に実体化されたファイル本体を読み込んでからそれをStreamに流すので、基準に比べて余分に時間が掛かっている。後段Filterの処理時間は基準と同じであり、全体としては前段の出力処理時間の分だけ時間が掛かっている。前段Filterで実体化ありでリストファイルをStreamで処理した場合は前段Filter処理時間でリストファイルを作成するので基準に比べて少々時間が掛かっている。しかしハードディスク等から再度読み込む必要はないので前段Filterで実体化ありでStreamで処理した場合に比べると処理時間は少ない。後段Filterの入力処理はリストファイルを読み込むだけで既に実体化されたファイルを使用することができ、基準に比べて時間が掛からない。全体としては前段Filterの出力部分の増加分よりも後段Filterの入力処理の短縮分が大きいため、基準よりも処理時間が短くなる。以上、本実施形態によれば、複数の出力ファイルも処理できる。また効率的に処理できるため処理時間が短くなる。本実施形態の処理は、プリンタドライバではなく、プリンタ内で行なっても同様に成立する。つまり、図3のコントローラ部19でも同様の処理が可能となる。また、ウェブサーバやクラウドコンピューティングでも同様の処理が可能となる。<実施形態2>図13は、OCR処理の一例を示す図である。OCR処理Filterへの入力は、Imageファイルイメージファイルとなる。OCR処理FilterではOCR処理によりTextテキストファイルや特定Imageを抽出する。またOCR処理Filterでは入力Image全体をPDFファイルに変換する処理等を行う。複数ファイルが生成されるのでOCR処理Filterの出力としては各ファイルへのリンク情報を記載したリストファイルとなる。OCR処理Filterが最終段のFilterの場合はリストファイルが最終出力となる。<実施形態3>図14は、添付つきPDFPDFポートフォリオの一例を示す図である。PDFにはPDFポートフォリオというOfficeやイメージ等の添付する形式が存在する。PDFポートフォリオの処理方法を説明する。PDFポートフォリオを処理するにはプリフライト処理Filterを用いる。プリフライト処理Filterとは後段のFilterが問題なく処理できるかの事前チェックを行うFilterである。PDFポートフォリオが入力された場合、プリフライト処理Filterは、添付ファイル形式を確認する。プリフライト処理Filterは、添付ファイル形式がPDF以外の場合、Office文書変換モジュール等を使用して添付ファイルをPDFに変換する。印刷データ処理FilterではPDFポートファイルが入力されても添付ファイルは全てPDFなので、通常のPDF同様な処理が可能となる。添付されたPDF毎にPDLを作成することも、PDFをまとめてひとつのPDLを作成することもできる。<その他の実施形態>また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェアプログラムを、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ又はCPUやMPU等がプログラムを読み出して実行する処理である。以上、上述した各実施形態によれば、データを処理する複数のモジュール間のデータの入出力を汎用的、かつ、効率よくすることができる。以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形変更が可能である。