(57)【要約】【課題】  より柔軟に異なるアプリケーションの出力を一つのドキュメントの中に混在させ編集可能とする技術を提供する。【解決手段】  第１のアプリケーションの印刷データを生成するプリンタドライバと第２のアプリケーションとのインタフェースを提供する情報処理方法において、ユーザからの指示に基づいてプリンタドライバから出力される印刷データをバッファメモリに蓄積する蓄積工程と、蓄積された印刷データに基づく画像をディスプレイに表示する表示工程と、ユーザからの選択指示に基づいて第２のアプリケーションに提供されることになる印刷データに対応する画像を選択指示する選択指示工程と、選択指示された画像に対応する印刷データを特定する情報を第２のアプリケーションに提供する提供工程とを備える。【選択図】図１
2007226670.tif 000002
【特許請求の範囲】
【請求項１】
第１のアプリケーションにより生成される印刷ジョブに基づいて印刷データを生成するプリンタドライバと、該印刷データに基づいて印刷ジョブを生成する第２のアプリケーションとのインタフェースを提供する情報処理方法であって、
ユーザからマンマシンインタラクティブに入力される指示に基づいて、前記プリンタドライバから出力される印刷データをバッファメモリに蓄積する蓄積工程と、
前記バッファメモリに蓄積された印刷データに基づく画像をディスプレイに表示する表示工程と、
前記ディスプレイに表示された画像に対しユーザからマンマシンインタラクティブに入力される選択指示に基づいて、前記第２のアプリケーションに提供されることになる印刷データに対応する画像を選択指示する選択指示工程と、
前記選択指示工程により選択指示された画像に対応する印刷データを特定する情報を前記第２のアプリケーションに提供する提供工程と、
を備えることを特徴とする情報処理方法。
【請求項２】
前記プリンタドライバは前記印刷データをページ単位で生成することを特徴とする請求項１に記載の情報処理方法。
【請求項３】
前記提供工程は、前記印刷データを特定する情報をプロセス間通信を用い前記第２のアプリケーションに提供することを特徴とする請求項１または請求項２に記載の情報処理方法。
【請求項４】
前記提供工程は、前記印刷データを特定する情報をファイルインタフェースを用い前記第２のアプリケーションに提供することを特徴とする請求項１または請求項２に記載の情報処理方法。
【請求項５】
前記表示工程は、前記バッファメモリに蓄積された複数の印刷データに基づき、複数個の画像をディスプレイに一覧表示することを特徴とする請求項１乃至請求項４の何れか１項に記載の情報処理方法。
【請求項６】
前記第２のアプリケーションはレイアウト編集アプリケーションであることを特徴とする請求項１乃至請求項５の何れか１項に記載の情報処理方法。
【請求項７】
前記印刷データはオペレーティングシステムの備える描画命令により記述されることを特徴とする請求項１乃至請求項６の何れか１項に記載の情報処理方法。
【請求項８】
前記表示工程は、前記バッファメモリに新たに印刷データが蓄積された場合、該印刷データに基づく画像を前記ディスプレイの最前面に表示する制御を行うことを特徴とする請求項１乃至請求項７の何れか１項に記載の情報処理方法。
【請求項９】
前記提供工程は、前記第２のアプリケーションに提供する印刷データを該第２のアプリケーションが処理可能な形式に変換し提供することを特徴とする請求項１乃至請求項８の何れか１項に記載の情報処理方法。
【請求項１０】
請求項１乃至９の何れか１項に記載の情報処理方法の各工程を実行するためのプログラムコードを備えることを特徴とするプログラム。
【請求項１１】
請求項１乃至９の何れか１項に記載の情報処理方法の各工程を実行するための手段を備えることを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションソフトウェアにより生成される印刷データをより柔軟に取り扱い可能とするためのデータ提供技術に関するものである。
【背景技術】
【０００２】
パーソナルコンピュータ（ＰＣ）およびオペレーティングシステム（ＯＳ）により構成される情報処理装置においては、多種多様なアプリケーションソフトウェアが動作可能である。操作者は目的とするドキュメント（文書・画像など）に対応するアプリケーションソフトウェアを選択し、ドキュメントを作成・編集したのち、必要に応じて印刷を行う。
【０００３】
このとき、アプリケーションソフトウェアに対応するドキュメントは一般にアプリケーション毎に固有の形式を有する。そこで、異なるアプリケーションの出力を一つのドキュメントの中に混在させ編集する技術として特許文献１が開示されている。
【０００４】
特許文献１に開示されている技術によれば、アプリケーションから印刷出力したデータを仮想プリンタドライバを経由することにより、メタファイル形式のスプールファイルとして保持する。そして、当該スプールファイルへのインデックスを含む仮想ドキュメントを作成する技術が開示されている。このような技術を用いることにより、操作者は、異なる複数のアプリケーションにより生成された複数のドキュメントを単一のドキュメントに統合し、印刷することができる。
【特許文献１】特許第３４５６４１１号
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に開示されている技術において、操作者は、仮想プリンタドライバを経由して生成されたメタファイルがいつ編集・再利用可能になるかを知ることができないという問題点がある。
【０００６】
また、仮想プリンタドライバにより生成されたメタファイルにアクセス可能であるのは特許文献１に記載されたツールのみである。つまり、メタファイルのレイアウト編集機能などはこのツール内での利用に限定されることになる。すなわち、市場に豊富に存在する他のレイアウトアプリケーションなどを用いメタファイルのレイアウト編集などを行うことは出来ないという問題点がある。
【０００７】
本発明は、上記問題点に鑑みなされたものであり、その目的は、より柔軟に異なるアプリケーションの出力を一つのドキュメントの中に混在させ編集可能とする技術を提供することにある。
【課題を解決するための手段】
【０００８】
上記問題点を解決するために、第１のアプリケーションにより生成される印刷ジョブに基づいて印刷データを生成するプリンタドライバと印刷データに基づいて印刷ジョブを生成する第２のアプリケーションとのインタフェースを提供する情報処理方法において、ユーザからマンマシンインタラクティブに入力される指示に基づいてプリンタドライバから出力される印刷データをバッファメモリに蓄積する蓄積工程と、バッファメモリに蓄積された印刷データに基づく画像をディスプレイに表示する表示工程と、ディスプレイに表示された画像に対しユーザからマンマシンインタラクティブに入力される選択指示に基づいて第２のアプリケーションに提供されることになる印刷データ対応する画像を選択指示する選択指示工程と、選択指示工程により選択指示された画像に対応する印刷データを特定する情報を第２のアプリケーションに提供する提供工程と、を備える。
【発明の効果】
【０００９】
本発明によれば、より柔軟に異なるアプリケーションの出力を一つのドキュメントの中に混在させ編集可能とする技術を提供することができる。
【発明を実施するための最良の形態】
【００１０】
以下に、図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。ただし、この実施の形態に記載されている構成要素はあくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。
【００１１】
（第１実施形態）
本発明に係る情報処理装置の第１実施形態として、パーソナルコンピュータ（ＰＣ）およびＰＣ上で動作する各種プログラムにより構成される情報処理装置を例に挙げて以下に説明する。
【００１２】
＜装置構成＞
図１は、第１実施形態に係る情報処理装置の機能ブロック図である。前述したように情報処理装置はＰＣ１００およびＰＣ１００上で動作する各種プログラムにより構成されている。なお、プログラムは後述するＣＰＵ２０１により実行されその機能を実現している。なお、図１においては説明を簡単にするために、後述の説明で必要となる機能ブロックのみを図示している。
【００１３】
図２は、第１実施形態に係る情報処理装置の内部構成図である。
【００１４】
２０１はＣＰＵであり、外部記憶装置２０８やＲＯＭ２０３に記憶されているプログラムを実行することにより、後述する画像データの処理を行う。
【００１５】
２０２はＲＡＭであり、外部記憶装置２０８やＲＯＭ２０３から読み出したプログラムやデータを一時的に記憶する。また、ＲＡＭ２０２は、ＣＰＵ２０１が各種のプログラムを実行するための領域としても利用される。
【００１６】
２０３はＲＯＭであり、各種の制御プログラムやデータなどを記憶する。
【００１７】
２０４は表示制御部であり、画像や文字等を表示部２０５に表示するための制御処理を行う。２０５は表示部であり、操作者に対し図形や文字などにより各種情報を表示する部分である。なお、表示部２０５としてはＣＲＴや液晶表示画面などが用いられる。
【００１８】
２０６は操作入力部であり、ＰＣ１００に対する操作者からの指示を受け付ける。具体的にはキーボードやマウスなどが挙げられる。
【００１９】
２０７はインタフェース（Ｉ／Ｆ）であり、一般的なパラレルまたはシリアルのインタフェース、または、イーサネット（登録商標）のようなネットワークインタフェースなどが用いられる。このＩ／Ｆ２０７を介して、ＰＣ１００とプリンタ装置１５０は接続されている。
【００２０】
２０８はハードディスクドライブ（ＨＤＤ）など大容量の情報記憶が可能な外部記憶装置であり、オペレーティングシステム（ＯＳ）や各種プログラムを記憶する。なお、プログラムには前述のアプリケーションプログラム１０１、ページ選択プログラム１０２、レイアウト編集アプリケーションプログラム１０４やプリンタドライバ１１０も含まれる。
【００２１】
ＰＣ１００上では主に、アプリケーションプログラム１０１、プリンタドライバ１１０、ページ選択プログラム１０２およびレイアウト編集アプリケーションプログラム１０４が動作している。
【００２２】
アプリケーションプログラム１０１は、ワードプロセッサ、表計算、プレゼンテーションなどの各種プログラムである。また、レイアウト編集アプリケーションプログラム１０４は、ラスタ形式の画像（ＧＩＦ、ＪＰＥＧなど）やベクタ形式の画像など各種の画像を配置し出力可能なアプリケーションである。なお、本来、レイアウト編集アプリケーションプログラム１０４もアプリケーションプログラム１０１の範疇に入るものである。しかし、ここでは説明を簡単にするためにアプリケーションプログラム１０１およびレイアウト編集アプリケーションプログラム１０４を区別して表記している。
【００２３】
プリンタドライバ１１０は、アプリケーションプログラム１０１やレイアウト編集アプリケーションプログラム１０４により生成された印刷ジョブに基づいて、プリンタ装置１５０が解釈可能なデータを生成するためのプログラムである。なお、プリンタドライバ１１０は、不図示のオペレーティングシステム（ＯＳ）の機能の一部として各種プログラムから共通的に利用可能なよう構成されている。さらに、プリンタドライバ１１０は、操作者により印刷設定ができる画面を持ち、その中で、プリンタ装置１５０によりプリントするかレイアウト編集プログラム１０４でレイアウトを編集するかを操作者が選択可能となっている。
【００２４】
また、プリンタドライバ１１０は、プリントプロセッサ１１１、スプールフォルダ１１２、およびラスタライザ１１３から構成されている。プリントプロセッサ１１１は、アプリケーションプログラム１０１から受け付けた印刷ジョブに基づいて中間印刷ファイルを生成しスプールフォルダ１１２に送信する。ここで、中間印刷ファイルとはプリンタ１５０の種別に依存しない汎用データであり、オペレーティングシステム固有の描画命令により記述されているものを言う。
【００２５】
スプールフォルダ１１２は、プリントプロセッサ１１１から受信した中間印刷ファイルを一時記憶する領域である。つまり、スプールフォルダ１１２は、プリントプロセッサ１１１とラスタライザ１１３との間のバッファ領域として機能している。
【００２６】
ラスタライザ１１３は、スプールフォルダ１１２に一時記憶された中間印刷ファイルを逐次読み込み、プリンタ装置１５０が解釈可能なデータを生成し、プリンタ装置１５０に送信する。なお、プリントプロセッサ１１１は、スプールフォルダ１１２の他、後述するホットフォルダ１０３にも中間印刷ファイルを送信可能なよう構成されている。
【００２７】
なお、ここでは中間印刷ファイルからプリンタ装置１５０が解釈可能なデータへ変換する部分をラスタライザ１１３と表現しているが、ラスタライズ（ビットマップ化）に限らない。例えば、プリンタ装置１５０がベクタ形式のデータを解釈可能な場合はベクタデータも生成され得る。
【００２８】
ホットフォルダ１０３はデータ蓄積領域であり、ＰＣ１００上で動作する各種プログラムにより参照可能なよう構成されている。なお、ホットフォルダ１０３はプリンタドライバ１１０やページ選択プログラムなどにより後述する外部記憶装置２０８内に確保される。なお、プリンタドライバ１１０はホットフォルダ１０３に中間印刷ファイルを出力する際には、各種プログラムにより参照可能な”管理ファイル”および”メタファイル”として生成出力する。
【００２９】
図３は、ホットフォルダに蓄積されるデータを説明する図である。また、図４は、管理ファイルに記述されるデータを説明する図である。
【００３０】
図に示されるように、メタファイル３１１は中間印刷ファイルをページ単位に分割生成しファイル化したものである。また、管理ファイル３０１は、入力された中間印刷ファイルに含まれていたページに対応するメタファイル３１１のファイル名を記述したテキストファイルである。さらに、対応する印刷ジョブを出力したアプリケーションプログラムの名称などを併せて記述するようにしても良い。なお、管理ファイル３０１は、対応するメタファイル３１１すべてを生成出力完了後に生成される。そして、メタファイル３１１の出力中に何らかのエラーが発生した際には、対応するエラーコードが管理ファイル３０１に記録される。
【００３１】
ページ選択プログラム１０２は、ホットフォルダ１０３を逐次監視する。そして、蓄積されているメタファイル３１１に対応する画像を表示部２０５に表示し操作者に通知する機能を有する。さらに、レイアウト編集アプリケーションプログラム１０４に引き渡すことになるメタファイル３１１を、操作者による入力部２０７の操作に基づいて選択する機能を有する。これらの動作の詳細については後述する。
【００３２】
＜ページ選択プログラムの詳細動作＞
以下では、ページ選択プログラム１０２実行時の動作フローについて説明する。なお、ここでは説明を簡単にするために、ページ選択プログラム１０２が起動中、プリンタドライバ１１０内のプリントプロセッサ１１１の出力先は自動的にホットフォルダ１０３側に変更されるものとして説明する。また、ページ選択プログラム１０２非起動時はプリンタドライバ１１０内のプリントプロセッサ１１１の出力先はスプールフォルダ１１２になっている。つまり、ページ選択プログラム１０２を起動していない状態において、各種プログラムから印刷ジョブを発行するとプリンタ装置１５０により通常の印刷処理が行われる。ここで、プログラムとは、アプリケーション１０１およびレイアウト編集アプリケーション１０４の双方を含んでいる。
【００３３】
ただし、上記とは異なりページ選択プログラム１０２あるいはプリントドライバの動作設定（不図示）により、プリントプロセッサ１１１の出力先を切り換えるよう構成しても良い。
【００３４】
図５は、第１実施形態に係る情報処理装置の動作フローチャートである。なお、以下の各ステップの処理は、ＣＰＵ２０１が各種プログラムを実行することにより実現される。
【００３５】
ステップＳ５０１では、ページ選択プログラム１０２を起動する。起動のトリガは、ＰＣ１００の起動時としてもよいし、アプリケーションプログラム１０１からの印刷ジョブ生成時としても良い。いずれにしても、アプリケーションプログラム１０１の発行する印刷ジョブはプリンタドライバ１１０内のプリントプロセッサ１１１による処理の後、ホットフォルダ１０３に出力されるようにする。本実施形態において起動のトリガは、アプリケーションプログラム１０１からの印刷ジョブ生成時として説明する。アプリケーションプログラム１０１で印刷を実行するときに、操作者が、プリンタドライバ１１０の設定画面を開き、レイアウト編集プログラムでレイアウトを編集することを選択する。レイアウト編集プログラムでレイアウトを編集することが選択された状態で、印刷実行が指示されれば、プリンタドライバ１１０は、プリントプロセッサ１１１に中間印刷ファイルの出力先をホットフォルダ１０３へ切り換えさせる。
【００３６】
ページ選択プログラム１０２は起動の指示があると、既に他のページ選択プログラム１０２のプロセスが存在しているかを調べる。もし他のページ選択プログラム１０２のプロセスが存在していれば起動はしない。即ち、既にページ選択プログラム１０２が起動され、ページ選択プログラムのプロセスが１つ稼動中に、さらにページ選択プログラム１０２が起動され、ページ選択プログラム１０２のプロセスが同時に複数稼動し、ページ選択プログラム１０２のウインドウ（詳細は後述する）が複数、画面に表示されることを防止するものである。他のページ選択プログラム１０２のプロセスが存在していなければ、起動を行い併せてプリンタドライバ１１０（プリンタプロセッサ１１１）に対し、出力先をホットフォルダ１０３に切り換えるよう指示を出す。
【００３７】
ステップＳ５０２では、ページ選択プログラム１０２はホットフォルダ１０５の監視を開始する。なお、ページ選択プログラム１０２によるホットフォルダ１０５の監視の実現方法としては、ｋｑｕｅｕｅ等、ＯＳによって提供されるファイルシステム監視のシステムコールを用いるとよい。ただし、オペレーティングシステムが当該機能を提供するシステムコールを備えていない場合には、例えば、ページ選択プログラム１０２が一定時間間隔でホットフォルダ１０３に対しポーリングを行うことによって実現することもできる。
【００３８】
ステップＳ５０３では、ページ選択プログラム１０２はホットフォルダ１０３内に新しい管理ファイル３０１が生成されたか否かを確認する。新しい管理ファイル３０１が生成されていた場合は、生成された管理ファイル３０１を読み込み、エラーが発生していないことを確認する。なお、前述したように、ある印刷ジョブに対して、各ページのメタファイル３１１がすべて生成されたあとに管理ファイル３０１は生成され、管理ファイル３０１にはメタファイル３１１のファイル名のリストおよびエラー情報が記述されている。
【００３９】
さらに、ステップＳ５０３において、以下の確認を行う。
・エラーが発生していないこと。
・管理ファイル３０１に記述された各ファイル名に対応するメタファイル３１１が作成されていること。
【００４０】
これらを確認した後ステップＳ５０４に進む。新しい管理ファイル３０１が生成されていなかった場合はステップＳ５０２に戻る。
【００４１】
ステップＳ５０４では、ページ選択プログラム１０２は管理ファイル３０１内に記述された各ファイル名に対応するメタファイル３１１を順次読み込む。そして、表示部２０５に表示するための縮小画像６１０（ビットマップ画像）を生成する。この縮小画像６１０は、サムネイルと呼ばれる。縮小画像６１０の生成は、ＯＳまたはプリンタドライバ１１０のラスタライザ１１３などを用いて生成すると良い。なお、縮小画像６１０は対応する各メタファイル３１１を、操作者が表示部２０５をみて各ページ（メタファイル３１１）を識別可能とさせるためだけのものである。そのため、縮小画像６１０の解像度は例えば１６０ｘ１６０ピクセル程度で構わない。
【００４２】
さらに、ステップＳ５０４では、ページ選択プログラム１０２はステップＳ５０４で生成された縮小画像６１０を表示部２０５に表示する。このとき、後述する図６のウインドウが表示されていなければ、ウインドウ６００を開いて縮小画像６１０を一覧表示し、一方、すでにウインドウ６００が表示されていれば、縮小画像６１０の一覧表示を更新する。つまり、縮小画像６１０が生成した場合に自動的に表示部２０５に表示されるとする。このように構成することにより、操作者は、メタファイル３１１が生成されたタイミングを容易に知ることが可能となる。さらに、ウインドウ６００の表示または更新を行うときに、（表示部２０５に他のウインドウも表示されていれば、）ウインドウ６００を表示部２０５に表示されている複数のウインドウの中で最前面に移動すると良い。こうすれば、操作者は、メタファイル３１１が生成されたタイミングをさらに容易に知ることが可能となる。もちろん操作者の指定により、自動的な表示を抑制するよう構成しても良い。
【００４３】
図６は、ページ選択プログラムにより表示される画像選択画面の例を示す図である。６００はページ選択プログラム１０２に対応する表示ウインドウである。ウインドウ６００には、ホットフォルダ１０３内に蓄積されたメタファイル３１１に対応する縮小画像６１０が一覧表示されている。また、縮小画像の表示領域をスクロールするためのスライドバー６２０と、後述する取り込みボタンが配置されている。なお、ここでは縮小画像６１０とメタファイル３１１との対応は以下のようになっているものとする。
【００４４】
縮小画像６１０−１  メタファイル３１１ａ−１（JOB1_PAGE1.EMF）
縮小画像６１０−２  メタファイル３１１ａ−２（JOB1_PAGE2.EMF）
縮小画像６１０−３  メタファイル３１１ａ−３（JOB1_PAGE3.EMF）
縮小画像６１０−４  メタファイル３１１ｂ−１（JOB2_PAGE1.EMF）
縮小画像６１０−５  メタファイル３１１ｂ−２（JOB2_PAGE2.EMF）
縮小画像６１０−６  メタファイル３１１ｂ−３（JOB2_PAGE3.EMF）
縮小画像６１０−７  メタファイル３１１ｂ−４（JOB2_PAGE4.EMF）
なお、図６では第１の印刷ジョブに対応する縮小画像６１０（１〜３）と第２の印刷ジョブに対応する縮小画像６１０（４〜７）とをとくに区別せずに並べて表示している。ただし、各メタファイルに対応する画像として表示がなされているため、ユーザは直感的にどの印刷ジョブおよびページであるかを把握することができる。もちろん、表示画面上に、印刷ジョブの名前やページ番号を表示するよう構成しても良い。
【００４５】
ステップＳ５０５では、ページ選択プログラム１０２はステップＳ５０５で表示部２０５に表示された縮小画像６１０の選択を受け付ける。つまり、操作者のからレイアウト編集アプリケーション１０４に引き渡したいメタファイル３１１の選択を受け付ける。操作者による指定の方法としては、マウスにより引き渡したいメタファイル３１１に対応する縮小画像６１０の選択を受け付け、取り込みボタン６５０をマウスでクリックすることにより実現される。詳細については後述するが、取り込みボタン６５０をマウスでクリックすることにより、選択した縮小画像６１０に対応するメタファイル３１１のファイル名（パス名）が、ステップＳ５０６において、レイアウト編集アプリケーション１０４に通知される。
【００４６】
＜レイアウト処理の全体フローの具体例＞
以下では、アプリケーションプログラム１０１により生成される印刷ジョブに基づく画像（メタファイル）を、レイアウト編集アプリケーションプログラム１０４を用いてレイアウト処理し印刷出力する際のフローについて具体的に説明する。
【００４７】
１．メタファイルの生成
操作者は、ＰＣ１００で動作しているＯＳ上で、アプリケーションソフトウェア１０１であるワードプロセッサアプリケーション（以下、単にワードプロセッサと呼ぶ）を起動する。そして、操作者はアプリケーションソフトウェア１０１を操作し、アプリケーションソフトウェアによりアプリケーションのドキュメントファイルを生成する。あるいは、すでに作成されたドキュメントファイルをアプリケーションでロードし編集状態とする。なお、ドキュメントファイルは当該ドキュメントファイルを生成したワードプロセッサが取り扱い可能な独自のファイル形式である。
【００４８】
つづいて、操作者は入力部２０６を操作することにより、ワードプロセッサに対して編集中のドキュメントファイルの印刷を指示する。印刷指示を受け付けるとワードプロセッサは印刷の設定画面（不図示）を表示し印刷の各種設定を受け付ける。この時、操作者は、設定画面内に配置されるプリンタ装置１５０の設定ダイアログを開き、プリンタ装置１５０への出力ではなく、レイアウト編集アプリケーション１０４への出力を選択する。そして、設定画面内に配置される”印刷”ボタンがマウスで押下されたことをトリガに、ワードプロセッサはプリンタドライバ１１０に対し当該ドキュメントファイルに対応する印刷ジョブを発行する。ここで、印刷ジョブとは、ＯＳの提供する描画命令に基づいた一連の印刷命令のことを示す。描画命令は、たとえば、あるサイズの文字を特定のフォントで特定の位置に描画する、または、図形を特定の位置に特定のサイズで特定の色で描画するといったものである。例えば、マイクロソフト社のＯＳであるWindows(登録商標)では、上述した描画命令としてＧＤＩ（Graphics Device Interface）命令が定義されている。
【００４９】
レイアウト編集アプリケーション１０４への印刷出力の指示を受け付けたプリンタドライバ１１０は、ページ選択プログラム１０２とレイアウト編集プログラム１０４へ起動のトリガを出力し、これらを起動させる。そして、プリンタドライバ１１０は、プリンタドライバ１１０内のプリントプロセッサ１１１に、印刷ジョブを中間印刷ファイルに変換させ、中間印刷ファイルの出力先をホットフォルダ１０３に切り換える。プリントプロセッサ１１１は、ＯＳの提供する描画命令に基づいて記述される印刷ジョブを中間印刷ファイルに変換する。つまり、上述したようにページ単位でメタファイル３１１を生成するとともに、印刷ジョブ単位に管理ファイル３０１を生成する。例えば、マイクロソフト社のＯＳであるWindows(登録商標)では、中間印刷ファイルとしてＥＭＦ（Enhanced MetaFile）が用いられている。なお、描画命令はアプリケーションに依存しないため、中間印刷ファイルもアプリケーションに非依存である。そのため、異なるアプリケーションに基づいて生成された中間ファイルに対し同等に扱うことが可能である。
【００５０】
メタファイル３１１および管理ファイル３０１はシステム上で共有されるホットフォルダ１０３内に蓄積される。なお、ホットフォルダ１０３には、システム権限とアプリケーション１０１を操作するユーザ権限の双方に対して、読み取りおよび書き込みの許可が与えられている。
【００５１】
２．メタファイルの選択
ホットフォルダ１０３内にメタファイル３１１が生成されると、ページ選択プログラム１０２により確認が行われる（Ｓ５０２）。そして、ページ選択プログラム１０２はメタファイル３１１に対応する縮小画像６１０を生成し（Ｓ５０４）、１以上の縮小画像６１０の一覧を表示部２０５に表示する。なお、自身のウインドウが別のウインドウの背後にかくれているときは、自身のウインドウを最前面に移動し操作者に対し更新がおこなわれたことを報知するよう構成しても良い。このようにすることにより、操作者はメタファイル３１１の生成タイミングを容易に知ることが可能となる。
【００５２】
操作者は、ページ選択プログラム１０２により表示された一覧表示（図６）に対し、マウスによる範囲（ラバーバンド）指定やボタンのクリック操作を用いることによって縮小画像６１０を選択する。なお、縮小画像６１０を１つだけ選択しても良いし２つ以上選択しても良い。そして、操作者による取り込みボタン６５０のマウス押下などをトリガに、選択された縮小画像６１０に対応するメタファイル３１１のファイル名をレイアウト編集アプリケーションプログラム１０４に通知する。もちろん、メタファイル３１１の内容を直接送信するようにしても良い。なお、取り込みボタン６５０のマウス押下のほか、選択した縮小画像６１０をレイアウト編集アプリケーションプログラム１０４のウインドウ（ワークスペース）にドラッグアンドドロップ操作をトリガに通知しても良い。
【００５３】
通知の具体的な手法としては、ＯＳの機能である、つまり各種アプリケーションから共通的に利用できるクリップボードを利用する方法がある。その他、プロセス間通信（ＩＰＣ：Inter-Process Communication）を用いて通知しても良い。また、標準化されたアプリケーションインタフェース（ＡＰＩ）であるTWAINなどを用いメタファイル３１１を送信するよう構成しても良い。また、ページ選択プログラム１０２が、メタファイル３１１をレイアウト編集アプリケーションプログラム１０４が取り扱い可能な形式に変換し通知するよう構成しても良い。
【００５４】
３．レイアウト編集
レイアウト編集アプリケーションプログラム１０４は、例えばクリップボード経由で通知されたメタファイル３１１のファイル名（パス名）に基づいて、ホットフォルダ１０３内のメタファイル３１１を読み込む。前述の通りメタファイル３１１はＯＳの提供する描画命令で記述されている。そのため、必要に応じて、レイアウト編集アプリケーションプログラム１０４はＯＳの提供する機能を利用して自身が直接取り扱い可能な形式に変換してもよい。なお変換は、レイアウト編集アプリケーションプログラム１０４自身の機能を用いてもよいが、ＯＳ自体の有する機能を用いるとよい。つまり、メタファイル３１１はＯＳの提供する描画命令により記述されているため、ＯＳ自体の有する機能を利用することが可能だからである。
【００５５】
変換されたメタファイル３１１は編集可能なオブジェクト７１０としてレイアウト編集アプリケーションプログラム１０４のワークスペースに配置される。操作者は、ワークスペースに配置された１以上のオブジェクト７１０をマウス等を用い移動、拡大縮小、回転、複製などの操作を行う。なお、レイアウト編集アプリケーションプログラム１０４自体の操作についてはここでは説明を省略する。そして、操作者の求めるレイアウト編集を施す。
【００５６】
図７は、レイアウト編集アプリケーションによるオブジェクトの配置の例を示す図である。７０１はタイトル文字列、７０２はサブタイトル文字列、そして７１０はオブジェクトをそれぞれ示している。なお、ここではオブジェクト７１０とメタファイル３１１との対応は以下のようになっているものとする。
【００５７】
オブジェクト７１０−１  メタファイル３１１ａ−１（JOB1_PAGE1.EMF）
オブジェクト７１０−２  メタファイル３１１ａ−２（JOB1_PAGE2.EMF）
オブジェクト７１０−３  メタファイル３１１ｂ−１（JOB2_PAGE1.EMF）
オブジェクト７１０−４  メタファイル３１１ｂ−３（JOB2_PAGE3.EMF）
オブジェクト７１０−５  メタファイル３１１ｂ−４（JOB2_PAGE4.EMF）
つづいて、操作者は入力部２０６を操作することにより、レイアウト編集アプリケーションプログラム１０４に対して編集中のファイルの印刷を指示する。印刷指示を受け付けるとレイアウト編集アプリケーションプログラム１０４は印刷の設定画面（不図示）を表示し印刷の各種設定を受け付ける。この時、操作者は、設定画面内に配置されるプリンタ装置１５０の設定ダイアログを開き、プリンタ装置１５０への出力を選択する。そして、設定画面内に配置される”印刷”ボタンをマウスで押下をトリガに、レイアウト編集アプリケーションプログラム１０４はプリンタドライバ１１０に対し当該ドキュメントファイルに対応する印刷ジョブを発行する。
【００５８】
プリンタドライバ１１０内のプリントプロセッサ１１１は、ＯＳの提供する描画命令に基づいて記述されている印刷ジョブを中間印刷ファイルに変換しスプールフォルダ１１２に送信する。
【００５９】
ラスタライザ１１３は、スプールフォルダ１１２に一時記憶された中間印刷ファイルを逐次読み込み、プリンタ装置１５０が解釈可能なデータを生成し、プリンタ装置１５０に送信する。つまり、プリンタ装置１５０が解釈可能なプリンタ装置依存の記述言語（ＰＤＬ）により記述されたデータに変換し、プリンタ装置１５０に送信する。
【００６０】
以上説明したとおり第１実施形態によれば、より柔軟に異なるアプリケーションの出力を一つのドキュメントの中に混在させ編集可能とする技術を提供することが可能となる。つまり、任意のアプリケーションプログラム１０１からの出力を、任意のレイアウト編集アプリケーションプログラム１０４で利用可能とすることが可能となる。そのためレイアウト編集の利便性を向上しドキュメント作成の効率を向上することが可能となる。
【００６１】
（変形例）
上述した説明では、プリンタドライバ１１０内のプリントプロセッサ１１１の出力先を選択（図１）するよう構成した。しかし、ホットフォルダ１０３に出力するための仮想プリンタドライバとして構成しても良い。
【００６２】
図８は、変形例に係る情報処理装置の機能ブロック図である。
【００６３】
図８の構成では、プリンタ装置に出力するためのプリンタドライバ１１０ａとホットフォルダ１０３に出力するための仮想プリンタドライバ１１０ｂを備えている。
このように構成することにより、アプリケーションプログラム１０１における印刷出力時に、操作者は処理するプリンタ（プリンタドライバ）自体を選択することにより出力先を変更することが可能となる。
【００６４】
（他の実施形態）
以上、本発明の実施形態について詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００６５】
なお、本発明は、前述した実施形態の機能を実現するプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置が、供給されたプログラムコードを読み出して実行することによっても達成される。従って、本発明の機能処理をコンピュータで実現するために、コンピュータにインストールされるプログラムコード自体も本発明の技術的範囲に含まれる。
【００６６】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００６７】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク、磁気テープ、不揮発性のメモリカード、ＲＯＭなどがある。
【００６８】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明のクレームに含まれるものである。
【００６９】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００７０】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【図面の簡単な説明】
【００７１】
【図１】第１実施形態に係る情報処理装置の機能ブロック図である。
【図２】第１実施形態に係る情報処理装置の内部構成図である。
【図３】ホットフォルダに蓄積されるデータを説明する図である。
【図４】管理ファイルに記述されるデータを説明する図である。
【図５】第１実施形態に係る情報処理装置の動作フローチャートである。
【図６】ページ選択プログラムにより表示される画像選択画面の例を示す図である。
【図７】レイアウト編集アプリケーションによる各ページの配置の例を示す図である。
【図８】変形例に係る情報処理装置の機能ブロック図である。
【図１】
2007226670.tif 000003
【図２】
2007226670.tif 000004
【図３】
2007226670.tif 000005
【図４】
2007226670.tif 000006
【図５】
2007226670.tif 000007
【図６】
2007226670.tif 000008
【図７】
2007226670.tif 000009
【図８】
2007226670.tif 000010