(57)【特許請求の範囲】
【請求項１】
印刷要求があった文書データに基づいて該文書データを印刷するためのデータとして生成された中間データに対して、該中間データに含まれるページの区切りを識別する識別手段と、
前記中間データのページ毎に、当該ページの文面として表された文字列から、キーワードを検出する検出手段と、
前記識別手段により識別された前記中間データの各ページに対して、前記検出手段により検出された前記キーワードに基づいて、同じキーワードが含まれているページがまとめて出力されるよう、ページ単位で出力順を変更する制御手段と、
前記制御手段によりページ単位で出力順が変更された後の前記中間データを出力する出力手段と、
を備えたことを特徴とする情報処理装置。
【請求項２】
前記制御手段は、前記識別手段により識別された前記中間データの各ページに対して、さらに、前記検出手段により所定のキーワードが検出されたか否かに基づいて、印刷するか否かを制御すること、
を特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記識別手段により識別されたページの区切り毎に、前記中間データを分割する分割手段と、
前記制御手段によりページ単位で出力順が変更された後の前記中間データの各ページを結合する結合手段と、をさらに備えること、
を特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記検出手段は、当該ページ内の所定の項目に記載された文字列を、キーワードとして検出すること、
を特徴とする請求項１乃至３のいずれか一つに記載の情報処理装置。
【請求項５】
前記制御手段は、さらに、同じキーワードが含まれているページをまとめてステープルするか否かを制御すること、
を特徴とする請求項１乃至４のいずれか一つに記載の情報処理装置。
【請求項６】
情報処理装置で実行される印刷制御方法であって、
識別手段が、印刷要求があった文書データに基づいて該文書データを印刷するためのデータとして生成された中間データに対して、該中間データに含まれるページの区切りを識別する識別ステップと、
検出手段が、前記中間データのページ毎に、当該ページの文面として表された文字列から、キーワードを検出する検出ステップと、
制御手段が、前記識別ステップにより識別された前記中間データの各ページに対して、前記検出ステップにより検出された前記キーワードに基づいて、同じキーワードが含まれているページがまとめて出力されるよう、ページ単位で出力順を変更する制御ステップと、
出力手段が、前記制御ステップによりページ単位で出力順が変更された後の前記中間データを出力する出力ステップと、
を含むことを特徴とする印刷制御方法。
【請求項７】
印刷要求があった文書データに基づいて該文書データを印刷するためのデータとして生成された中間データに対して、該中間データに含まれるページの区切りを識別する識別ステップと、
前記中間データのページ毎に、当該ページの文面として表された文字列から、キーワードを検出する検出ステップと、
前記識別ステップにより識別された前記中間データの各ページに対して、前記検出ステップにより検出された前記キーワードに基づいて、同じキーワードが含まれているページがまとめて出力されるよう、ページ単位で出力順を変更する制御ステップと、
前記制御ステップによりページ単位で出力順が変更された後の前記中間データを出力する出力ステップと、
をコンピュータに実行させるための印刷制御プログラム。
【請求項８】
請求項７に記載の印刷制御プログラムを記憶したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、印刷制御方法、印刷制御プログラム、及び記録媒体に関する。
【背景技術】
【０００２】
従来から、印刷処理装置では、ユーザの印刷要求に応じるために、様々な印刷機能を備えている。
【０００３】
例えば、特許文献１に記載された技術では、表示装置上で、印刷データをページ単位で、印刷用の中間データを生成し、その中間データをページ単位で、表示画面に表示している。そして、ユーザからのページ入れ替えや白紙ページ挿入等のページ編集が行われた場合、表示装置が、その編集内容を上記中間ファイルに反映させている。これにより、印刷データのページ入れ替えや白紙ページ挿入を実現している。
【０００４】
他の例としては、特許文献２に記載された技術では、文書データ中に印刷制御を行うためのコマンドを予め埋め込んでおくことで、当該文書データを印刷する際、コマンドが埋め込まれている場合に、当該コマンドに従って印刷先の印刷装置の指定、章分け指定等の印刷制御を行っている。これにより、ユーザが意図する印刷内容の印刷を簡単かつ適切に行わせることができる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１及び特許文献２ともに、実行される印刷制御は、ユーザの操作に依存している。例えば、特許文献１に記載された技術では、ユーザがページ単位で操作を行う必要があるし、特許文献２では、印刷制御を行うためのコマンドを予め埋め込んでおく必要がある。
【０００６】
ところで、現在の業務システムでは、１ページの帳票を数百部つなげて１つの印刷ジョブ情報として管理している場合がある。ユーザが、このような印刷ジョブを、システム端末から出力する際、印刷ジョブ情報に含まれている帳票を、必要に応じて仕分けをする状況がある。このような状況において、引用文献１及び引用文献２に記載された技術では、ユーザが画面上で手作業によってページの仕分けを行う必要があり、ユーザの操作負担が大きくなるという問題がある。
【０００７】
本発明は、上記に鑑みてなされたものであって、印刷制御を行う際のユーザの操作負担を軽減させる情報処理装置、印刷制御方法、印刷制御プログラム、及び記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明にかかる情報処理装置は、印刷要求があった文書データに基づいて該文書データを印刷するためのデータとして生成された中間データに対して、該中間データに含まれるページの区切りを識別する識別手段と、前記中間データのページ毎に、当該ページの文面として表された文字列から、キーワードを検出する検出手段と、前記識別手段により識別された前記中間データの各ページに対して、前記検出手段により検出された前記キーワードに基づいて、同じキーワードが含まれているページがまとめて出力されるよう、ページ単位で出力順を変更する制御手段と、前記制御手段によりページ単位で出力順が変更された後の前記中間データを出力する出力手段と、を備えたことを特徴とする。
【０００９】
また、本発明にかかる印刷制御方法は、情報処理装置で実行される印刷制御方法であって、識別手段が、印刷要求があった文書データに基づいて該文書データを印刷するためのデータとして生成された中間データに対して、該中間データに含まれるページの区切りを識別する識別ステップと、検出手段が、前記中間データのページ毎に、当該ページの文面として表された文字列から、キーワードを検出する検出ステップと、制御手段が、前記識別ステップにより識別された前記中間データの各ページに対して、前記検出ステップにより検出された前記キーワードに基づいて、同じキーワードが含まれているページがまとめて出力されるよう、ページ単位で出力順を変更する制御ステップと、出力手段が、前記制御ステップによりページ単位で出力順が変更された後の前記中間データを出力する出力ステップと、を含むことを特徴とする。
【００１０】
また、本発明にかかる印刷制御プログラムは、印刷要求があった文書データに基づいて該文書データを印刷するためのデータとして生成された中間データに対して、該中間データに含まれるページの区切りを識別する識別ステップと、前記中間データのページ毎に、当該ページの文面として表された文字列から、キーワードを検出する検出ステップと、前記識別ステップにより識別された前記中間データの各ページに対して、前記検出ステップにより検出された前記キーワードに基づいて、同じキーワードが含まれているページがまとめて出力されるよう、ページ単位で出力順を変更する制御ステップと、前記制御ステップによりページ単位で出力順が変更された後の前記中間データを出力する出力ステップと、をコンピュータに実行させることを特徴とする。
【００１１】
また、本発明にかかる記録媒体は、上述したプログラムを記憶したコンピュータ読み取り可能な記憶媒体であることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、印刷された後の文書データを仕分けする際のユーザの負担を軽減するという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】図１は、第１の実施の形態にかかる印刷処理システムの構成を示すシステム構成図である。
【図２】図２は、情報処理装置の構成を示したブロック図である。
【図３】図３は、情報処理装置が備える、プリンタドライバと、データ処理設定部と、一括印刷処理部と、の詳細な構成を示した図である。
【図４】図４は、設定画面の例を示した図である。
【図５】図５は、印刷制御の対象となった文書データを示した図である。
【図６】図６は、図５の文書データをキーワードに応じて並び替えた後の文書データを示した図である。
【図７】図７は、ページインデックス生成部が生成したページインデックスリストの一例を示した図である。
【図８】図８は、ページインデックス生成部が生成するページインデックスリストの変形例を示した図である。
【図９】図９は、中間データのデータ構造を示した図である。
【図１０】図１０は、中間データ分割部により分割された後の中間データのデータ構造を示した図である。
【図１１】図１１は、ページ制御情報生成部が生成したページ管理リストの例を示した図である。
【図１２】図１２は、ページ制御情報生成部が生成したジョブ制御情報の例を示した図である。
【図１３】図１３は、第１の実施の形態にかかる情報処理装置における、アプリケーションから印刷要求を受け付けてから、一括印刷処理部に一括印刷処理要求を行うまでの処理の手順を示すフローチャートである。
【図１４】図１４は、第１の実施の形態にかかる一括印刷処理部における処理の手順を示すフローチャートである。
【図１５】図１５は、第１の実施の形態の情報処理装置のハードウェア構成を示す図である。
【発明を実施するための形態】
【００１４】
以下に添付図面を参照して、この発明にかかる情報処理装置、印刷制御方法、印刷制御プログラム、及び記録媒体の一実施の形態を詳細に説明する。
【００１５】
（第１の実施の形態）
図１は、本発明の第１の実施の形態にかかる印刷処理システムの構成を示すシステム構成図である。図１に示すように、第１の実施の形態にかかる印刷処理システムは、情報処理装置１００と、プリンタ１５０と、で構成されている。そして情報処理装置１００と、プリンタ１５０とは、ネットワーク１６０を介して接続されているものとする。なお、情報処理装置１００と、プリンタ１５０とは、ケーブルで直接接続されていても良い。
【００１６】
プリンタ１５０は、情報処理装置１００からの要求に応じて、記録紙に対して印刷を行う。プリンタ１５０は、単にプリンタ機能を有する装置に制限されるものではなく、コピー、ファクシミリ、スキャナー等を備えた複合機であっても良い。
【００１７】
情報処理装置１００は、本実施の形態ではＰＣ(Personal  Computer)を用いるが、プリンタ１５０に対して、文書データの印刷要求を行える情報処理装置であればよい。そして、情報処理装置１００上で、任意のアプリケーションが文書データの印刷要求を行った場合、プリンタドライバは、当該印刷要求に従って、ネットワーク１６０を介して接続されているプリンタ１５０から印刷を行う。
【００１８】
図２は、情報処理装置１００の構成を示したブロック図である。図２に示すように、情報処理装置１００は、アプリケーション２０１と、ＯＳ２０２と、を備えている。
【００１９】
アプリケーション２０１は、ＯＳ２０２上に搭載されている文書作成ソフトウェア、図形作成ソフトウェア、表計算ソフトウェア、データベースソフトウェア等とする。そして、アプリケーション２０１は、ＯＳ２０２に対して、文書データの印刷要求を行う。
【００２０】
ＯＳ２０２は、情報処理装置１００のハードウェアとソフトウェアとを管理するプログラムである。ＯＳのうち代表的なものとしては、Ｗｉｎｄｏｗｓ（登録商標）、ＵＮＩＸ（登録商標）等が知られている。
【００２１】
ＯＳ２０２は、描画デバイスインターフェース（Ｉ／Ｆ）２１１と、プリンタドライバ２１２と、データ処理設定部２１３と、一括印刷処理部２１４と、スプーラ２１５と、を備える。
【００２２】
描画デバイスインターフェース（Ｉ／Ｆ）２１１は、プリンタやディスプレイをコントロールするためのインターフェースであり、Ｗｉｎｄｏｗｓ（登録商標）のＧＤＩ（Graphic  Device  Interface）に相当する。また、描画デバイスインターフェース（Ｉ／Ｆ）２１１は、アプリケーション２０１か印刷要求を行った場合に、アプリケーション２０１から受け取った印刷設定情報と、文書データと、をプリンタドライバ２１２に受け渡す。印刷設定情報とは、印刷データを印刷する際の設定が示された情報とし、例えば、ステープルするか否かが示してある。
【００２３】
プリンタドライバ２１２は、印刷要求がなされた文書データを、印刷するプリンタ１５０が処理可能なデータ、いわゆるプリンタ言語(Page  Description  Language、ＰＤＬとも称す)データ、換言すれば印刷データに変換するドライバとする。本実施の形態では、文書データを、中間データに変換し、当該中間データについて処理を行った後、当該中間データを印刷データに変換する。
【００２４】
プリンタドライバ２１２は、描画デバイスインターフェース（Ｉ／Ｆ）２１１から受け付けた文書データから、当該文書データをプリンタ１５０で出力するよう制御する。また、プリンタドライバ２１２は、中間データ生成部２２１と、印刷データ生成部２２２と、を備えている。
【００２５】
中間データ生成部２２１は、描画デバイスインターフェース２１１から受け取った文書データを、中間データに変換する。中間データは、印刷レイアウトを反映した一時保管用データで、印刷データに変換する前のデータであって、任意のデータ形式に変更可能なデータ形式のデータとする。
【００２６】
印刷データ生成部２２２は、データ処理設定部２１３から入力された中間データから、一括印刷処理用の中間データを生成する。そして、印刷データ生成部２２２は、生成した一括印刷処理用の中間データを一括印刷処理部２１４に出力した後、一括印刷処理部２１４から渡された中間データを出力先のプリンタ１５０に適した印刷データに変換し、対応するスプーラ２１５に受け渡す。
【００２７】
一括印刷処理用の中間データとは、中間データについてページごとに設定・編集することが可能なデータとする。従って、印刷データ生成部２２２が一括印刷処理用の中間データを生成するのではなく、前段階（例えば中間データ生成部２２１）で生成しても良い。
【００２８】
データ処理設定部２１３は、中間データから、当該中間データに含まれている各ページと、印刷する際の条件が含まれたページインデックスを生成し、中間データとページインデックスとを対応付けて、印刷データ生成部２２２に出力する。
【００２９】
一括印刷処理部２１４は、ページインデックスに従って、入力された中間データから、印刷用の中間データを生成し、生成した中間データで、印刷データ生成部２２２に対して印刷処理を要求する。
【００３０】
スプーラ２１５は、プリンタドライバ２１２により生成された印刷データを印刷するために、プリンタ１５０に出力する。
【００３１】
本実施の形態にかかる情報処理装置１００では、中間データ、及び印刷データをページ単位で印刷制御を行うものとする。次に、中間データをページ単位で印刷制御を行うための構成について説明する。
【００３２】
図３は、情報処理装置１００が備える、プリンタドライバ２１２と、データ処理設定部２１３と、一括印刷処理部２１４と、の詳細な構成を示した図である。
【００３３】
データ処理設定部２１３は、設定受付部３０１と、設定記憶部３０２と、インターフェース部３０３と、中間データ入力部３０４と、文字列抽出部３０５と、ページインデックス生成部３０６と、データ出力部３０７と、を備える。
【００３４】
設定受付部３０１は、印刷する際の処理を設定するための設定画面を、（図示しない）モニタの画面上に表示する。図４は、設定画面の例を示した図である。
【００３５】
設定受付部３０１は、図４に示す設定画面において、項目４０１及び項目４０２で、文書データの文面上から、キーワードとして検出する文字列の範囲の指定を受け付ける。図４で示す例では、開始キーワード「氏名」から、終了キーワード「改行」が行われるまでの文字列をキーワードとして検出することになる。
【００３６】
そして、設定受付部３０１は、チェックボックス４０３では、キーワードが抽出されなかったページの印刷有無の設定を受け付ける。さらに、設定受付部３０１は、チェックボックス４０４と項目４０５とで、ページの印刷を行わないキーワードの設定を受け付ける。
【００３７】
さらに、領域４０６内の項目で、抽出したキーワードに基づいて、どのような処理を行うのかの設定を受け付ける。例えば、設定受付部３０１は、チェックボックス４０７で同じキーワードで印刷するか否かの設定を受け付ける。設定受付部３０１は、チェックボックス４０８では、同じキーワード順で印刷する際に、同じキーワードのページをまとめてステープルするか否かを受け付ける。
【００３８】
また、設定受付部３０１が、設定画面を表示するタイミングはどのタイミングでも良い。例えば、印刷処理を行う前にデフォルト設定を行うために設定画面を表示しても良いし、印刷処理時にプリンタドライバ２１２から印刷要求を受け付けた際に設定画面を表示しても良い。
【００３９】
本実施の形態にかかる情報処理装置１００が、設定受付部３０１で受け付けた設定を示した印刷情報に基づいて、文書データの印刷制御を行う例について説明する。図５が、印刷制御の対象となった文書データを示した図とする。図５に示すように、文書データの各ページは、１ページの帳票となっており、ページ毎に担当者の名前が記載されている。従来の手法では、文書データに関し、担当者毎に仕分けする場合、当該文書データを印刷した後、ユーザが項目「名前」を目視で確認し、手で仕分けする必要があった。これに対し、文書データについて、担当者毎に自動的に仕分けしたいという要求があった。また、帳票のみならず、文書データの各ページをキーワードに応じて、並び替えたいというユーザの要求も存在する。
【００４０】
そこで、本実施の形態にかかる情報処理装置１００では、図２及び図３に示す特徴的構成を備えることで、キーワードを抽出する範囲の指定を受け付けた場合に、当該キーワードに応じて文書データの各ページを並び替えられることを可能とした。
【００４１】
図６は、図５の文書データをキーワードに応じて並び替えた後の文書データを示した図とする。図６に示すように、本実施の形態にかかる情報処理装置１００では、設定画面による設定に基づいて、同一のキーワード（例えば、名前）毎にページを並び替えると共に、特定のキーワード（例えば、山本）が記載されている場合や、キーワードがない場合に、印刷を行わないことも可能とする。そして、情報処理装置１００で当該処理を実現するための各構成について具体的に説明する。
【００４２】
設定記憶部３０２は、設定受付部３０１が受け付けた設定が示された設定情報を記憶する。設定記憶部３０２は、例えば、キーワードの抽出範囲を特定する情報、同一キーワード毎にページの並び替えの有無、印刷しないページを示すキーワード、同一キーワードのページをステープルでまとめるか否かを設定情報として記憶する。
【００４３】
インターフェース部３０３は、プリンタドライバ２１２と通信するためのインターフェースとする。
【００４４】
中間データ入力部３０４は、中間データ生成部２２１で生成された中間データを、インターフェース部３０３を介して入力処理する。
【００４５】
文字列抽出部３０５は、中間データ入力部３０４が入力処理した中間データから、文字列情報を抽出する。
【００４６】
ページインデックス生成部３０６は、キーワード検出部３１１を備え、文字列抽出部３０５で抽出された文字列情報から、中間データに含まれている各ページを示すページインデックスリストを生成する。ページインデックスリストを生成する際に、設定記憶部３０２に記憶された設定情報を利用する。ページインデックスリストは、一括印刷処理部２１４が各ページの印刷制御を行う際に利用される各ページの情報が含まれたリストとする。
【００４７】
キーワード検出部３１１は、設定記憶部３０２に記憶された設定情報を用いて、中間データの文面として抽出された文字列情報から、中間データのページ毎に、キーワードを検出する。図４に示す設定画面で設定された設定情報を用いた場合に、キーワード検出部３１１は、開始キーワードとして「名前」を取得し、中間データ内を検索する。そして、開始キーワードを検出した場合に、終了キーワードとして「\r\n」を取得し、開始キーワード以降の文字列を検索する。そして、終了キーワードが検出された場合に、開始キーワードから終了キーワードまでの間の文字列を、印刷制御するためのキーワードとして検出する。この処理を最終ページまで繰り返す。
【００４８】
そして、ページインデックス生成部３０６は、キーワード検出部３１１に検出された各ページのキーワードを含むページインデックスリストを生成する。
【００４９】
図７は、ページインデックス生成部３０６が生成したページインデックスリストの一例を示した図である。図７に示す例では、<PageInfo>タグで囲まれた領域７０１は、<Page>タグ毎に、ページ毎の情報を格納している。そして、<Page>タグのindexに何ページ目であるかを示し、ページごとの<Keyword1>タグに、"Keyword1"に該当する文字列が示されている。つまり、<Keyword1>タグ内に、キーワード検出部３１１が検出した各ページのキーワードが記載されている。
【００５０】
そして、<SettingInfo>タグは、印刷の際のページの順番のための設定情報である。<SettingInfo>タグで囲まれた領域７０２のうち、<Sort>タグ内には、上述した"Keyword1"タグに格納されたキーワード毎にページの順番付けを行うことが示されている。また、キーワードが同一のページ毎にステープルすることが示されている。さらに、設定受付部３０１が受け付けた設定のうち、印刷制御に用いる設定もページインデックスリストに格納される。例えば、<Except>タグ内には、"Keyword1"タグ内に"山本"が格納されている、又はキーワードが含まれていない場合に、当該ページを印刷対象から省くことが示されている。
【００５１】
本実施の形態は、生成するページインデックスリストを、図７で示すようにページ毎のキーワードを格納する例に制限するものではない。図８は、ページインデックス生成部３０６が生成するページインデックスリストの変形例を示した図である。図８に示すページインデックスリストでは、<Include>タグ内に、<PageIndex>タグで１、２ページ目が指定されている。つまり、図８に示すインデックスリストには、中間データの１ページ目と２ページ目とを印刷することが定義されている。このようにページインデックスリストは、中間データを印刷するための様々な印刷設定情報を定義することができる。
【００５２】
第１の実施の形態に戻り、データ出力部３０７は、インターフェース部３０３を介し、ページインデックスリストと当該ページインデックスリストの生成元の中間データとを対応付けて、印刷データ生成部２２２に出力する。
【００５３】
ページインデックス生成部３０６が生成したページインデックスは、必ずしも対応付けて送信する必要があるものではなく、pathを通して中間データと同じディレクトリなどに送信するなどの制御を行ってもよい。また、中間データとはファイル名で関連付けられるものとする。例えば、中間データのファイル名が“dataA.rpm”の場合に、ページインデックスリストのファイル名をdataA.xmlとする等が考えられる。
【００５４】
そして、印刷データ生成部２２２は、一括印刷処理用の中間データを生成し、一括印刷処理部２１４に対して、入力されたページインデックスリストと中間データとを出力すると共に、一括印刷処理の指示を行う。
【００５５】
一括印刷処理部２１４は、インターフェース部３５１と、データ入力部３５２と、中間データ分割部３５３と、印刷設定制御部３５４と、ページ制御情報生成部３５５と、分割データ保持部３５６と、ページ制御部３５８と、結合部３５９と、印刷制御部３６０と、を備える。
【００５６】
インターフェース部３５１は、プリンタドライバ２１２と通信するためのインターフェースとする。
【００５７】
データ入力部３５２は、印刷データ生成部２２２から、一括印刷処理の指示と共に、入力されたページインデックスリストと中間データとを入力処理する。
【００５８】
中間データ分割部３５３は、ページ識別部３６１を備え、入力された中間データに対して、ジョブヘッダ部分と、ページ毎の中間データと、に分解する。
【００５９】
ページ識別部３６１は、入力された中間データに対して、ジョブヘッダ部分と、ページ毎の中間データと、の区切りを識別する。そして、識別された区切りに基づいて、中間データ分割部３５３が、中間データに対して、ジョブヘッダ部分と、ページ毎の中間データと、に分解する。
【００６０】
図９は、中間データのデータ構造を示した図である。図９に示すように、中間データ９０１は、中間データのジョブヘッダ部分である"Job Header"及び"JobInfo"と、ページ毎の中間データである"Page Header(n)"、"Page Info(n)"、"Page Data(n)"とで構成される。そして、ページ識別部３６１が識別した区切りに応じて、中間データ分割部３５３が、中間データを分割していく。
【００６１】
中間データ分割部３５３が分割したページ毎のファイル名は、分割前の中間データのファイル名と、ページインデックスを示すサフィックスで構成する。例えば、分割前の中間データのファイル名を"data(.rpm)"とした場合、１ページ目の中間ファイル名を"data_A_001.rpm"とし、２ページ目の中間ファイル名を"data_A_002.rpm"とする。
【００６２】
図１０は、中間データ分割部３５３により分割された後の中間データのデータ構造を示した図である。図１０に示す例では、分割前の中間データのファイル名を"data_A.rpm"とする。そして、中間データ分割部３５３は、分割された後の中間データのジョブヘッダ部分のファイル名を"data_A_Header.rpm"とし、分割された後の中間データの各ページのファイル名を"data_A_(n).rpm"とする。
【００６３】
図１０に示すように、"data_A_001.rpm"は、１ページ目の中間データである"Page Header1"、"Page Info1"、"Page Data1"とで構成されていることを確認できる。
【００６４】
印刷設定制御部３５４は、入力された中間データに関し、印刷設定情報の取得や変更処理などを行う。印刷設定制御部３５４が行う印刷設定としては、例えばステープルの有無等とする。
【００６５】
ページ制御情報生成部３５５は、中間データ分割部３５３により分割された中間データと、入力されたページインデックスリストと、からページ管理リストと、ジョブ制御情報とを、生成する。ページ管理リストは、ページと、当該ページの中間データを示すファイル名との対応付けを管理するリストとする。ジョブ制御情報は、中間データの各ページを印刷制御するための情報とする。
【００６６】
図１１は、ページ制御情報生成部３５５が生成したページ管理リストの例を示した図である。図１１に示すように、ページ管理リストは、ページインデックスと、各ページを示す中間データのファイル名と、の対応付けを保持している。
【００６７】
図１２は、ページ制御情報生成部３５５が生成したジョブ制御情報の例を示した図である。図１２に示すように、ジョブ制御情報は、ジョブＩＤと、ページインデックスと、印刷設定と、を対応付けて保持している。ジョブＩＤは、印刷するページをまとめたジョブを識別するＩＤとする。ページインデックスは、ジョブ毎に印刷対象として並び替えられたページとする。印刷設定は、ジョブ毎の印刷に用いる設定情報とする。つまり、ジョブ制御情報は、印刷するページの順序と印刷に用いる設定とを保持している。
【００６８】
このジョブ制御情報は、ページ管理リスト及びページインデックスリストに基づいてページ制御情報生成部３５５が生成する。
【００６９】
例えば、図７に示すページインデックスリストから、ジョブ制御情報を生成する場合に、<SettingInfo>タグ内でキーワードが"Keyword1"と定義されていることから、ページ制御情報生成部３５５は、<Keyword1>タグで囲まれた文字列に基づいて、各ページをジョブ単位でまとめたジョブ制御情報を生成する。ただし、<Keyword1>タグで囲まれた文字列が、”山本”、”(なし)”の場合は印刷対象から省くように、ジョブ制御情報を生成する。
【００７０】
そして、ページ制御情報生成部３５５は、ページインデックスリストの<SettingInfo>タグに囲まれた情報を解釈した後、<PageInfo>タグで囲まれた情報を解釈し、キーワードに従ってページをまとめた後、まとめたページ毎にジョブＩＤを割り当てると共に、ジョブ毎の印刷設定を対応付けて、ジョブ制御情報を生成する。図１２で示すジョブ制御情報では、Keyword1＝“近藤”のページをジョブＩＤ“001”で、Keyword1＝“田中”のページをジョブＩＤ“002”で、Keyword1＝“山本”のページをジョブＩＤ“003”でまとめている。そして、Keyword1＝“山本”のページの印刷設定を“印刷なし”と設定することで、印刷対象から除外する。
【００７１】
分割データ保持部３５６は、中間データ分割部３５３により分割された後の中間データと、ページ制御情報生成部３５５で生成されたページ管理リスト及びジョブ制御情報と、を保持する。
【００７２】
ページ制御部３５８は、ページ削除部３７１と、ページ並替部３７２と、を備え、中間データの各ページの制御を行う。本実施の形態にかかるページ制御部３５８は、分割データ保持部３５６に保持された分割後の中間データに対して、ジョブ制御情報に従って各ページを制御する。例えば、ジョブ制御情報に、各ページの出力順を変更する情報が示されていれば、ページ制御部３５８は、各ページの出力順を変更する制御を行う。
【００７３】
ページ並替部３７２は、ジョブ制御情報に従って、ジョブ毎、つまり同じキーワードが含まれているページがまとめて出力されるよう、分割された各ページを示す中間データを並び替える。
【００７４】
ページ削除部３７１は、ジョブ制御情報に従って、印刷しない中間データを削除する。
【００７５】
結合部３５９は、ページ制御部３５８により制御された後の中間データの各ページを結合する。例えば、ページ並替部３７２がジョブ毎にページ毎の中間データを並び替えた場合に、結合部３５９は、ジョブ単位で、ジョブヘッダデータと、並び替えられた後のページ毎の中間データとを結合し、印刷制御用の中間データを生成する。
【００７６】
印刷制御部３６０は、インターフェース部３５１を介して、結合部３５９で結合された後の中間データを、プリンタドライバ２１２に対して出力し、印刷指示を行う。
【００７７】
次に、以上のように構成された本実施の形態にかかる情報処理装置１００におけるプリンタドライバ２１２が、アプリケーション２０１から印刷要求を受け付けてから、一括印刷処理部２１４に一括印刷処理要求を行うまでの処理について説明する。図１３は、本実施の形態にかかる情報処理装置１００における上述した処理の手順を示すフローチャートである。
【００７８】
まず、プリンタドライバ２１２の中間データ生成部２２１が、アプリケーション２０１から文書データと共に、印刷要求を受け付ける（ステップＳ１３０１）。この印刷要求は、描画デバイスＩ／Ｆ２１１を介して行われる。
【００７９】
次に、中間データ生成部２２１が、文書データからデータ解析可能な中間データを生成する（ステップＳ１３０２）。そして、中間データ生成部２２１は、生成した中間データを、データ処理設定部２１３に出力する。そして、データ処理設定部２１３の中間データ入力部３０４が中間データの入力を受け付けた場合に、文字列抽出部３０５が、入力された中間データから、文字列情報を抽出する（ステップＳ１３０３）。
【００８０】
そして、キーワード検出部３１１が、設定記憶部３０２に記憶された開始キーワードを読み出して、ステップＳ１３０３で抽出された文字列情報に開始キーワードが存在するか否かを検出する（ステップＳ１３０４）。存在しないと判定した場合（ステップＳ１３０４：Ｎｏ）、ステップＳ１３０７に進む。
【００８１】
そして、キーワード検出部３１１が、開始キーワードを検出した場合（ステップＳ１３０４：Ｙｅｓ）、設定記憶部３０２に記憶された終了キーワードを読み出して、開始キーワード以降の文字列情報から、終了キーワードを検索する（ステップＳ１３０５）。
【００８２】
そして、終了キーワードを検出した場合に、キーワード検出部３１１が、開始キーワードから終了キーワードまでの文字列を、印刷制御用のキーワードとして検出する（ステップＳ１３０６）。その後、キーワード検出部３１１は、キーワードを検出したページが最終ページであるか否かを判定する（ステップＳ１３０７）。最終ページではないと判定した場合（ステップＳ１３０７：Ｎｏ）、文字列抽出部３０５が抽出した文字列情報において、次のページの文字列情報まで移動し（ステップＳ１３０８）、再びステップＳ１３０４から処理を開始する。
【００８３】
一方、キーワード検出部３１１が、最終ページと判定した場合（ステップＳ１３０７：Ｙｅｓ）、ページインデックス生成部３０６が設定記憶部３０２に記憶された設定情報と、検出された各ページのキーワードと、に基づいて、ページインデックスリストを生成する（ステップＳ１３０９）。そして、データ出力部３０７が、インターフェース部３０３を介して、生成したページインデックスリストを、生成元の中間データと対応付けてプリンタドライバ２１２の印刷データ生成部２２２に出力する。
【００８４】
そして、印刷データ生成部２２２が一括印刷処理用の中間データを生成し（ステップＳ１３１０）、生成した中間データとページインデックスリストと共に、一括印刷処理の指示を、一括印刷処理部２１４に対して行う（ステップＳ１３１１）。
【００８５】
上述した処理手順により、一括印刷処理部２１４による処理が開始される。次に、本実施の形態にかかる一括印刷処理部２１４による処理について説明する。図１４は、本実施の形態にかかる一括印刷処理部２１４における処理の手順を示すフローチャートである。
【００８６】
まず、データ入力部３５２が、一括印刷処理の指示と共に、中間データとページインデックスリストとを入力処理する（ステップＳ１４０１）。次に、入力された中間データに対し、ページ識別部３６１がページ毎の区切りを識別した後、中間データ分割部３５３が、ページ毎の中間データに分割する（ステップＳ１４０２）。
【００８７】
そして、ページ制御情報生成部３５５が、分割された中間データに関するページ管理リストと、入力されたページインデックスリスト等に基づいたジョブ制御情報と、を生成する（ステップＳ１４０３）。
【００８８】
その後、ステップＳ１４０４〜Ｓ１４１０までの処理を、ジョブ制御情報に含まれるジョブ数だけループさせる。
【００８９】
このループ内において、ページ制御部３５８が、当該ジョブの印刷設定が“印刷なし”か否かを判定する（ステップＳ１４０５）。“印刷なし”と判定された場合（ステップＳ１４０５：Ｎｏ）、当該ジョブに含まれる中間データは印刷しないよう制御する。具体的には、ページ削除部３７１が、当該ジョブに含まれているページを示す、分割された中間データを、分割データ保持部３５６から削除する（ステップＳ１４０６）。
【００９０】
一方、ページ制御部３５８が、印刷設定を“印刷なし”ではないと判定した場合（ステップＳ１４０５：Ｙｅｓ）、ページ並替部３７２が、当該ジョブに含まれるページを示す、分割された中間データを並び替える（ステップＳ１４０７）。そして、結合部３５９が、並び替えた後の中間データを結合し、印刷用の中間データを生成する（ステップＳ１４０８）。
【００９１】
その後、印刷制御部３６０が、生成された印刷用の中間データによる印刷処理要求を、印刷データ生成部２２２に対して行う（ステップＳ１４０９）。その際、印刷制御部３６０は、当該中間データ毎に、印刷設定制御部３５４の印刷設定に基づいた印刷要求を行う。これにより、例えば、ジョブ単位でステープルの有無を制御できる。
【００９２】
上述した処理手順により、印刷データ生成部２２２が、生成された印刷用の中間データから、印刷データを生成し、プリンタ１５０に対して当該印刷データで印刷要求を行う。これにより、文書データについて、ジョブ毎（同一キーワード毎）にページが並び替えて印刷要求を行うことができる。
【００９３】
本実施の形態にかかる情報処理装置１００では、文書データを印刷する際に、当該文書データに含まれているページの順序変更や入れ替え、削除、挿入、仕分け等の印刷制御を自動的する。これにより、作業の効率化が可能となり、ユーザの操作負担を軽減させる。
【００９４】
本実施の形態にかかる情報処理装置１００では、ページの仕分けとして、ページのソートやステープルなどを行うこととした。これら仕分けが自動的に行うことを可能としたので、作業を効率化し、ユーザの負担を軽減させることができる。
【００９５】
図１５は、本実施の形態の情報処理装置１００のハードウェア構成を示す図である。図１５に示すように、本実施の形態の情報処理装置１００は、ＣＰＵ１５０１と、ＲＯＭ（Read  Only  Memory）１５０２と、ＲＡＭ(Random Access Memory)１５０３と、ネットワーク１６０と接続する通信Ｉ／Ｆ１５０４と、ＨＤＤ１５０５と、ディスプレイ装置などの表示部１５０６と、これらを接続するバス１５０７と、を備えており、通常のコンピュータを利用したハードウェア構成となっている。
【００９６】
本実施形態の情報処理装置１００で実行される印刷制御プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【００９７】
また、本実施形態の情報処理装置１００で実行される印刷制御プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施形態の情報処理装置１００で実行される印刷制御プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【００９８】
また、本実施形態の印刷制御プログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【００９９】
本実施の形態の情報処理装置１００で実行される印刷制御プログラムは、上述した各部（プリンタドライバ２１２、データ処理設定部２１３、及び一括印刷処理部２１４）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ１５０１が上記記憶媒体から印刷制御プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、プリンタドライバ２１２、データ処理設定部２１３、及び一括印刷処理部２１４が主記憶装置上に生成されるようになっている。
【符号の説明】
【０１００】
１００  情報処理装置
１５０  プリンタ
１６０  ネットワーク
２０１  アプリケーション
２１１  描画デバイスインターフェース
２１２  プリンタドライバ
２１３  データ処理設定部
２１４  一括印刷処理部
２１５  スプーラ
２２１  中間データ生成部
２２２  印刷データ生成部
３０１  設定受付部
３０２  設定記憶部
３０３  インターフェース部
３０４  中間データ入力部
３０５  文字列抽出部
３０６  ページインデックス生成部
３０７  データ出力部
３１１  キーワード検出部
３５１  インターフェース部
３５２  データ入力部
３５３  中間データ分割部
３５４  印刷設定制御部
３５５  ページ制御情報生成部
３５６  分割データ保持部
３５８  ページ制御部
３５９  結合部
３６０  印刷制御部
３６１  ページ識別部
３７１  ページ削除部
３７２  ページ並替部
【先行技術文献】
【特許文献】
【０１０１】
【特許文献１】特開２００６−１２７２８１号公報
【特許文献２】特開２００９−１４６３２１号公報
【図１】
0005577759.tif 000002
【図２】
0005577759.tif 000003
【図３】
0005577759.tif 000004
【図４】
0005577759.tif 000005
【図５】
0005577759.tif 000006
【図６】
0005577759.tif 000007
【図７】
0005577759.tif 000008
【図８】
0005577759.tif 000009
【図９】
0005577759.tif 000010
【図１０】
0005577759.tif 000011
【図１１】
0005577759.tif 000012
【図１２】
0005577759.tif 000013
【図１３】
0005577759.tif 000014
【図１４】
0005577759.tif 000015
【図１５】
0005577759.tif 000016