(57)【特許請求の範囲】
【請求項１】
文字列を含む文書を描画命令に変換する描画処理部と、
所定の文字列と、改頁命令の挿入条件の入力を受け付ける受付部と、
前記受付部で受け付けた入力に応じて、前記挿入条件を示す設定値が対応付けられた設定文字列を設定する設定部と、
前記描画命令から、前記設定文字列を検出し、検出した前記設定文字列に対応付けられた前記設定値に従って、前記改頁命令を挿入して前記描画命令を出力する改頁命令挿入部と、
前記改頁命令挿入部から出力された前記描画命令を画像形成装置にて印刷するための制御命令に変換する変換部と、を具備することを特徴とする、印刷データ生成装置。
【請求項２】
前記改頁命令挿入部は、検出した前記設定文字列に対応付けられた前記設定値の内容が、前記設定文字列に前記改頁命令を付加することを示す場合は、前記設定文字列に前記改頁命令を付加して前記描画命令を出力することを特徴とする、請求項１記載の印刷データ生成装置。
【請求項３】
前記改頁命令挿入部は、検出した前記設定文字列に対応付けられた前記設定値の内容が、前記設定文字列を前記改頁命令に置換することを示す場合は、前記設定文字列を前記改頁命令に置換して前記描画命令を出力することを特徴とする、請求項１記載の印刷データ生成装置。
【請求項４】
更に、前記改頁命令挿入部は、前記描画命令に含まれる前記設定文字列の配置情報も検出することを特徴とする、請求項１記載の印刷データ生成装置。
【請求項５】
更に、前記改頁命令挿入部は、前記文書の場所を識別する場所識別情報と前記設定文字列の組み合わせを検出することを特徴とする、請求項１記載の印刷データ生成装置。
【請求項６】
文字列を含む文書を描画命令に変換する描画処理ステップと、
所定の文字列と、改頁命令の挿入条件の入力を受け付ける受付ステップと、
前記受付ステップで受け付けた入力に応じて、前記挿入条件を示す設定値が対応付けられた設定文字列を設定する設定ステップと、
前記描画命令から、前記設定文字列を検出し、検出した前記設定文字列に対応付けられた前記設定値に従って、前記改頁命令を挿入して前記描画命令を出力する改頁命令挿入ステップと、
前記改頁命令挿入ステップにより出力された前記描画命令を画像形成装置にて印刷するための制御命令に変換する変換ステップと、を含むことを特徴とする、印刷データ生成方法。
【請求項７】
前記改頁命令挿入ステップは、検出した前記設定文字列に対応付けられた前記設定値の内容が、前記設定文字列に前記改頁命令を付加することを示す場合は、前記設定文字列に前記改頁命令を付加して前記描画命令を出力することを特徴とする、請求項６記載の印刷データ生成方法。
【請求項８】
前記改頁命令挿入ステップは、検出した前記設定文字列に対応付けられた前記設定値の内容が、前記設定文字列を前記改頁命令に置換することを示す場合は、前記設定文字列を前記改頁命令に置換して前記描画命令を出力することを特徴とする、請求項６記載の印刷データ生成方法。
【請求項９】
更に、前記改頁命令挿入ステップは、前記描画命令に含まれる前記設定文字列の配置情報も検出することを特徴とする、請求項６記載の印刷データ生成方法。
【請求項１０】
更に、前記改頁命令挿入ステップは、前記文書の場所を識別する場所識別情報と前記設定文字列の組み合わせを検出することを特徴とする、請求項６記載の印刷データ生成方法。
【請求項１１】
コンピュータを、
文字列を含む文書を描画命令に変換する描画処理部と、
所定の文字列と、改頁命令の挿入条件の入力を受け付ける受付部と、
前記受付部で受け付けた入力に応じて、前記挿入条件を示す設定値が対応付けられた設定文字列を設定する設定部と、
前記描画命令から、前記設定文字列を検出し、検出した前記設定文字列に対応付けられた前記設定値に従って、前記改頁命令を挿入して前記描画命令を出力する改頁命令挿入部と、
前記改頁命令挿入部から出力された前記描画命令を画像形成装置にて印刷するための制御命令に変換する変換部として機能させるためのプリンタドライバプログラム。
【請求項１２】
前記改頁命令挿入部は、検出した前記設定文字列に対応付けられた前記設定値の内容が、前記設定文字列に前記改頁命令を付加することを示す場合は、前記設定文字列に前記改頁命令を付加して前記描画命令を出力することを特徴とする、請求項１１記載のプリンタドライバプログラム。
【請求項１３】
前記改頁命令挿入部は、検出した前記設定文字列に対応付けられた前記設定値の内容が、前記設定文字列を前記改頁命令に置換することを示す場合は、前記設定文字列を前記改頁命令に置換して前記描画命令を出力することを特徴とする、請求項１１記載のプリンタドライバプログラム。
【請求項１４】
更に、前記改頁命令挿入部は、前記描画命令に含まれる前記設定文字列の配置情報も検出することを特徴とする、請求項１１記載のプリンタドライバプログラム。
【請求項１５】
更に、前記改頁命令挿入部は、前記文書の場所を識別する場所識別情報と前記設定文字列の組み合わせを検出することを特徴とする、請求項１１記載のプリンタドライバプログラム。
【請求項１６】
クライアントと文書データ生成サーバよりなる印刷データ生成システムであり、
前記クライアントは、
文字列を含む文書を描画命令に変換する描画処理部と、
所定の文字列と、改頁命令の挿入条件の入力を受け付ける受付部と、
前記受付部で受け付けた入力に応じて、前記挿入条件を示す設定値が対応付けられた設定文字列を設定する設定部と、
前記描画命令から、前記設定文字列を検出し、検出した前記設定文字列に対応付けられた前記設定値に従って、前記改頁命令を挿入して前記描画命令を出力する改頁命令挿入部と、
前記改頁命令挿入部から出力された前記描画命令を画像形成装置にて印刷するための制御命令に変換する変換部と、を備え、
前記文書データ生成サーバは、
前記クライアントの要求に応じて、所定の位置に強制的改頁コマンドを挿入する目印となる目標文字列を一つ以上内包した文書データを生成する文書データ生成部と、
前記文書データを前記クライアントへ送信する通信部と
を備えることを特徴とする、印刷データ生成システム。
【請求項１７】
前記改頁命令挿入部は、検出した前記設定文字列に対応付けられた前記設定値の内容が、前記設定文字列に前記改頁命令を付加することを示す場合は、前記設定文字列に前記改頁命令を付加して前記描画命令を出力することを特徴とする、請求項１６記載の印刷データ生成システム。
【請求項１８】
前記改頁命令挿入部は、検出した前記設定文字列に対応付けられた前記設定値の内容が、前記設定文字列を前記改頁命令に置換することを示す場合は、前記設定文字列を前記改頁命令に置換して前記描画命令を出力することを特徴とする、請求項１６記載の印刷データ生成システム。
【請求項１９】
更に、前記改頁命令挿入部は、前記描画命令に含まれる前記設定文字列の配置情報も検出することを特徴とする、請求項１６記載の印刷データ生成システム。
【請求項２０】
更に、前記改頁命令挿入部は、前記文書の場所を識別する場所識別情報と前記設定文字列の組み合わせを検出することを特徴とする、請求項１６記載の印刷データ生成システム。
【請求項２１】
前記文書データ生成部は、フィールドを二つ以上備えるテーブルの、一つ以上のフィールドの値にて前記テーブルのレコードを並べ替えた後、前記並べ替えたフィールドの値毎に前記目標文字列を付して前記文書データを生成することを特徴とする、請求項１６記載の印刷データ生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ｗｅｂブラウザ等の、改頁の概念を持たない文書データを印刷するプログラムに適用して好適な技術に関する。
より詳細には、強制的改頁の概念のない文書データに改頁コマンドを挿入する装置、方法、システム、プログラムに関する。
【背景技術】
【０００２】
従来のクライアント・サーバ型のシステムは、クライアントＰＣに専用のクライアントアプリケーションをインストールする必要があった。
これに対して、ｗｅｂアプリケーションベースのシステムでは、サーバ側でクライアントアプリケーションの画面をｈｔｍｌで生成し、クライアントＰＣはそれをダウンロードして表示するだけである。従って、クライアントＰＣには、基本的にはｗｅｂブラウザと周辺機器のドライバのみインストールすればよい。このことにより、従来必要であったソフトウェアの配布とそのインストール、そしてバージョンアップ等の必要がなくなる。
これら利点により、最近の企業の業務アプリケーションはｗｅｂアプリケーションで実現される事が増えている。その際、ユーザが操作するクライアントＰＣの操作画面の実体はｗｅｂブラウザである事が多い。
また、業務アプリケーションをサービスとして、インターネット経由で提供するＡＳＰ（Application Service Provider）も普及し始めている。この場合もユーザの操作画面はｗｅｂブラウザである事が多い。
【０００３】
通常、業務アプリケーション等におけるデータ参照用の画面では、ユーザが全体を確認しやすいように所定のテーブルについて表形式の一覧表示を行う。
しかし、いざ帳票として印刷する際には、業務で使用する単位毎に、別のページとして印刷した方が使いやすい事が多い。また、発注先等に送付する帳票を作成するには、所定のテーブルの内容を発注先毎に分けて印刷しなければならない。
このような帳票印刷を実現したい場合は、クライアント・サーバ型では、クライアントアプリケーションで表示画面とは関係なく帳票を作成することができる。
ところが、ｗｅｂアプリケーションの場合は、基本的にｗｅｂブラウザに表示されている内容そのままでしか印刷できない。改ページは、ブラウザやプリンタドライバによって決められた位置で改ページされるため、そのまま印刷しても、望み通りのページに分けて印刷する事はできない。これは、ｈｔｍｌという言語仕様にページの概念がないことに起因する。
ｈｔｍｌという言語仕様は、文書を構造化することを意図して策定されている。そこには、紙に印刷する際の、ページの概念がない。このため、所定の内容だけ一枚の紙に印刷し、次の内容は新たな紙に印刷する、という、帳票出力には全く向いていない。
なお、印刷システムの一例を特許文献１に開示する。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来、ｗｅｂブラウザで帳票出力を行わせようとするには、以下の二通りの方法があった。
（１）業務で使用する単位毎に、印刷用ｗｅｂページ（ｈｔｍｌ文書）を表示して、各画面を印刷する。
ｗｅｂブラウザ表示ではページの概念がない。帳票のページを分けたい場合は、別の画面として表示する必要がある。そこで、業務で使用する単位毎に、印刷用ページを表示して、各画面を印刷する。
例えば、複数の業者に向けた帳票出力の場合は、その業者毎に印刷用ｗｅｂページを作成し、表示して、印刷をする。
この方法では、業務単位毎に何度も操作をする必要がある。これはユーザへの負荷が大きい。
上述の場合、帳票送付先の業者が沢山いれば、印刷業務を行う担当者の負荷は非常に大きくなる。
【０００５】
（２）サーバ側で、帳票出力である印刷用ｈｔｍｌ文書を、一旦ページ概念を持つ別形式の文書に変換する。
ｗｅｂブラウザは当該文書をダウンロードして、ビューア等と呼ばれる専用の閲覧プログラムにて表示及び印刷を行う。一例としては、Adobe（登録商標） Systems社のＰＤＦ（Portable Document Format）と、これを表示・印刷するAdobe（登録商標）  Readerが挙げられる。
この方法では、クライアントＰＣにビューアをインストールする必要がある。
また、ｈｔｍｌ文書に比べて、ｗｅｂサーバにおける帳票生成の処理負荷が高い。そのため、帳票印刷が短時間に集中するようなアプリケーションでは、ピーク時の負荷に合わせてサーバの処理能力を増強する必要があり、設備投資に伴うコスト増に直結してしまう。
【０００６】
本発明はかかる点に鑑みてなされたものであり、極めて効率的に、帳票印刷を実現するための、印刷データ生成装置、印刷データ生成方法、プリンタドライバプログラムおよび印刷データ生成システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するための本発明は、文字列を含む文書を描画命令に変換する描画処理部と、所定の文字列と、改頁命令の挿入条件の入力を受け付ける受付部と、前記受付部で受け付けた入力に応じて、前記挿入条件を示す設定値が対応付けられた設定文字列を設定する設定部と、前記描画命令から、前記設定文字列を検出し、検出した前記設定文字列に対応付けられた前記設定値に従って、前記改頁命令を挿入して前記描画命令を出力する改頁命令挿入部と、前記改頁命令挿入部から出力された前記描画命令を画像形成装置にて印刷するための制御命令に変換する変換部と、を具備することを特徴とする。
【０００８】
ｈｔｍｌという言語仕様は、文書を構造化することを意図して策定されている。そこには、紙に印刷する際の、ページの概念がない。このため、所定の内容だけ一枚の紙に印刷し、次の内容は新たな紙に印刷する、という、帳票出力には全く向いていない。
そこで、改頁に相当する文書の位置を特定する文字列を定め、印刷処理の前段階のデータから当該文字列を検出し、そこに改頁コマンドを挿入する処理をプリンタドライバ等に追加する。
【発明の効果】
【０００９】
本発明により、極めて効率的に帳票印刷を実現するための、印刷データ生成装置、印刷データ生成方法、プリンタドライバプログラムおよび印刷データ生成システムを提供できる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施の形態による、文書印刷システムの概略図である。
【図２】クライアントＰＣの内部の機能ブロック図である。
【図３】プリンタドライバの内部の機能ブロック図である。
【図４】改頁命令挿入部の動作を示すフローチャートである。
【図５】本実施形態によってなされる帳票出力の流れをイメージにて示す概略図である。
【図６】本実施形態によってなされる帳票出力の流れをイメージにて示す概略図である。
【図７】帳票出力の別の形態を示す概略図である。
【図８】プリンタドライバの表示画面の一例である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態を、図１〜図８を参照して説明する。
なお、以下の説明において、「コマンド」と「命令」は同義である。
一般的には「描画コマンド」よりも「描画命令」と言われることが多い。
「プリンタ制御命令」と「プリンタ制御コマンド」はどちらも同程度の頻度にて用いられる。
これらはいずれも同じ意味である。
【００１２】
図１は、本実施の形態の例である、文書印刷システムの概略図である。
文書印刷システム１０１は、ｗｅｂベースのクライアント・サーバシステムである。
アプリケーションサーバ１０２はｗｅｂサーバを構成する。
ｗｅｂサーバプログラム１０３は、ＴＣＰ／ＩＰネットワーク１０８を通じて来るクライアントの要求に応じ、ｈｔｍｌ文書を送信したり、ｃｇｉ（Common  Gateway  nterface：ｗｅｂサーバがｗｅｂブラウザの要求に応じて、プログラムを起動するための仕組み。）を実行したりする。一例としてはＡｐａｃｈｅ(http://www.apache.org/)等である。
クライアントはｗｅｂブラウザが稼動するＴＣＰ／ＩＰネットワーク１０８の端末であり、主にパソコン（以下「クライアントＰＣ」）よりなる。クライアントＰＣ１０４は、ＴＣＰ／ＩＰネットワーク１０８と接続する機能を有するＯＳが稼動する。ＯＳは例えば、マイクロソフト社のＷｉｎｄｏｗｓ（登録商標）である。
ｗｅｂブラウザ１０５は、ＯＳが備えるネットワークプロトコルスタック１０６と、ＮＩＣ（Network Interface Card）１０７と、ＴＣＰ／ＩＰネットワーク１０８を通じて、アプリケーションサーバ１０２からｈｔｍｌ文書１０９や、ｃｇｉ１１０から得られるｈｔｍｌデータを受信し、図示しない画面に表示する。
【００１３】
操作者がクライアントＰＣ１０４のｗｅｂブラウザ１０５を操作して、図示しない印刷指令コマンドを発行すると、ｗｅｂブラウザ１０５は画面に表示しているｈｔｍｌ文書（ｈｔｍｌ文書１０９或はｃｇｉ１１０から得られるｈｔｍｌデータ等）について、ｗｅｂブラウザ１０５内部のレンダリング処理部１１１を用いて、印刷命令とそのためのデータを生成し、描画処理部１１２に出力する。
描画処理部１１２はこれを受けて、描画命令を作成し、プリンタドライバ１１３に送信する。このときの描画命令は、プリンタのメーカーや機種に依存しない、ＯＳ内で共通の規格に基づく描画命令である。Ｗｉｎｄｏｗｓ（登録商標）においては、ＧＤＩ（Graphics  Device  Interface）という描画処理機構が該当する。
【００１４】
プリンタドライバ１１３は前述の描画命令を受けて、プリンタ１１６に依存する印刷データを作成する。プリンタ１１６は各メーカー毎或は各機種毎に異なる「プリンタ制御言語」を実装しており、プリンタドライバ１１３は、描画処理部１１２が生成したプリンタ１１６に非依存の描画命令を、プリンタ制御言語に準拠した印刷データへ変換する作業を行う。
【００１５】
印刷データはポートモニタ１１４を通じて、インターフェース１１５に接続されているプリンタ１１６に送信される。
ポートモニタ１１４はプリンタ１１６が接続されるインターフェース１１５とプリンタドライバ１１３との間を取り持つ機能を有する。プリンタ１１６が、クライアントＰＣ１０４に備わっているパラレルポート、ＵＳＢ、或はＴＣＰ／ＩＰネットワーク等のいずれかに繋がっている際、ポートモニタ１１４はプリンタドライバ１１３が生成した印刷データを適切に目的のプリンタ１１６が繋がっているインターフェースへ送信する。つまり、インターフェース１１５はこれらを含め、任意のものが利用可能である。
【００１６】
図２はクライアントＰＣ１０４の内部の機能ブロック図である。図１のクライアントＰＣ１０４の内部をより詳細に説明するものである。但し、ネットワークプロトコルスタック１０６とＮＩＣ１０７については図示を省略している。
図１では図示を省略していたが、プリンタドライバ１１３は動作の際に、一時スプールファイル２０２とプリンタスプールファイル２０３の作成、読み出し及び削除を行う。そして、プリンタスプールファイル２０３の作成の際には、必要に応じてフォントライブラリ２０４を読み込む。
【００１７】
図３はプリンタドライバ１１３の内部の機能ブロック図である。図２のプリンタドライバ１１３の内部を詳細に説明するものである。
描画処理部１１２が生成したプリンタ非依存描画命令は、一時スプール変換部３０２にて一時スプールファイル２０２に変換される。
描画処理部１１２が全てのプリンタ非依存描画命令を発行し尽くし、一時スプール変換部３０２が受信したプリンタ非依存描画命令を一時スプールファイル２０２に変換し終わったら、一時スプールファイル２０２のデータは入力バッファ３０３に、先頭から順次、少しずつ取り込まれる。なお、プリンタドライバによっては、一時スプール変換部３０２による一時スプールファイル２０２の作成完了を待たずに、一時スプールファイル２０２のデータ量がある程度溜まると、入力バッファ３０３にデータを読み込んで処理を開始するものもある。いわゆる「先読み処理」といわれるものである。
一旦保持された入力バッファ３０３の内容は、評価用バッファ３０４にそのまま複写（コピー）される。
評価用バッファ３０４の内容は、描画コマンド削除フィルタ３０５によって、描画命令部分が削除され、文字列データのみが残される。
次に、評価用バッファ３０４の内容は、文字列検索部３０６によって設定キーワード３０７と一致する文字列が検索される。
ここで、設定キーワード３０７はキーワードテーブル３０８から選択的に読み込まれるものである。
【００１８】
文字列検索部３０６で設定キーワード３０７（検索対象文字列）が見つかると、キーワードテーブル３０８に保持されている設定値３０９に従って、改頁コマンド挿入部３１０を稼動させ、入力バッファ３０３に保持されている当該設定キーワード部分に対し、改頁コマンドを挿入する。なお、当該設定キーワード部分を改頁コマンドで置換してもよい。
この動作の詳細は図４にて後述する。
こうして改頁コマンドが埋め込まれた一時スプールファイル２０２のデータは、プリンタ制御言語インタプリタ３１１に渡され、プリンタ制御コマンド群に変換される。なお、一時スプールファイル２０２のデータのうちの文字列の部分は、フォントライブラリ２０４からフォントデータが読み込まれ、ビットマップデータに展開される。
なお、一部フォントでは、テキストの文字コードのままプリンタまで送信され、プリンタに内蔵されたフォントのビットマップに置き換えられて印字されるものもある。
【００１９】
プリンタ制御言語インタプリタ３１１によって生成されたプリンタ制御コマンド群は、プリンタスプールファイル２０３に蓄積される。
プリンタ制御言語インタプリタ３１１は、プリンタスプールファイル２０３にプリンタ制御コマンド群を出力し終えると、プリンタスプールファイル２０３のデータを内部の図示しないバッファに、先頭から順次、少しずつ取り込み、ポートモニタ１１４へ出力する。
【００２０】
ここで、評価用バッファ３０４及び描画コマンド削除フィルタ３０５の役目を説明する。所定の文章（文字列）が含まれているｈｔｍｌ文書を基に作成されるプリンタ非依存描画命令の中身は、文字コードと、その文字をどのように紙面に描画するかを指定する描画命令（「制御コード」とも呼ばれる）にて構成される。例えば、図５にて後述する印刷文書中の「生産指示書」という文字列は、描画処理部１１２によって、
・フォント指定情報、文字の位置指定情報、文字の大きさ指定情報、「生」という文字の文字コード、
・フォント指定情報、文字の位置指定情報、文字の大きさ指定情報、「産」という文字の文字コード、
・フォント指定情報、文字の位置指定情報、文字の大きさ指定情報、「指」という文字の文字コード、
・フォント指定情報、文字の位置指定情報、文字の大きさ指定情報、「示」という文字の文字コード、
・フォント指定情報、文字の位置指定情報、文字の大きさ指定情報、「書」という文字の文字コード、
という具合に変換される。
このままでは、「生産指示書」という文字列との一致を探そうと試みても、フォント指定情報、文字の位置指定情報及び文字の大きさ指定情報が邪魔をして、機械的に文字列一致を判定することが困難である。
そこで、評価用バッファ３０４を設け、入力バッファ３０３の中身を評価用バッファ３０４にコピーした後、文字列検索に邪魔な制御コードを削除して、本来の「生産指示書」という文字列に復元してから、文字列検索部３０６にて文字列検索処理を行う。
【００２１】
なお、 改頁命令挿入部３１２をプログラムとして実装するためのソースコードを書く際には、入力バッファ３０３が入力されるデータを保持する第１の変数として、評価用バッファ３０４が第１の変数の中身をコピーされる第２の変数として実装される。
【００２２】
従来のプリンタドライバ１１３は、描画処理部１１２から発されるプリンタ非依存描画命令を、一時スプール変換部３０２にて一時スプールファイル２０２に変換したら、一時スプールファイル２０２の内容をそのままプリンタ制御言語インタプリタ３１１に渡して、プリンタスプールファイル２０３を生成していた。
本実施形態では、一時スプール変換部３０２とプリンタ制御言語インタプリタ３１１の間に、改頁命令挿入部３１２を新規に設けている。
【００２３】
図４は改頁命令挿入部３１２の動作を示すフローチャートである。
処理を開始すると（Ｓ４０１）、入力バッファ３０３に一時スプールファイル２０２のデータを必要量だけ取り込む（Ｓ４０２）。この「必要量」は、最低限、設定キーワード３０７のバイト数を越えるデータ量が必要である。
次に、入力バッファ３０３の内容を評価用バッファ３０４にコピーする（Ｓ４０３）。次に、文字列検索の便宜のため、評価用バッファ３０４の内容から描画コマンドを削除する（Ｓ４０４）。
そして、文字列検索を行う。評価用バッファ３０４に設定キーワード３０７はあるか否か、を見る（Ｓ４０５）。
【００２４】
もし、設定キーワード３０７（検索対象文字列）が評価用バッファ３０４の中にあれば、次に設定値３０９の内容に従って、改頁コマンドを挿入する動作を行う。
先ず、設定値３０９の内容が設定キーワード３０７の前に改頁コマンドを挿入する設定になっているか否かを見る（Ｓ４０６）。そうであるなら、入力バッファ３０３内の設定キーワード３０７に該当するデータの前の位置に改頁コマンドを挿入する（Ｓ４０７）。
【００２５】
次に、設定値３０９の内容が設定キーワード３０７の前に改頁コマンドを挿入する設定になっていなければ（Ｓ４０６のＮ）、設定値３０９の内容が設定キーワード３０７の後に改頁コマンドを挿入する設定になっているか否かを見る（Ｓ４０８）。そうであるなら、入力バッファ３０３内の設定キーワード３０７に該当するデータの後の位置に改頁コマンドを挿入する（Ｓ４０９）。
【００２６】
更に、設定値３０９の内容が設定キーワード３０７の後に改頁コマンドを挿入する設定になっていなければ（Ｓ４０８のＮ）、それは設定値３０９の内容が設定キーワード３０７を削除して改頁コマンドを挿入する設定になっていることを意味する。そこで、入力バッファ３０３内の設定キーワード３０７に該当するデータを改頁コマンドで置換する（Ｓ４１０）。
【００２７】
もし、設定キーワード３０７（検索対象文字列）が評価用バッファ３０４の中になければ（Ｓ４０５のＮ）、改頁コマンドの挿入等は行わない。
【００２８】
そして、上述の動作（Ｓ４０７、Ｓ４０９、Ｓ４１０、Ｓ４０５のＮ）を行った後、入力バッファ３０３の内容をプリンタ制御言語インタプリタ３１１に出力する（Ｓ４１１）。
入力バッファ３０３にデータを取り込む動作は、一時スプールファイル２０２のデータの処理を全て終わるまでループ処理を行い（Ｓ４１２のＮからＳ４０２）、処理すべきデータがなくなれば（Ｓ４１２のＹ）、終了する（Ｓ４１３）。
【００２９】
なお、ステップＳ４０７の、入力バッファ３０３内の設定キーワード３０７に該当するデータの前の位置に改頁コマンドを挿入する動作は、文書内の最初の設定キーワードには改頁コマンドを挿入しないことが望ましい。無駄に白紙を出力しないためである。
【００３０】
本実施形態は、ｗｅｂブラウザ１０５の印刷機能を、帳票出力に対応させることができるものである。
ｈｔｍｌという言語仕様は、文書を構造化することを意図して策定されている。そこには、紙に印刷する際の、ページの概念がない。このため、所定の内容だけ一枚の紙に印刷し、次の内容は新たな紙に印刷する、という、帳票出力には全く向いていない。
しかし、本実施形態では、改頁に相当する文書の位置を特定する文字列を定めておけば、プリンタドライバ１１３内部の改頁命令挿入部３１２がそこに改頁コマンドを挿入してくれる。
本実施形態は、ＡＳＰ（Application Service Provider：ビジネス用のアプリケーションソフトをインターネットを通じて顧客にレンタルする事業者。）サービス等、ｗｅｂサーバ上に業務システムを構築した際の、帳票出力において、効果的である。
【００３１】
図５（ａ）及び（ｂ）、図６（ｃ）及び（ｄ）は本実施形態によってなされる帳票出力
の流れをイメージにて示す概略図である。
先ず、クライアントＰＣ１０４のｗｅｂブラウザ１０５で、アプリケーションサーバ１０２内の所定のｃｇｉ１１０をアクセスし、受注一覧画面を表示する。これが図５（ａ）の受注一覧画面５０１である。
図５（ａ）の受注一覧画面５０１には、一覧ｈｔｍｌ文書５０３の中にテーブル５０４が表示されている。このテーブル５０４には、「商品コード」フィールド５２２と、「商品名」フィールド５２３と、「数量」フィールド５２４と、「顧客コード」フィールド５２５が存在する。
【００３２】
表示されている受注一覧画面５０１の中にある「印刷用ページ」と記されているリンク５０２をマウスでクリックすると、ｃｇｉ１１０は、「商品コード」フィールド５２２の値で各レコードを並べ替え（ソート）した後、「商品コード」フィールド５２２の値毎に分けて表示する、帳票用ｈｔｍｌ文書５０６を作成する。この文書を表示した画面が図５（ｂ）の印刷用画面５０５である。
帳票用ｈｔｍｌ文書５０６は、帳票を想定した記載形態になっている。帳票のタイトルとして、「生産指示書」という目標文字列５０７が比較的大きなフォントにて表示されている。
【００３３】
予め、プリンタドライバ１１３の設定で、「生産指示書」という文字列を設定キーワードとして、設定キーワードの前に改頁コマンドを挿入する設定にて、登録しておく。そして、図５（ｂ）の帳票用ｈｔｍｌ文書５０６に対し、印刷を実行すると、ｗｅｂブラウザ１０５の画面には表示されないものの、印刷データの内容は、図６（ｃ）に示すように、目標文字列５０７である文字列「生産指示書」の直前に改頁コマンド６１２が挿入される。図６（ｃ）中「＜改頁＞」と記されている部分は、実際には表示できないデータ列である改頁コマンド６１２を仮に表示しているものである。前述の通り、無駄に白紙を出さないため、最初のキーワードには改頁コマンド６１２は挿入されていない。
図６（ｃ）の印刷データ、すなわちプリンタスプールファイル２０３の中身はプリンタ１１６に送信され、印刷と適切な改頁が行われる。この結果、図６（ｄ）のような出力結果６１５、６１６及び６１７が得られる。
【００３４】
すなわち、アプリケーションサーバ１０２中のｃｇｉ１１０は、クライアントＰＣ１０４の要求に応じて、所定の位置に強制的改頁コマンド６１２を挿入する目印となる目標文字列５０７を一つ以上内包した文書データ（帳票用ｈｔｍｌ文書５０６）を生成する、文書データ生成部として機能する。
そして、ｗｅｂサーバプログラム１０３は、ＴＣＰ／ＩＰネットワーク１０８を通じて、クライアントＰＣ１０４に、文書データである帳票用ｈｔｍｌ文書５０６を送信する。
【００３５】
図７は、帳票出力の別の形態を示す概略図である。
図５（ｂ）に示した帳票用ｈｔｍｌ文書５０６は、各帳票毎に統一されたタイトルが付されていた。
しかし、図７に示す帳票用ｈｔｍｌ文書７０１は、各帳票毎に統一されたタイトルが付されていない。
そこで、改頁コマンドを挿入したい位置に、特徴的な文字列を挿入する。これが改頁用文字列７０２である。図７では「＜％＃＄」という、特殊記号を規則的に列挙した文字列である。これを改頁コマンドにて置換すると、図６（ｄ）に示される形態にほぼ等しい帳票出力を得ることができる。
【００３６】
図８はプリンタドライバ１１３の表示画面の一例である。
プリンタドライバ１１３の設定項目は多岐に渡る。設定画面は、これをタブボタンで切り替えて表示するように構成されている。
「キーワード改ページ」タブボタン８０２をクリックすると、図８に示す設定画面８０１が表示される。
「キーワード一覧」欄８０３は、設定したキーワードが列挙表示される部分である。
「キーワード入力・編集」欄８０４は、キーワードの入力及び編集を行うための入力欄である。
設定欄８０５は三択のボタンとチェックボックスを備える。
「追加」ボタン８０６は、設定キーワード３０７を新たに追加するためのボタンである。
「編集」ボタン８０７は、既に「キーワード一覧」欄８０３にある設定キーワード３０７を編集後、新たに編集した内容にて上書きするためのボタンである。
「削除」ボタン８０８は、「キーワード一覧」欄８０３にある設定キーワード３０７のうち、選択したものを削除するためのボタンである。
【００３７】
「キーワード一覧」欄８０３中に列挙されるキーワードは、例えば周知の正規表現（regular  expression：文字列のパターンを表現する表記法）が利用可能である。図８においては、「^」は行頭を、「$」は行末を表現する、メタキャラクタ（通常の文字とは異なる機能的意味を持つ文字）である。「\」はメタキャラクタの機能を打ち消す。
図８中、「^生産指示書$」と記されている文字列は、行頭から「生産指示書」と書かれ、その直後に改行が付されている条件を示す。
同様に、図８中、「^<%#\$$」と記されている文字列は、行頭から「<%#$」と書かれ、その直後に改行が付されている条件を示す。
これら設定キーワード３０７毎に、設定欄８０５にて条件が設定される。
【００３８】
「キーワード一覧」欄８０３に列挙記載されている設定キーワード３０７は、設定欄８０５にて指定された設定値と共に、キーワードテーブル３０８に格納される。
つまり、キーワードテーブル３０８は、最低限、キーワードフィールドと設定値フィールドが存在するレコードの集合体である。
前述の図５のステップＳ４０５では、設定キーワード３０７が複数設定されている場合は、それら設定キーワード毎に文字列検索処理が行われる。
【００３９】
本実施形態には、以下のような応用例が考えられる。
（１）アプリケーションサーバ１０２（ｗｅｂサーバ）が出力するデータの形態は、ｈｔｍｌに限られない。ＸＭＬでもよいし、プレーンテキストでもよい。ｗｅｂブラウザ１０５が所定のプラグインソフトウェアに代用されることなく、ｗｅｂブラウザ１０５自身の機能として印刷を実行する際、強制的な改頁制御を行わないデータ形式であればなんでもよい。
【００４０】
（２）印刷を実行するソフトウェアは、ｗｅｂブラウザに限らない。
例えば、Ｗｉｎｄｏｗｓ（登録商標）に標準添付される「メモ帳」というテキストエディタには、テキストエディタであるが故に改頁機能がない。しかし、本実施形態のプリンタドライバを使用すれば、プレーンテキストに対して極めて容易に改頁機能を追加することができる。そして、その際に用いる改頁用キーワードの設定もユーザの完全な自由裁量で決定できるので、極めて便利である。
【００４１】
（３）改頁命令挿入部３１２による改頁コマンド挿入処理は、ｗｅｂブラウザやテキストエディタ等のアプリケーションソフトウェア毎にオン・オフ制御するように構成するとよい。
例えば、ワープロソフトにはそれ自体に改頁機能が備わっているので、本実施形態による改頁コマンド挿入処理は却って邪魔になる。このような場合、プリンタドライバ１１３は、アプリケーションソフトウェアの種別或は名前を識別して、改頁コマンド挿入処理のオン・オフを制御するように構成すると、便利である。また、改頁コマンド挿入処理を行うアプリケーションソフトウェアをプリンタドライバ１１３に設定できるように構成すると、なおよい。
【００４２】
（４）特にｗｅｂブラウザ１０５においては、改頁命令挿入部３１２による改頁コマンド挿入処理及び設定キーワード３０７を、ｈｔｍｌ文書のＵＲＩ（Uniform  Resource  Identifier）毎に指定可能なように構成することができる。
プリンタドライバ１１３は、キーワードテーブル３０８にＵＲＩフィールドを設ける。
ドメインを指定した処理を行わせる都合上、ＵＲＩフィールドに正規表現を利用可能にするとなおよい。また、一つのキーワードについて複数のＵＲＩを指定可能にすることが望ましい。
つまり、図１を例にとれば、改頁命令挿入部３１２の動作を、アプリケーションサーバ１０２のＵＲＩに限定して処理させることとなる。
プリンタドライバ１１３は、ｗｅｂブラウザ１０５から印刷対象のｈｔｍｌ文書のＵＲＩを取得すると、キーワードテーブル３０８内のＵＲＩフィールドを見て、該当する設定キーワード３０７を抽出する。
設定キーワード３０７を対象とする改頁コマンド挿入・置換処理をＵＲＩで限定することで、プリンタドライバ１１３が不用意に任意のｈｔｍｌ文書（ｗｅｂリソース）に改頁コマンド挿入処理を起動させないようにすることができる。そして、これと共に、前述の図５のステップＳ４０５において、設定キーワード３０７が複数設定されている場合は、必要最低限の設定キーワードに限って文字列検索処理を行うこととなり、効率のよい処理が行われる。
【００４３】
（５）プリンタドライバ１１３は、印刷データを生成する代わりに、複数のファイルに変換して出力することもできる。ｈｔｍｌ文書中にメールアドレスを埋め込み、改頁の代わりに複数のファイルに変換し、ＳＭＴＰ（Simple Mail Transfer Protocol）サーバプログラムに、メールアドレスと共に引き渡す。
【００４４】
（６）描画コマンド削除フィルタ３０５は、文字の位置指定情報だけ残して、文字列検索部３０６では文字列の位置の指定を伴う検索を実行させることができる。
【００４５】
（７）ポートモニタ１１４に、改頁命令挿入部３１２を持たせることができる。この場合、入力されるデータはビットマップデータと、一部テキストデータが混在するデータになるので、設定キーワード３０７に代えて、所定量のビットマップデータ等のデータパターンを指定することとなる。
【００４６】
（８）ｈｔｍｌ文書のコメントを用いて、改頁制御を行わせることもできる。
ｈｔｍｌ規格において、「<!-- 」で始まり「 -->」で終わるタグはコメントを意味し
、これらタグに囲まれた文字列はｗｅｂブラウザ１０５には表示されない。
このコメントに、図７の改頁用文字列７０２と同様の、特徴的な文字列を記載する。
ｗｅｂブラウザ１０５には、追加機能を提供するプラグインソフトウェアを導入する。
当該プラグインソフトウェアは、コメント中の特定文字列を検出し、改頁命令に変換し
て、描画処理部１１２に出力する。
この場合、プリンタドライバ１１３には改頁命令挿入部３１２が不要になる代わりに、
当該プラグインソフトウェアが改頁命令挿入部としてｗｅｂブラウザ１０５に含まれるこ
ととなる。したがって、コメントでなくとも、図５、図６及び図７に示したような、前述
の実施形態と同様の改頁処理を行うことができる。
【００４７】
（９）プリンタドライバ１１３は、改頁処理と共に用紙の種類と印刷方向等を指定することもできる。
【００４８】
本実施形態においては、文書印刷システムを開示した。
従来、ｈｔｍｌ文書を帳票印刷するには、ｐｄｆファイル等に変換する等、アプリケーションサーバ及びクライアントＰＣの負担が大きかった。本実施形態では、キーワードを設定して、そのキーワードに改頁コマンドを挿入する処理を追加した。このため、ｐｄｆ等への変換処理を不要にし、極めて簡便に、且つ汎用性の高い処理にて、改頁の概念のないｈｔｍｌ文書のような文書データに、適切な改頁処理を施すことができる。
本実施形態により、帳票出力を伴う業務アプリケーションシステムを、従来と比べて効率的に、且つ迅速に実現できる。
また、本実施形態により、テキストエディタ等の強制的改頁の機能を持たないアプリケーションプログラムに対し、当該アプリケーションプログラム自体の改変を一切することなく、容易に強制的改頁機能を追加することができる。
【００４９】
以上、本発明の実施形態例について説明したが、本発明は上記実施形態例に限定されるものではなく、特許請求の範囲に記載した本発明の要旨を逸脱しない限りにおいて、他の変形例、応用例を含むことは言うまでもない。
【符号の説明】
【００５０】
１０１…文書印刷システム、１０２…アプリケーションサーバ、１０３…ｗｅｂサーバプログラム、１０４…クライアントＰＣ、１０５…ｗｅｂブラウザ、１０６…ネットワークプロトコルスタック、１０７…ＮＩＣ、１０８…ＴＣＰ／ＩＰネットワーク、１０９…ｈｔｍｌ文書、１１０…ｃｇｉ、１１１…レンダリング処理部、１１２…描画処理部、１１３…プリンタドライバ、１１４…ポートモニタ、１１５…インターフェース、１１６…プリンタ、２０２…一時スプールファイル、２０３…プリンタスプールファイル、２０４…フォントライブラリ、３０２…一時スプール変換部、３０３…入力バッファ、３０４…評価用バッファ、３０５…描画コマンド削除フィルタ、３０６…文字列検索部、３０７…設定キーワード、３０８…キーワードテーブル、３０９…設定値、３１０…改頁コマンド挿入部、３１１…プリンタ制御言語インタプリタ、３１２…改頁命令挿入部、５０１…受注一覧画面、５０２…リンク、５０３…一覧ｈｔｍｌ文書、５０４…テーブル、５０５…印刷用画面、５０６、７０１…帳票用ｈｔｍｌ文書、５０７…目標文字列、５２２…「商品コード」フィールド、５２３…「商品名」フィールド、５２４…「数量」フィールド、５２５…「顧客コード」フィールド、６１２…改頁コマンド、６１５、６１６、６１７…出力結果、７０２…改頁用文字列、８０１…設定画面、８０２…「キーワード改ページ」タブボタン、８０３…「キーワード一覧」欄、８０４…「キーワード入力・編集」欄、８０５…設定欄、８０６…「追加」ボタン、８０７…「編集」ボタン、８０８…「削除」ボタン
【先行技術文献】
【特許文献】
【００５１】
【特許文献１】特開２００４−５４３６６号公報
【図１】
0005459383.tif 000002
【図２】
0005459383.tif 000003
【図３】
0005459383.tif 000004
【図４】
0005459383.tif 000005
【図５】
0005459383.tif 000006
【図６】
0005459383.tif 000007
【図７】
0005459383.tif 000008
【図８】
0005459383.tif 000009