(57)【特許請求の範囲】
【請求項１】
コンテンツデータと、階層ごとに印刷設定を定義可能な印刷設定ファイルと、前記階層ごとの印刷設定を変更するための情報を記載可能な差分ファイルと、をフォルダから取得する取得手段と、
前記印刷設定ファイルを前記差分ファイルに従って修正する修正手段と、
前記修正手段によって修正された前記印刷設定ファイルに基づいて前記コンテンツデータを処理する処理手段と、
を有し、
前記印刷設定ファイルは、ジョブレベルと、前記ジョブレベルの下位の階層のドキュメントレベルと、前記ドキュメントレベルの下位の階層のページレベルと、で構成され、
前記差分ファイルにページレベルの印刷設定が記述されている場合、前記修正手段は、前記印刷設定ファイルに前記ドキュメントレベルが含まれているかどうかを判定し、前記印刷設定ファイルに前記ドキュメントレベルが含まれていないと判定した場合、前記印刷設定ファイルにドキュメントレベルを追加し、前記ドキュメントレベルに含まれるページの中で前記差分ファイルにて指定された設定対象ページに前記差分ファイルに記述されたページレベルの印刷設定を記述する情報処理装置。
【請求項２】
前記差分ファイルに、差分として、前記印刷設定ファイルのジョブレベルの印刷設定が記載されている場合、前記修正手段は、前記印刷設定ファイルのジョブレベルの印刷設定を前記差分ファイルの印刷設定に修正する請求項１記載の情報処理装置。
【請求項３】
前記フォルダに、印刷処理の開始を示すトリガーファイルが保存された場合、前記フォルダの下位階層のフォルダで前記トリガーファイルと同じ名前のフォルダに保存されている前記コンテンツデータの印刷処理を開始する印刷要求手段を更に有する請求項１又は２記載の情報処理装置。
【請求項４】
前記印刷設定ファイルは構造化文書であり、
前記差分ファイルはテキストファイルである請求項１乃至３何れか１項記載の情報処理装置。
【請求項５】
情報処理装置が実行する情報処理方法であって、
コンテンツデータと、階層ごとに印刷設定を定義可能な印刷設定ファイルと、前記階層ごとの印刷設定を変更するための情報を記載可能な差分ファイルと、をフォルダから取得する取得ステップと、
前記印刷設定ファイルを前記差分ファイルに従って修正する修正ステップと、
前記修正ステップによって修正された前記印刷設定ファイルに基づいて前記コンテンツデータを処理する処理ステップと、
を含み、
前記印刷設定ファイルは、ジョブレベルと、前記ジョブレベルの下位の階層のドキュメントレベルと、前記ドキュメントレベルの下位の階層のページレベルと、で構成され、
前記差分ファイルにページレベルの印刷設定が記述されている場合、前記修正ステップでは、前記印刷設定ファイルに前記ドキュメントレベルが含まれているかどうかを判定し、前記印刷設定ファイルに前記ドキュメントレベルが含まれていないと判定した場合、前記印刷設定ファイルにドキュメントレベルを追加し、前記ドキュメントレベルに含まれるページの中で前記差分ファイルにて指定された設定対象ページに前記差分ファイルに記述されたページレベルの印刷設定を記述する情報処理方法。
【請求項６】
コンピュータを、請求項１乃至４何れか１項記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
写真処理システム等において、ユーザが他のシステムから印刷を行う際に、特別なＡＰＩを利用せずに、フォルダに対しての画像データ及び印刷設定情報データの投入によって印刷機能を実現できる印刷アプリケーションとしてホットフォルダアプリがある。前述のフォルダは、ホットフォルダと呼ばれる。
ホットフォルダとは、データの投入が監視されるフォルダである。ホットフォルダアプリは、ホットフォルダ内に新たな画像データ及び印刷設定情報データが格納されるとその画像データ及び印刷設定情報データを検知し、画像データと印刷設定情報データに基づく印刷処理を行う。ホットフォルダは、ハードディスク等、大容量記憶装置内に設定され、プリント処理の対象となる画像データ及び印刷設定情報データが保存される。以下、前記画像データをコンテンツデータとよぶ。前記印刷設定情報データをファイル化したものは一般的にジョブチケット、若しくはプリントチケットと呼ばれる。また、ジョブチケットとコンテンツデータとを合わせてジョブデータと呼ばれる。
【０００３】
ジョブチケットは一般的に同一コンテンツデータに対して同じジョブチケットが流用されることが多い。しかし、例えば、本印刷の前に試し印刷として紙種を安価なものに変えたい場合や、複数部印刷したい場合等、ユーザの都合により一時的に印刷設定を変更したい場合がある。オリジナルのジョブチケットを直接変更するにはユーザがジョブチケットの構造を詳しく知っている必要があるが、そのようなユーザばかりとも限らないし、変更時に間違いが生じる可能性がある。また、ジョブチケットが読み取り専用である場合や、複数のユーザがジョブチケットを共有している場合、ジョブチケットを変更できないという場合もある。そのため、オリジナルのジョブチケットを変更せずに一時的に印刷設定を変更可能にするという機能が必要であった。
従来技術には、ジョブ共通で使用する第一プリント条件ファイルと、画像データごとに設定する第二プリント条件ファイルと、によって、画像データごとに印刷設定を変更する技術がある（特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２２７９９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来技術では、画像データごとの設定は可能であるが、一時的な印刷設定情報の変更にまで対応することはできない。
【０００６】
本発明はこのような問題点に鑑みなされたもので、一時的に印刷設定情報を容易に変更可能にすることを目的とする。
【課題を解決するための手段】
【０００７】
そこで、本発明の情報処理装置は、コンテンツデータと、階層ごとに印刷設定を定義可能な印刷設定ファイルと、前記階層ごとの印刷設定を変更するための情報を記載可能な差分ファイルと、をフォルダから取得する取得手段と、前記印刷設定ファイルを前記差分ファイルに従って修正する修正手段と、前記修正手段によって修正された前記印刷設定ファイルに基づいて前記コンテンツデータを処理する処理手段と、を有し、前記印刷設定ファイルは、ジョブレベルと、前記ジョブレベルの下位の階層のドキュメントレベルと、前記ドキュメントレベルの下位の階層のページレベルと、で構成され、前記差分ファイルにページレベルの印刷設定が記述されている場合、前記修正手段は、前記印刷設定ファイルに前記ドキュメントレベルが含まれているかどうかを判定し、前記印刷設定ファイルに前記ドキュメントレベルが含まれていないと判定した場合、前記印刷設定ファイルにドキュメントレベルを追加し、前記ドキュメントレベルに含まれるページの中で前記差分ファイルにて指定された設定対象ページに前記差分ファイルに記述されたページレベルの印刷設定を記述する。
【発明の効果】
【０００８】
本発明によれば、一時的に印刷設定情報を容易に変更可能にすることができる。
【図面の簡単な説明】
【０００９】
【図１Ａ】ＸＭＬ形式のジョブチケットの一例を示す図である。
【図１Ｂ】差分ファイルの一例を示す図である。
【図２】印刷システムのシステム構成の一例を示す図である。
【図３】情報処理装置の外部のハードウェア構成の一例を示す図である。
【図４】情報処理装置の内部のハードウェア構成の一例を示す図である。
【図５】情報処理装置のホットフォルダに係るソフトウェア構成の一例を示す図である。
【図６】ホットフォルダのフォルダ構成の一例を示す図である。
【図７】ジョブ管理部のサブモジュールとして動作するジョブチケット変換部のモジュール構成の一例を示す図である。
【図８】実施形態１の情報処理装置における情報処理の一例を示すフローチャートである。
【図９】ジョブチケット補完処理の一例を示すフローチャートである。
【図１０Ａ】ジョブチケットの一例を示す図である。
【図１０Ｂ】差分ファイルの一例を示す図である。
【図１０Ｃ】修正後のジョブチケットの一例を示す図である。
【図１１Ａ】設定対象ページを定義するＤｏｃ要素が存在するジョブチケットの一例を示す図である。
【図１１Ｂ】修正後のジョブチケットの一例を示す図である。
【図１２】実施形態２の情報処理装置における情報処理の一例を示すフローチャートである。
【図１３Ａ】ジョブチケットの一例を示す図である。
【図１３Ｂ】不足したＤｏｃ要素を追加した場合のジョブチケットの一例を示す図である。
【図１３Ｃ】ジョブチケットに差分ファイルを適用した結果のジョブチケットの一例を示す図である。
【図１４Ａ】１ページ目から２ページ目まで及び５ページ目から８ページ目までを定義するＤｏｃ要素を持つジョブチケットの一例を示す図である。
【図１４Ｂ】ジョブチケットに差分ファイルを適用した結果のジョブチケットの一例を示す図である。
【図１５】実施形態３の情報処理装置における情報処理の一例を示すフローチャートである。
【図１６Ａ】ジョブチケットに設定対象ページを定義するＤｏｃ要素が複数存在するジョブチケットの一例を示す図である。
【図１６Ｂ】差分ファイルの一例を示す図である。
【図１６Ｃ】ジョブチケットに差分ファイルを適用した結果のジョブチケットの一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について図面に基づいて説明する。
【００１１】
説明の簡便化のため、ホットフォルダアプリで使用するジョブチケットはＸＭＬ形式のファイルであるとする。図１Ａは、ＸＭＬ形式のジョブチケット６０１の一例を示す図である。図１Ａに示されるようにジョブチケットは、階層構造を持つ。最上位の要素はＪｏｂ要素である。記述領域６０２は、Ｊｏｂ要素の記述領域である。Ｊｏｂ要素は、ジョブ全体を表す要素であり、例えば印刷する紙種、印刷用紙サイズ等、ジョブ全体に関わる印刷設定が記述される。Ｊｏｂ要素は子要素としてＤｏｃ要素を持つ。記述領域６０３、６０４は、Ｄｏｃ要素の記述領域である。Ｄｏｃ要素には、ページの集合が定義される。Ｄｏｃ要素は、文書内のひと固まりを意味し、ＳｔａｒｔＰａｇｅ番号とＥｎｄＰａｇｅ番号とを指定することで、ＳｔａｒｔＰａｇｅからＥｎｄＰａｇｅまでの間に含まれるページ番号の印刷設定を、後述するＰａｇｅ要素を用いて記述することができる。ＳｔａｒｔＰａｇｅ、ＥｎｄＰａｇｅの指定が無い場合は、コンテンツデータの全ページを定義するＤｏｃ要素であることを意味する。Ｄｏｃ要素に対しても、印刷設定を記述することができる。この場合、Ｄｏｃ要素が定義するページ番号全てに対し、同じ設定が適用される。Ｄｏｃ要素は子要素としてＰａｇｅ要素を持つ。記述範囲６０５、６０６は、Ｐａｇｅ要素の記述範囲である。Ｐａｇｅ要素は、物理ページを意味し、Ｐａｇｅ要素のＰａｇｅＮｏで指定するページ番号の印刷設定を記述することができる。Ｊｏｂ要素、Ｄｏｃ要素、Ｐａｇｅ要素に対して印刷設定を適用するとき、適用する階層をそれぞれジョブレベル、ドキュメントレベル、ページレベルと呼ぶ。
ジョブチケットは、Ｊｏｂ要素は必須要素であるが、ドキュメントレベル、ページレベルに印刷設定が必要ない場合、Ｄｏｃ要素とＰａｇｅ要素とは省略可能である。しかし、Ｐａｇｅ要素を記述する場合には、その親要素であるＤｏｃ要素は必ず記述する必要がある。
【００１２】
ここで、ジョブチケットに一時的に適用したい印刷設定情報を差分ファイルに記述し、ホットフォルダアプリが、ジョブチケットを、差分ファイルに記載のパラメータ及び値に修正することにより、ジョブデータを変更する場合について考える。差分ファイルはテキストファイル形式でもＩＮＩファイル形式でも何でもよい。なお、ジョブデータはジョブチケットとコンテンツデータとを合わせて構成されると記載したが、単純に、印刷設定情報データとコンテンツデータとで構成されていればよい。なお、差分ファイルは、ジョブチケットの印刷設定情報の一部を変更するための印刷設定情報を含んでいてもよい。
図１Ｂは、差分ファイル６０７の一例を示す図である。ジョブレベルに関わる設定変更は［ＪＯＢ］以下に記述され、ページレベルに関わる設定変更は［ＰＡＧＥ］以下に記述される。；が先頭についている行は、コメント行であり、直下に記述のパラメータの説明をするものであるが、省略可能である。差分ファイルに記載のパラメータは、ジョブチケットと同じものが使用される。ジョブチケットにおいて、ジョブレベルの印刷部数設定はＣｏｐｉｅｓ、ページの指定はＰａｇｅＮｏ、ページ毎に設定する印刷部数はＰａｇｅＣｏｐｉｅｓというパラメータで定義される。したがって、差分ファイル６０７は、ジョブ全体を１５部印刷し、かつ、前記１５部に対して３ページ目を２部ずつ印刷するという印刷設定を定義する差分ファイルである。
【００１３】
差分ファイルの記載内容を、ジョブチケットに適用する場合、差分ファイルのジョブレベル、ページレベルの印刷設定は、それぞれジョブチケットのＪｏｂ要素、Ｐａｇｅ要素に記述される必要がある。Ｊｏｂ要素は必須であり、１ジョブに対して１つしか存在しないため、ジョブレベルの印刷設定追加は問題無く行われる。しかし、下記のようにＤｏｃ要素の記述が不十分であるケースでは、ジョブチケットにページレベルの印刷設定を追加することができない。
（１）Ｄｏｃ要素が存在しない。
（２）Ｄｏｃ要素は存在するが、設定変更対象のページが含まれない。
（３）Ｄｏｃ要素は存在するが、設定変更対象のページを定義するＤｏｃ要素が複数存在する。
以下、ジョブチケットのＤｏｃ要素の記述が不十分な場合等であっても、一時的にページ毎の印刷設定を変更にする構成等を説明する。
【００１４】
＜実施形態１＞
実施形態１について説明する。
図２は、印刷システムのシステム構成の一例を示す図である。情報処理装置１０１は、例えば、写真の現像を行うラボ等に設置されている。情報処理装置１０１は、ＰＣでも専用端末でもよいが、本実施形態ではＰＣとして説明する。本実施形態では情報処理装置１０１にホットフォルダが作成されているものとして説明するが、別途、大容量外部記憶装置等にホットフォルダを作成してもよい。プリンタ装置１０２は、情報処理装置１０１に接続されている。プリンタ装置１０２は、例えば、レーザープリンタ、インクジェットプリンタ、サーマルプリンター等である。プリンタ装置１０２は、ホットフォルダに投入されたデータを印刷するために使用される。クライアントＰＣ１０３は、情報処理装置１０１のホットフォルダへジョブデータを投入する。クライアントＰＣ１０３は、ネットワークを介して共有されている情報処理装置１０１のホットフォルダを参照可能である。ユーザはクライアントＰＣ１０３からホットフォルダにデータを格納するだけで、プリンタ装置１０２に対して印刷を行うことができる。図２では、プリンタ装置１０２は情報処理装置１０１に直接接続されている。しかしながら、プリンタ装置１０２をネットワークに接続することにより、情報処理装置１０１のデータをネットワーク経由で参照し、印刷するようにしてもよい。ネットワーク１１０は、有線及び無線のＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等を用いて実現される。
【００１５】
図３は、情報処理装置１０１の外部のハードウェア構成の一例を示す図である。情報処理装置１０１の主な構成機器としては、コンピュータ２０１である。また、マウス２０２、キーボード２０３、ディスプレイ装置２０４、はそれぞれコンピュータ２０１に備わっている各機器に対応する入出力端子に接続される。また、本実施形態ではクライアントＰＣ１０３も情報処理装置１０１と同様のＰＣ構成を有するものとして説明する。
【００１６】
図４は、情報処理装置１０１の内部のハードウェア構成の一例を示す図である。ホットフォルダによる印刷機能は、コンピュータ２０１上でＣＰＵ３０１が、ホットフォルダプログラムに基づき処理を実行することによって実現される。情報処理装置１０１は内部のハードウェアとして、ＣＰＵ３０１、ＲＯＭ３０２、ＲＡＭ３０３、外部記憶装置３０４、ネットワークＩ／Ｆ３０５、入出力機器Ｉ／Ｆ３０６、ディスプレイＩ／Ｆ３０７、システムバス３０８、ディスプレイ装置２０４を有する。また、情報処理装置１０１は、内部のハードウェアとして、更に、キーボード２０３、マウス２０２を有する。
ＣＰＵ３０１は、情報処理装置１０１の全体の制御処理を行うものである。
ＲＯＭ３０２は、読出し専用メモリである。ＲＯＭ３０２は、使用者が電気的にプログラムを書き込むことができるＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）と製造するときに内容を書き込むマスクＲＯＭとがあるが、本実施の形態においては何れのＲＯＭであってもよい。
ＲＡＭ３０３は、自由書き込み・自由読出しができるメモリである。ＲＡＭ３０３は、本実施の形態の処理を行う際に一時的にデータを蓄える等の機能を有する。
【００１７】
外部記憶装置３０４は、不揮発性の記憶装置である。外部記憶装置３０４には、例えば、ＨＤドライブ、ＦＤドライブ、ＭＯドライブ、ＣＤ−ＲＷドライブ、ＤＶＤ−ＲＷドライブ、Ｂｌｕ−ｒａｙ（登録商標）ドライブ等がある。外部記憶装置３０４にはホットフォルダプログラムが格納されると共に、ホットフォルダプログラムに係る動作に必要なデータの格納がされている。
ネットワークＩ／Ｆ３０５は、イントラネット等のネットワークに接続するための通信制御を処理するが、ユーザの環境に応じて様々な通信インタフェースが適用される。ネットワークＩ／Ｆ３０５は、無線ＬＡＮのインタフェースやイーサネット（登録商標）のインタフェースで構成される。
入出力機器Ｉ／Ｆ３０６は、情報処理装置１０１が具備するキーボード２０３、マウス２０２、及びプリンタ装置１０２からの入出力を処理するものであり、情報処理装置の操作及びデータ入出力に用いられるものである。
ディスプレイＩ／Ｆ３０７及びディスプレイ装置２０４は表示部である。このディスプレイ装置２０４はＣＲＴ、液晶ディスプレイ、プラズマディスプレイ、リアプロジェクションテレビ又はフロントプロジェクタ及びその制御回路を用いて実現される。
システムバス３０８は、情報処理装置内の各ブロック間の各種データのやりとり及び電力の供給をするものである。システムバス３０８は、アドレス線、データ線、制御線、電源・グラウンド線等からなる。
ＣＰＵ３０１が、ホットフォルダプログラムに基づき処理を実行することによって後述するホットフォルダに係るソフトウェア構成（モジュール構成）や、フローチャートに係る処理が実現される。
【００１８】
図５は、情報処理装置１０１のホットフォルダアプリケーションのソフトウェア構成の一例を示す図である。ホットフォルダに係るソフトウェアは、ホットフォルダ監視部４０１、ホットフォルダＵＩ部４０２、及びホットフォルダ制御部４０３を有する。
ホットフォルダ監視部４０１は、ホットフォルダのフォルダ監視を行い、ジョブデータの検知を行う。ホットフォルダＵＩ部４０２は、ホットフォルダにおいてディスプレイに表示される情報を司る。ホットフォルダ制御部４０３は、ホットフォルダの制御を司る。
ホットフォルダ監視部４０１は、フォルダ監視部４０４、及びホットフォルダ監視Ｉ／Ｆ４０６を有する。フォルダ監視部４０４は、ホットフォルダの監視を行う。ホットフォルダ監視Ｉ／Ｆ４０６は、新たな印刷要求が発生した場合このＩ／Ｆを介してホットフォルダ制御部４０３に対して印刷要求を行う。
【００１９】
ホットフォルダＵＩ部４０２は、ジョブ管理ＵＩ部４０７、プリンタ管理ＵＩ部４０８、ホットフォルダ管理ＵＩ部４０９、ジョブチケット管理ＵＩ部４１０、イベント履歴管理ＵＩ部４１１、コンフィグ管理ＵＩ部４１２を有する。また、ホットフォルダＵＩ部４０２は、ホットフォルダＵＩＩ／Ｆ４１３を有する。ジョブ管理ＵＩ部４０７は、印刷ジョブを管理用のＵＩ表示部である。プリンタ管理ＵＩ部４０８は、ホットフォルダで管理しているプリンタに関する情報を表示する。ホットフォルダ管理ＵＩ部４０９は、管理しているホットフォルダ情報を表示する。ジョブチケット管理ＵＩ部４１０は、プリンタに渡されるジョブチケットと呼ばれる設定情報の表示を行う。イベント履歴管理ＵＩ部４１１は、プリンタから上がってくる印刷終了や紙無し等の各種イベント情報の履歴を表示する。コンフィグ管理ＵＩ部４１２は、ホットフォルダプログラムの設定情報の表示部である。ホットフォルダＵＩ  Ｉ／Ｆ４１３は、ホットフォルダ制御部４０３とのＩ／Ｆ部分である。
【００２０】
ホットフォルダ制御部４０３は、ホットフォルダ制御Ｉ／Ｆ４１４、ジョブ管理部４１５、プリンタ管理部４１６、ホットフォルダ管理部４１７、ジョブチケット管理部４１８、イベント履歴管理部４１９、コンフィグ管理部４２０を有する。また、ホットフォルダ制御部４０３は、デバイス制御Ｉ／Ｆ４２１を有する。ホットフォルダ制御Ｉ／Ｆ４１４は、ホットフォルダ監視Ｉ／Ｆ４０６及びホットフォルダＵＩ  Ｉ／Ｆ４１３と接続されている。ジョブ管理部４１５は、印刷ジョブの管理を行う。プリンタ管理部４１６は、ホットフォルダで管理しているプリンタの管理を行う。ホットフォルダ管理部４１７は、ホットフォルダ情報の管理を行う。ジョブチケット管理部４１８は、ジョブチケットの管理を行う。イベント履歴管理部４１９は、プリンタから上がってくる印刷終了や紙無し等の各種イベント情報の履歴を管理する。コンフィグ管理部４２０は、ホットフォルダプログラムの設定情報の管理を行う。ジョブチケット変換部１５０は、ジョブ管理部４１５のサブモジュールとして動作する。ジョブチケット変換部１５０は、ジョブ管理部４１５からジョブデータと差分ファイルとを取得し、ジョブチケットを変換する。ジョブチケット変換部１５０における処理の詳細は後述する。
デバイス制御Ｉ／Ｆ４２１は、プリンタデバイス（プリンタ装置１０２）とのインタフェース部分である。
【００２１】
図６は、ホットフォルダのフォルダ構成の一例を示す図である。ルートフォルダ５０１は、ホットフォルダのルートフォルダである。ジョブフォルダ５０２は、ホットフォルダ内に作成されたジョブ毎のジョブフォルダである。ジョブデータ５０３は、ジョブフォルダ５０２に格納されたジョブデータであり、コンテンツデータ及びジョブチケットから構成されている。５０６は、ジョブフォルダ５０２に格納された差分ファイルである。トリガーファイル５０４は、トリガーファイルである。このトリガーファイル５０４が置かれたタイミングで、トリガーファイルと同じ名前を持つフォルダの印刷ジョブが開始される。結果フォルダ５０５は、結果フォルダ（Ｒｅｓｕｌｔ  Ｆｏｌｄｅｒ）であり、終了したジョブが保存される。なお、トリガーファイルは、例えば、ユーザが新規のテキストファイルを生成し、そのテキストファイルの名前にジョブデータと同一の名前を設定し、拡張子を．ｔｒｇに設定することで生成される。そして、ユーザがホットフォルダ内にトリガーファイルを保存すると、ホットフォルダアプリケーションが、トリガーファイルと同じ名前のフォルダ内のジョブデータの印刷処理を開始する。例えば、ホットフォルダアプリケーションが、ジョブデータを印刷用ソフトウェア（例えばプリンタドライバ）へ送信し、印刷用ソフトウェアがジョブデータを印刷装置が解釈可能な印刷データに変換して、印刷データを印刷装置に送信する。なお、ホットフォルダアプリケーションが、ジョブデータを印刷装置へ直接送信してもよい。
また、差分ファイルとジョブチケットもユーザにより生成される。例えば、ユーザが新規に作成したテキストファイルからｃｊｔ．ｉｎｉファイルを作成する。そして、このｉｎｉファイル内に所望の印刷設定情報を記述することでジョブチケットと差分ファイルが生成される。なお、差分ファイルは、ジョブデータと同じタイミング、又は、トリガーファイルが置かれる前に、のジョブフォルダ内に保存される。
【００２２】
（ジョブチケット変換部のモジュール構成）
図７は、ジョブ管理部４１５のサブモジュールとして動作するジョブチケット変換部１５０のモジュール構成の一例を示す図である。ジョブチケット変換部１５０は、差分ファイル取得部１５０１、差分ファイル解析部１５０２、ジョブチケット取得部１５０３、ジョブチケット解析部１５０５、ジョブチケット修正部１５０４を有する。本実施形態のジョブチケット変換部１５０は、前述のジョブフォルダ５０２にジョブデータ５０３が格納され、トリガーファイルが置かれた後、印刷ジョブ開始時にジョブ管理部４１５からコールされることにより動作する。本実施形態のジョブチケット変換部１５０は、図２のクライアントＰＣ１０３上で動作し、各モジュールは、図４のＣＰＵ３０１にて実行処理を制御される。差分ファイル取得部１５０１は、ジョブ管理部４１５から差分ファイルを取得する。差分ファイル解析部１５０２は、前述の差分ファイル取得部１５０１で取得した差分ファイルの記述内容を解析する。ジョブチケット取得部１５０３は、ジョブ管理部４１５からジョブチケットを取得する。ジョブチケット解析部１５０５は、ジョブチケットの記述内容から、Ｄｏｃ要素の情報を解析する。Ｄｏｃ要素の情報とは、ジョブチケットに含まれるＤｏｃ要素の数、各Ｄｏｃ要素が定義するページ番号、各Ｄｏｃ要素の下位階層あるページレベルの印刷設定情報である。ジョブチケット修正部１５０４は、前述の差分ファイルの解析結果を元にジョブチケットを修正する。
【００２３】
図８は、実施形態１の情報処理装置における情報処理の一例を示すフローチャートである。
ステップＳ７０１で、差分ファイル取得部１５０１は、ジョブ管理部４１５から取得するデータに差分ファイルが存在するか否か判定する。ステップＳ７０１で判定した結果、差分ファイルがない場合は、差分ファイル取得部１５０１は、ジョブチケットを変更する必要がないため、図８に示す処理を終了する。ステップＳ７０１で判定した結果、差分ファイルが存在する場合は、差分ファイル取得部１５０１は、ステップＳ７０２に処理を進める。
ステップＳ７０２で、差分ファイル取得部１５０１は、差分ファイルを取得する。そして、差分ファイル解析部１５０２は、差分ファイル取得部１５０１が取得した差分ファイルの記述内容を解析する。
次に、ステップＳ７０３で、差分ファイル解析部１５０２は、差分ファイルの解析結果より、ジョブ全体に対する設定変更があるか否か判定する。ジョブ全体に対する設定変更が無い場合には、差分ファイル解析部１５０２は、処理をステップＳ７０６に進める。ジョブ全体の設定変更がある場合は、差分ファイル解析部１５０２は、処理をステップＳ７０４に進める。
【００２４】
ステップＳ７０４で、ジョブチケット取得部１５０３は、ジョブ管理部４１５からジョブチケットを取得する。
次に、ステップＳ７０５で、ジョブチケット修正部１５０４は、ジョブチケットのジョブレベルに差分ファイルから取得したジョブ全体に対する印刷設定を記述する。
次に、ステップＳ７０６で、差分ファイル解析部１５０２は、差分ファイルにページレベルの印刷設定があるか否かを判定する。ページレベルの印刷設定が無い場合は、差分ファイル解析部１５０２は、図８に示す処理を終了する。ページレベルの印刷設定がある場合は、差分ファイル解析部１５０２は、処理をステップＳ７０７に進める。
ステップＳ７０７で、差分ファイル解析部１５０２は、ジョブチケット補完処理を行う。以降、差分ファイルに記載のページを、「設定対象ページ」と呼ぶ。ジョブチケット補完処理の詳細については図９にて後述する。
【００２５】
図９は、ジョブチケット処理の一例を示すフローチャートである。
まず、ステップＳ８０１で、ジョブチケット取得部１５０３は、ジョブ管理部４１５からジョブチケットを取得する。
次に、ステップＳ８０２で、ジョブチケット解析部１５０５は、ジョブチケットのＤｏｃ要素を検出し、Ｄｏｃ要素の個数、各Ｄｏｃ要素が定義するページ番号、各Ｄｏｃ要素に定義されているＰａｇｅ要素の情報を取得する。
次に、ステップＳ８０３で、ジョブチケット解析部１５０５は、前記ジョブチケットの解析結果から、ジョブチケットにＤｏｃ要素が存在するか否か判定する。ジョブチケット解析部１５０５は、Ｄｏｃ要素が存在する場合は、処理をステップＳ８０６に進め、Ｄｏｃ要素が存在しない場合は、処理をステップＳ８０４に進める。
ステップＳ８０４で、ジョブチケット修正部１５０４は、全ページを定義するＤｏｃ要素をジョブチケットのＪｏｂ要素の下位階層に記述する。
次に、ステップＳ８０５で、ジョブチケット修正部１５０４は、Ｄｏｃ要素の下位階層に設定対象ページの印刷設定を記述する。この設定対象ページの印刷設定には、差分ファイルの内容が記述される。
全ページを定義するＤｏｃ要素を記述するには、ジョブチケット修正部１５０４は、ページ指定無しのＤｏｃ要素を記述すればよい。
【００２６】
一方、ステップＳ８０６で、ジョブチケット解析部１５０５は、前記ジョブチケットの解析結果から、定義するページ範囲が重複するＤｏｃ要素が存在するか否かを判定する。例えば、２−５ページ目のＤｏｃ要素と３−８ページ目のＤｏｃ要素が含まれる場合が該当する。ジョブチケット解析部１５０５は、定義するページ範囲が重複するＤｏｃ要素が存在する場合は、処理をステップＳ８１０に進め、定義するページ範囲が重複するＤｏｃ要素が存在しない場合は、処理をステップＳ８０７に進める。
ステップＳ８１０で、ジョブチケット解析部１５０５は、ジョブチケットフォーマットエラーとして、図９に示す処理を終了する。
一方、ステップＳ８０７で、ジョブチケット解析部１５０５は、前記ジョブチケットの解析結果から、設定対象ページを定義するＤｏｃ要素が存在するか否かを判定する。ジョブチケット解析部１５０５は、設定対象ページを定義するＤｏｃ要素が存在する場合は、処理をステップＳ８０８に進め、設定対象ページを定義するＤｏｃ要素が存在しない場合は、処理をステップＳ８０９に進める。
ステップＳ８０８で、ジョブチケット修正部１５０４は、Ｄｏｃ要素の下位階層に設定対象ページの印刷設定を記述する。この設定対象ページの印刷設定には、差分ファイルの内容が記述される。既に設定対象ページのパラメータがジョブチケットにある場合は、ジョブチケット修正部１５０４は、印刷設定の値だけを差分ファイルの値に置き換える。
一方、ステップＳ８０９で、ジョブチケット解析部１５０５は、差分ファイルページ指定エラーとして、図９に示す処理を終了する。Ｓ８０９、Ｓ８１０においてエラーと判定された場合、エラーであることがホットフォルダアプリケーションによってユーザに報知される。その方法は、ユーザがエラーであることを認識できれば、どのような方法であってもよい。
【００２７】
図１０Ａは、ジョブチケット１００１の一例を示す図である。ジョブチケット１００１は、ジョブレベルの印刷設定のみが記述されているジョブチケットであり、Ｄｏｃ要素以下の階層の記述は省略されている。ジョブレベルの印刷設定の記述は、説明の簡便化のため、省略する。図１０Ｂは、差分ファイル１００３の一例を示す図である。差分ファイル１００３には、ページ番号３を２部印刷する設定が記載されている。
ジョブチケット１００１に差分ファイル１００３を適用して、ページ番号３の印刷設定を追加する場合について説明する。まず、ジョブチケット修正部１５０４は、ジョブチケット１００１にＤｏｃ要素を記述する。Ｄｏｃ要素にはｉｄによりＤｏｃ要素名が定義できるが、これはＤｏｃ要素が一意に決まれば何でもよい。ジョブチケット修正部１５０４は、Ｄｏｃ要素追加後、差分ファイル１００３に記載のページ番号３のページレベルの印刷設定をジョブチケット１００１のＤｏｃ要素の下位階層に追加する。図１０Ｃは、修正後のジョブチケット１００２の一例を示す図である。修正後のジョブチケット１００２は、ジョブチケット１００１にページ番号３のページレベルの印刷設定を追加した結果のジョブチケットである。前述のＤｏｃ要素及びページレベルの印刷設定の記述部分は１００４で示される。ジョブチケット１００２は、３ページ目を２部印刷するジョブチケットとなる。
【００２８】
図１１Ａは、設定対象ページを定義するＤｏｃ要素が存在するジョブチケット９０１の一例を示す図である。ジョブチケット９０１は、ＳｔａｒｔＰａｇｅ＝１からＥｎｄＰａｇｅ＝４までを定義するＤｏｃ要素ｄ００１と、ＳｔａｒｔＰａｇｅ＝５からＥｎｄＰａｇｅ＝８までを定義するＤｏｃ要素ｄ００２と、を持つ。差分ファイルは図１０の差分ファイル１００３を用いて説明する。ジョブチケット修正部１５０４は、ジョブチケット９０１には、既に設定対象のページ番号３を定義するＤｏｃ要素ｄ００１が存在するため、ジョブチケット９０１のＤｏｃ要素ｄ００１の下位階層にページレベルの印刷設定を追加すればよい。図１１Ｂは、修正後のジョブチケット９０２の一例を示す図である。ジョブチケット９０２は、ジョブチケット９０１のＤｏｃ要素ｄ００１に、差分ファイル１００３に記載のページ番号３のページレベルの印刷設定を追加した結果のジョブチケットである。９０３は、印刷設定を追加した部分を示す。
以上により、ジョブチケットのＤｏｃ要素の記述が不十分な記載であっても、Ｄｏｃ要素を補完することにより、ページ毎の印刷設定をジョブチケットに追加することが可能となる。
【００２９】
＜実施形態２＞
実施形態２について説明する。実施形態１では、Ｄｏｃ要素があっても、設定対象ページが、Ｄｏｃ要素が定義するページ範囲内にない場合はエラーとして処理を終了させていた。しかし、実施形態２では、設定対象ページを定義するＤｏｃが存在しない場合、差分ファイルをジョブチケットに適用する前に、ジョブチケットのＤｏｃ要素を全ページが定義されるように追加することにより、設定対象のページの印刷設定の追加を可能とする。
以下、Ｄｏｃ要素の追加方法について説明する。ここで、後述する図１３Ａのジョブチケットは、Ｄｏｃ要素が不足しているジョブチケットである。図１３Ａのジョブチケットは、ページ番号５から８までを定義するＤｏｃ要素が記載されており、ページ番号１から４までは省略されている。図１３Ａの１２０４が、Ｄｏｃ要素が不足している部分である。したがって、全ページをＤｏｃ要素により定義するために、１ページ目から４ページ目までを定義するＤｏｃ要素を追加する必要がある。後述する図１３Ｂのジョブチケット１２０６は、不足したＤｏｃ要素を追加した場合のジョブチケットである。１２０７は、追加されたＤｏｃ要素である。また、ジョブチケット修正部１５０４は、ＥｎｄＰａｇｅを省略することで、ＳｔａｒｔＰａｇｅから最終ページまでのＤｏｃ要素を定義することが可能である。したがって、最終ページまでのＤｏｃ要素を追加したい場合は、ジョブチケット修正部１５０４は、ジョブチケットに記載の最大ページ（ここでは８）以降の数値をＳｔａｒｔＰａｇｅに設定し、ＥｎｄＰａｇｅを省略するＤｏｃを追加する。或いは、ジョブチケット修正部１５０４は、最大ページを持つＤｏｃ要素のＥｎｄＰａｇｅを省略する。以上、説明したように、ジョブチケットの定義が不足しているページを全て定義するようにＤｏｃ要素を追加する方法を、欠損Ｄｏｃ要素追加方法と呼ぶ。
【００３０】
図１２は、実施形態２の情報処理装置における情報処理の一例を示すフローチャートである。
ステップＳ１１０１〜Ｓ１１０６は実施形態１の図９のステップＳ８０１〜Ｓ８０６と同じであるため、説明を省略する。
ステップＳ１１０７で、ジョブチケット解析部１５０５は、ジョブチケットに設定対象ページを定義するＤｏｃ要素が存在しないと判定した場合、処理をステップ１１０９に進める。
ステップＳ１１０９で、ジョブチケット修正部１５０４は、設定対象ページを定義するＤｏｃ要素を前述の欠損Ｄｏｃ要素追加方法で追加する。
続いて、ステップＳ１１１０で、ジョブチケット修正部１５０４は、設定対象ページの印刷設定を追加する。
【００３１】
図１３Ａは、ジョブチケット１２０１の一例を示す図である。５ページ目から８ページ目までのＤｏｃ要素が記述されている。１２０４は、Ｄｏｃ要素が不足している部分である。差分ファイルは図１０Ｂの差分ファイル１００３を用いて説明する。ジョブチケット修正部１５０４は、ジョブチケット１２０１に差分ファイル１００３を適用して、３ページ目の印刷設定を追加する。図１３Ｂは、上述したように、不足したＤｏｃ要素を追加した場合のジョブチケットである。図１３Ｃは、ジョブチケット１２０１に差分ファイル１００３を適用した結果のジョブチケット１２０２の一例を示す図である。ジョブチケット修正部１５０４は、前述の欠損Ｄｏｃ要素追加方法によりジョブチケット１２０１にＳｔａｒｔＰａｇｅ＝１からＥｎｄＰａｇｅ＝４までを定義するＤｏｃ要素を追加する。また、ジョブチケット修正部１５０４は、追加したＤｏｃ要素の下位階層にページ番号３のページレベルの印刷設定を追加する。１２０３は、追加部分である。
【００３２】
別の例として、中間のページ番号が抜けている場合について説明する。図１４Ａは、定義が不足しているジョブチケット１６０１の一例を示す図である。図１４Ａの１６０４は、Ｄｏｃ要素が不足している部分である。差分ファイルは図１０Ｂの差分ファイル１００３を用いて説明する。図１４Ｂは、ジョブチケット１６０１に差分ファイル１００３を適用した結果のジョブチケット１６０２の一例を示す図である。ジョブチケット修正部１５０４は、前述の欠損Ｄｏｃ要素追加方法により、定義が不足しているジョブチケット１６０１にＳｔａｒｔＰａｇｅ＝３からＥｎｄＰａｇｅ＝４までを定義するＤｏｃ要素を追加する。また、ジョブチケット修正部１５０４は、追加したＤｏｃ要素の下位階層にページ番号３のページレベルの印刷設定を追加する。１６０３は、追加部分である。
以上により、設定対象のページを定義するＤｏｃ要素がない場合にも、定義が不足しているページのＤｏｃ要素を追加することで、ページレベルの印刷設定を追加することが可能となる。
【００３３】
＜実施形態３＞
実施形態３について説明する。実施形態１では、複数のＤｏｃ要素に含まれている場合は、ジョブチケットの構造的なエラーとして終了させていた。
しかし、実施形態３では、指定したページ番号が複数のＤｏｃ要素に含まれる場合も、Ｄｏｃ要素以下を再構成することにより、Ｐａｇｅ要素の記述を追加することを可能とする。
図１５は、実施形態３の情報処理装置における情報処理の一例を示すフローチャートである。
ステップＳ１３０１〜Ｓ１３１０は実施形態２の図１２のステップＳ１１０１〜Ｓ１１１０と同じであるので、説明を省略する。
【００３４】
ステップＳ１３０６で、ジョブチケット解析部１５０５は、定義するページ範囲が重複するＤｏｃ要素が存在するか否かの判定を行う。ジョブチケット解析部１５０５は、重複するＤｏｃ要素が存在する場合、ステップＳ１３１１に処理を進め、重複するＤｏｃ要素が存在しない場合、ステップＳ１３０７に処理を進める。
ステップＳ１３１１で、ジョブチケット修正部１５０４は、Ｄｏｃ要素以下の同一ページ番号のページレベルの印刷設定をマージする。より具体的には、ジョブチケット修正部１５０４は、複数存在するＤｏｃ要素を一度破棄して、各Ｄｏｃ要素が持つＰａｇｅ要素を同じレベルに記述する。このとき、同一のページ番号を持つＰａｇｅ要素がある場合、ジョブチケット修正部１５０４は、ひとつのＰａｇｅ要素に各Ｐａｇｅ要素が持つパラメータをまとめて記述する。同一のパラメータが複数存在する場合は、ジョブチケット修正部１５０４は、先に記述されているパラメータの値を優先し、後の記述は削除する。
次に、ステップＳ１３１２で、ジョブチケット修正部１５０４は、新たなＤｏｃ要素として全ページを定義するＤｏｃ要素をＪｏｂ要素の下位階層に追加し、前述のＤｏｃ要素の下位階層に、ステップＳ１３１１でマージしたＰａｇｅ要素を記述する。
次に、ステップＳ１３１３で、ジョブチケット修正部１５０４は、設定対象ページの印刷設定をＤｏｃ要素に記述する。
既に設定対象ページのパラメータがジョブチケットにある場合は、ジョブチケット修正部１５０４は、印刷設定の値だけ差分ファイルの値に置き換える。
【００３５】
図１６Ａは、ジョブチケットに設定対象ページを定義するＤｏｃ要素が複数存在するジョブチケット１４０１の一例を示す図である。ジョブチケット１４０１は、ＳｔａｒｔＰａｇｅ＝１からＥｎｄＰａｇｅ＝７までを定義するＤｏｃ要素ｄ００１と、ＳｔａｒｔＰａｇｅ＝６からＥｎｄＰａｇｅ＝８までを定義するＤｏｃ要素ｄ００２とを持つ。図１６Ｂは、差分ファイル１４０３の一例を示す図である。差分ファイル１４０３は、ページ番号６を２部印刷する設定が記載されている。ジョブチケット１４０１に差分ファイル１４０３を適用し、ページ番号６の印刷設定を追加する場合について説明する。
まず、ジョブチケット修正部１５０４は、ジョブチケットの複数のＤｏｃ要素を破棄し、各Ｄｏｃ要素が持っていたページレベルの印刷設定をマージする。ここで、ジョブチケット修正部１５０４は、マージの段階で、同じページ番号の同じパラメータが存在する場合は、先に記述されているＤｏｃ要素ｄ００１にあるパラメータの値を優先して記述する。その後、ジョブチケット修正部１５０４は、差分ファイル１４０３に記載のページ番号６の印刷設定を記述する。図１６Ｃは、ジョブチケット１４０１に差分ファイル１４０３を適用した結果のジョブチケット１４０２の一例を示す図である。１４０４は、追加部分である。ジョブチケット１４０１にはページ番号６の記述があるため、ＰａｇｅＣｏｐｉｅｓの値が３から２に変更されている。
以上により、指定のＰａｇｅ要素が複数のＤｏｃ要素に含まれる場合にも、差分ファイルに指定されたページレベルの印刷設定を追加することが可能となる。
【００３６】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００３７】
以上、上述した各実施形態によれば、例えば、ホットフォルダに投入されるジョブチケットのＤｏｃ要素の記述が不十分な場合等であっても、一時的にページ毎の印刷設定を変更可能にすることができる。つまり、一時的に印刷設定情報を容易に変更可能にすることができる。
【００３８】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図１Ａ】
0006029339.tif 000002
【図１Ｂ】
0006029339.tif 000003
【図２】
0006029339.tif 000004
【図３】
0006029339.tif 000005
【図４】
0006029339.tif 000006
【図５】
0006029339.tif 000007
【図６】
0006029339.tif 000008
【図７】
0006029339.tif 000009
【図８】
0006029339.tif 000010
【図９】
0006029339.tif 000011
【図１０Ａ】
0006029339.tif 000012
【図１０Ｂ】
0006029339.tif 000013
【図１０Ｃ】
0006029339.tif 000014
【図１１Ａ】
0006029339.tif 000015
【図１１Ｂ】
0006029339.tif 000016
【図１２】
0006029339.tif 000017
【図１３Ａ】
0006029339.tif 000018
【図１３Ｂ】
0006029339.tif 000019
【図１３Ｃ】
0006029339.tif 000020
【図１４Ａ】
0006029339.tif 000021
【図１４Ｂ】
0006029339.tif 000022
【図１５】
0006029339.tif 000023
【図１６Ａ】
0006029339.tif 000024
【図１６Ｂ】
0006029339.tif 000025
【図１６Ｃ】
0006029339.tif 000026