説明

印刷データ生成装置、印刷データ生成方法、プリンタドライバプログラム、文書データ生成サーバ、文書データ生成方法、文書データ生成プログラム及び印刷データ生成システム

【課題】html文書は、帳票出力には向いていない。
【解決手段】改頁に相当する文書の位置を特定する文字列を定め、印刷処理の前段階のデータから当該文字列を検出し、そこに改頁コマンドを挿入する処理をプリンタドライバ等に追加する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、webブラウザ等の、改頁の概念を持たない文書データを印刷するプログラムに適用して好適な技術に関する。
より詳細には、強制的改頁の概念のない文書データに改頁コマンドを挿入する装置、方法、システム、プログラムに関する。
【背景技術】
【0002】
従来のクライアント・サーバ型のシステムは、クライアントPCに専用のクライアントアプリケーションをインストールする必要があった。
これに対して、webアプリケーションベースのシステムでは、サーバ側でクライアントアプリケーションの画面をhtmlで生成し、クライアントPCはそれをダウンロードして表示するだけである。従って、クライアントPCには、基本的にはwebブラウザと周辺機器のドライバのみインストールすればよい。このことにより、従来必要であったソフトウェアの配布とそのインストール、そしてバージョンアップ等の必要がなくなる。
これら利点により、最近の企業の業務アプリケーションはwebアプリケーションで実現される事が増えている。その際、ユーザが操作するクライアントPCの操作画面の実体はwebブラウザである事が多い。
また、業務アプリケーションをサービスとして、インターネット経由で提供するASP(Application Service Provider)も普及し始めている。この場合もユーザの操作画面はwebブラウザである事が多い。
【0003】
通常、業務アプリケーション等におけるデータ参照用の画面では、ユーザが全体を確認しやすいように所定のテーブルについて表形式の一覧表示を行う。
しかし、いざ帳票として印刷する際には、業務で使用する単位毎に、別のページとして印刷した方が使いやすい事が多い。また、発注先等に送付する帳票を作成するには、所定のテーブルの内容を発注先毎に分けて印刷しなければならない。
このような帳票印刷を実現したい場合は、クライアント・サーバ型では、クライアントアプリケーションで表示画面とは関係なく帳票を作成することができる。
ところが、webアプリケーションの場合は、基本的にwebブラウザに表示されている内容そのままでしか印刷できない。改ページは、ブラウザやプリンタドライバによって決められた位置で改ページされるため、そのまま印刷しても、望み通りのページに分けて印刷する事はできない。これは、htmlという言語仕様にページの概念がないことに起因する。
htmlという言語仕様は、文書を構造化することを意図して策定されている。そこには、紙に印刷する際の、ページの概念がない。このため、所定の内容だけ一枚の紙に印刷し、次の内容は新たな紙に印刷する、という、帳票出力には全く向いていない。
なお、印刷システムの一例を特許文献1に開示する。
【0004】
【特許文献1】特開2004−54366号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
従来、webブラウザで帳票出力を行わせようとするには、以下の二通りの方法があった。
(1)業務で使用する単位毎に、印刷用webページ(html文書)を表示して、各画面を印刷する。
webブラウザ表示ではページの概念がない。帳票のページを分けたい場合は、別の画面として表示する必要がある。そこで、業務で使用する単位毎に、印刷用ページを表示して、各画面を印刷する。
例えば、複数の業者に向けた帳票出力の場合は、その業者毎に印刷用webページを作成し、表示して、印刷をする。
この方法では、業務単位毎に何度も操作をする必要がある。これはユーザへの負荷が大きい。
上述の場合、帳票送付先の業者が沢山いれば、印刷業務を行う担当者の負荷は非常に大きくなる。
【0006】
(2)サーバ側で、帳票出力である印刷用html文書を、一旦ページ概念を持つ別形式の文書に変換する。
webブラウザは当該文書をダウンロードして、ビューア等と呼ばれる専用の閲覧プログラムにて表示及び印刷を行う。一例としては、Adobe(登録商標) Systems社のPDF(Portable Document Format)と、これを表示・印刷するAdobe(登録商標) Readerが挙げられる。
この方法では、クライアントPCにビューアをインストールする必要がある。
また、html文書に比べて、webサーバにおける帳票生成の処理負荷が高い。そのため、帳票印刷が短時間に集中するようなアプリケーションでは、ピーク時の負荷に合わせてサーバの処理能力を増強する必要があり、設備投資に伴うコスト増に直結してしまう。
【0007】
本発明はかかる点に鑑みてなされたものであり、極めて効率的に、帳票印刷を実現するための、印刷データ生成装置、印刷データ生成方法、プリンタドライバプログラム、文書データ生成サーバ、文書データ生成方法、文書データ生成プログラム及び印刷データ生成システムを提供することを目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決するための本発明は、描画処理部が文字列を含む文書を描画命令群に変換した後、改頁命令挿入部が描画命令群から所定の設定キーワードを検出して改頁命令を挿入し、プリンタ制御言語インタプリタが描画命令群をプリンタ制御コマンド群に変換するものである。
【0009】
htmlという言語仕様は、文書を構造化することを意図して策定されている。そこには、紙に印刷する際の、ページの概念がない。このため、所定の内容だけ一枚の紙に印刷し、次の内容は新たな紙に印刷する、という、帳票出力には全く向いていない。
そこで、改頁に相当する文書の位置を特定する文字列を定め、印刷処理の前段階のデータから当該文字列を検出し、そこに改頁コマンドを挿入する処理をプリンタドライバ等に追加する。
【発明の効果】
【0010】
本発明により、極めて効率的に帳票印刷を実現するための、印刷データ生成装置、印刷データ生成方法、プリンタドライバプログラム、文書データ生成サーバ、文書データ生成方法、文書データ生成プログラム及び印刷データ生成システムを提供できる。
【発明を実施するための最良の形態】
【0011】
以下、本発明の実施の形態を、図1〜図8を参照して説明する。
なお、以下の説明において、「コマンド」と「命令」は同義である。
一般的には「描画コマンド」よりも「描画命令」と言われることが多い。
「プリンタ制御命令」と「プリンタ制御コマンド」はどちらも同程度の頻度にて用いられる。
これらはいずれも同じ意味である。
【0012】
図1は、本実施の形態の例である、文書印刷システムの概略図である。
文書印刷システム101は、webベースのクライアント・サーバシステムである。
アプリケーションサーバ102はwebサーバを構成する。
webサーバプログラム103は、TCP/IPネットワーク108を通じて来るクライアントの要求に応じ、html文書を送信したり、cgi(Common Gateway Interface:webサーバがwebブラウザの要求に応じて、プログラムを起動するための仕組み。)を実行したりする。一例としてはApache(http://www.apache.org/)等である。
クライアントはwebブラウザが稼動するTCP/IPネットワーク108の端末であり、主にパソコン(以下「クライアントPC」)よりなる。クライアントPC104は、TCP/IPネットワーク108と接続する機能を有するOSが稼動する。OSは例えば、マイクロソフト社のWindows(登録商標)である。
webブラウザ105は、OSが備えるネットワークプロトコルスタック106と、NIC(Network Interface Card)107と、TCP/IPネットワーク108を通じて、アプリケーションサーバ102からhtml文書109や、cgi110から得られるhtmlデータを受信し、図示しない画面に表示する。
【0013】
操作者がクライアントPC104のwebブラウザ105を操作して、図示しない印刷指令コマンドを発行すると、webブラウザ105は画面に表示しているhtml文書(html文書109或はcgi110から得られるhtmlデータ等)について、webブラウザ105内部のレンダリング処理部111を用いて、印刷命令とそのためのデータを生成し、描画処理部112に出力する。
描画処理部112はこれを受けて、描画命令を作成し、プリンタドライバ113に送信する。このときの描画命令は、プリンタのメーカーや機種に依存しない、OS内で共通の規格に基づく描画命令である。Windows(登録商標)においては、GDI(Graphics Device Interface)という描画処理機構が該当する。
【0014】
プリンタドライバ113は前述の描画命令を受けて、プリンタ116に依存する印刷データを作成する。プリンタ116は各メーカー毎或は各機種毎に異なる「プリンタ制御言語」を実装しており、プリンタドライバ113は、描画処理部112が生成したプリンタ116に非依存の描画命令を、プリンタ制御言語に準拠した印刷データへ変換する作業を行う。
【0015】
印刷データはポートモニタ114を通じて、インターフェース115に接続されているプリンタ116に送信される。
ポートモニタ114はプリンタ116が接続されるインターフェース115とプリンタドライバ113との間を取り持つ機能を有する。プリンタ116が、クライアントPC104に備わっているパラレルポート、USB、或はTCP/IPネットワーク等のいずれかに繋がっている際、ポートモニタ114はプリンタドライバ113が生成した印刷データを適切に目的のプリンタ116が繋がっているインターフェースへ送信する。つまり、インターフェース115はこれらを含め、任意のものが利用可能である。
【0016】
図2はクライアントPC104の内部の機能ブロック図である。図1のクライアントPC104の内部をより詳細に説明するものである。但し、ネットワークプロトコルスタック106とNIC107については図示を省略している。
図1では図示を省略していたが、プリンタドライバ113は動作の際に、一時スプールファイル202とプリンタスプールファイル203の作成、読み出し及び削除を行う。そして、プリンタスプールファイル203の作成の際には、必要に応じてフォントライブラリ204を読み込む。
【0017】
図3はプリンタドライバ113の内部の機能ブロック図である。図2のプリンタドライバ113の内部を詳細に説明するものである。
描画処理部112が生成したプリンタ非依存描画命令は、一時スプール変換部302にて一時スプールファイル202に変換される。
描画処理部112が全てのプリンタ非依存描画命令を発行し尽くし、一時スプール変換部302が受信したプリンタ非依存描画命令を一時スプールファイル202に変換し終わったら、一時スプールファイル202のデータは入力バッファ303に、先頭から順次、少しずつ取り込まれる。なお、プリンタドライバによっては、一時スプール変換部302による一時スプールファイル202の作成完了を待たずに、一時スプールファイル202のデータ量がある程度溜まると、入力バッファ303にデータを読み込んで処理を開始するものもある。いわゆる「先読み処理」といわれるものである。
一旦保持された入力バッファ303の内容は、評価用バッファ304にそのまま複写(コピー)される。
評価用バッファ304の内容は、描画コマンド削除フィルタ305によって、描画命令部分が削除され、文字列データのみが残される。
次に、評価用バッファ304の内容は、文字列検索部306によって設定キーワード307と一致する文字列が検索される。
ここで、設定キーワード307はキーワードテーブル308から選択的に読み込まれるものである。
【0018】
文字列検索部306で設定キーワード307(検索対象文字列)が見つかると、キーワードテーブル308に保持されている設定値309に従って、改頁コマンド挿入部310を稼動させ、入力バッファ303に保持されている当該設定キーワード部分に対し、改頁コマンドを挿入する。なお、当該設定キーワード部分を改頁コマンドで置換してもよい。この動作の詳細は図4にて後述する。
こうして改頁コマンドが埋め込まれた一時スプールファイル202のデータは、プリンタ制御言語インタプリタ311に渡され、プリンタ制御コマンド群に変換される。なお、一時スプールファイル202のデータのうちの文字列の部分は、フォントライブラリ204からフォントデータが読み込まれ、ビットマップデータに展開される。
なお、一部フォントでは、テキストの文字コードのままプリンタまで送信され、プリンタに内蔵されたフォントのビットマップに置き換えられて印字されるものもある。
【0019】
プリンタ制御言語インタプリタ311によって生成されたプリンタ制御コマンド群は、プリンタスプールファイル203に蓄積される。
プリンタ制御言語インタプリタ311は、プリンタスプールファイル203にプリンタ制御コマンド群を出力し終えると、プリンタスプールファイル203のデータを内部の図示しないバッファに、先頭から順次、少しずつ取り込み、ポートモニタ114へ出力する。
【0020】
ここで、評価用バッファ304及び描画コマンド削除フィルタ305の役目を説明する。
所定の文章(文字列)が含まれているhtml文書を基に作成されるプリンタ非依存描画命令の中身は、文字コードと、その文字をどのように紙面に描画するかを指定する描画命令(「制御コード」とも呼ばれる)にて構成される。例えば、図5にて後述する印刷文書中の「生産指示書」という文字列は、描画処理部112によって、
・フォント指定情報、文字の位置指定情報、文字の大きさ指定情報、「生」という文字の文字コード、
・フォント指定情報、文字の位置指定情報、文字の大きさ指定情報、「産」という文字の文字コード、
・フォント指定情報、文字の位置指定情報、文字の大きさ指定情報、「指」という文字の文字コード、
・フォント指定情報、文字の位置指定情報、文字の大きさ指定情報、「示」という文字の文字コード、
・フォント指定情報、文字の位置指定情報、文字の大きさ指定情報、「書」という文字の文字コード
という具合に変換される。
このままでは、「生産指示書」という文字列との一致を探そうと試みても、フォント指定情報、文字の位置指定情報及び文字の大きさ指定情報が邪魔をして、機械的に文字列一致を判定することが困難である。
そこで、評価用バッファ304を設け、入力バッファ303の中身を評価用バッファ304にコピーした後、文字列検索に邪魔な制御コードを削除して、本来の「生産指示書」という文字列に復元してから、文字列検索部306にて文字列検索処理を行う。
【0021】
なお、 改頁命令挿入部312をプログラムとして実装するためのソースコードを書く際には、入力バッファ303が入力されるデータを保持する第1の変数として、評価用バッファ304が第1の変数の中身をコピーされる第2の変数として実装される。
【0022】
従来のプリンタドライバ113は、描画処理部112から発されるプリンタ非依存描画命令を、一時スプール変換部302にて一時スプールファイル202に変換したら、一時スプールファイル202の内容をそのままプリンタ制御言語インタプリタ311に渡して、プリンタスプールファイル203を生成していた。
本実施形態では、一時スプール変換部302とプリンタ制御言語インタプリタ311の間に、改頁命令挿入部312を新規に設けている。
【0023】
図4は改頁命令挿入部312の動作を示すフローチャートである。
処理を開始すると(S401)、入力バッファ303に一時スプールファイル202のデータを必要量だけ取り込む(S402)。この「必要量」は、最低限、設定キーワード307のバイト数を越えるデータ量が必要である。
次に、入力バッファ303の内容を評価用バッファ304にコピーする(S403)。
次に、文字列検索の便宜のため、評価用バッファ304の内容から描画コマンドを削除する(S404)。
そして、文字列検索を行う。評価用バッファ304に設定キーワード307はあるか否か、見る(S405)。
【0024】
もし、設定キーワード307(検索対象文字列)が評価用バッファ304の中にあれば、次に設定値309の内容に従って、改頁コマンドを挿入する動作を行う。
先ず、設定値309の内容が設定キーワード307の前に改頁コマンドを挿入する設定になっているか否かを見る(S406)。そうであるなら、入力バッファ303内の設定キーワード307に該当するデータの前の位置に改頁コマンドを挿入する(S407)。
【0025】
次に、設定値309の内容が設定キーワード307の前に改頁コマンドを挿入する設定になっていなければ(S406のN)、設定値309の内容が設定キーワード307の後に改頁コマンドを挿入する設定になっているか否かを見る(S408)。そうであるなら、入力バッファ303内の設定キーワード307に該当するデータの後の位置に改頁コマンドを挿入する(S409)。
【0026】
更に、設定値309の内容が設定キーワード307の後に改頁コマンドを挿入する設定になっていなければ(S408のN)、それは設定値309の内容が設定キーワード307を削除して改頁コマンドを挿入する設定になっていることを意味する。そこで、入力バッファ303内の設定キーワード307に該当するデータを改頁コマンドで置換する(S410)。
【0027】
もし、設定キーワード307(検索対象文字列)が評価用バッファ304の中になければ(S405のN)、改頁コマンドの挿入等は行わない。
【0028】
そして、上述の動作(S407、S409、S410、S405のN)を行った後、入力バッファ303の内容をプリンタ制御言語インタプリタ311に出力する(S411)。
入力バッファ303にデータを取り込む動作は、一時スプールファイル202のデータの処理を全て終わるまでループ処理を行い(S412のNからS402)、処理すべきデータがなくなれば(S412のY)、終了する(S413)。
【0029】
なお、ステップS407の、入力バッファ303内の設定キーワード307に該当するデータの前の位置に改頁コマンドを挿入する動作は、文書内の最初の設定キーワードには改頁コマンドを挿入しないことが望ましい。無駄に白紙を出力しないためである。
【0030】
本実施形態は、webブラウザ105の印刷機能を、帳票出力に対応させることができるものである。
htmlという言語仕様は、文書を構造化することを意図して策定されている。そこには、紙に印刷する際の、ページの概念がない。このため、所定の内容だけ一枚の紙に印刷し、次の内容は新たな紙に印刷する、という、帳票出力には全く向いていない。
しかし、本実施形態では、改頁に相当する文書の位置を特定する文字列を定めておけば、プリンタドライバ113内部の改頁命令挿入部312がそこに改頁コマンドを挿入してくれる。
本実施形態は、ASP(Application Service Provider:ビジネス用のアプリケーションソフトをインターネットを通じて顧客にレンタルする事業者。)サービス等、webサーバ上に業務システムを構築した際の、帳票出力において、効果的である。
【0031】
図5(a)及び(b)、図6(c)及び(d)は本実施形態によってなされる帳票出力の流れをイメージにて示す概略図である。
先ず、クライアントPC104のwebブラウザ105で、アプリケーションサーバ102内の所定のcgi110をアクセスし、受注一覧画面を表示する。これが図5(a)の受注一覧画面501である。
図5(a)の受注一覧画面501には、一覧html文書503の中にテーブル504が表示されている。このテーブル504には、「商品コード」フィールド522と、「商品名」フィールド523と、「数量」フィールド524と、「顧客コード」フィールド525が存在する。
【0032】
表示されている受注一覧画面501の中にある「印刷用ページ」と記されているリンク502をマウスでクリックすると、cgi110は、「商品コード」フィールド522の値で各レコードを並べ替え(ソート)した後、「商品コード」フィールド522の値毎に分けて表示する、帳票用html文書506を作成する。この文書を表示した画面が図5(b)の印刷用画面505である。
帳票用html文書506は、帳票を想定した記載形態になっている。帳票のタイトルとして、「生産指示書」という目標文字列507が比較的大きなフォントにて表示されている。
【0033】
予め、プリンタドライバ113の設定で、「生産指示書」という文字列を設定キーワードとして、設定キーワードの前に改頁コマンドを挿入する設定にて、登録しておく。そして、図5(b)の帳票用html文書506に対し、印刷を実行すると、webブラウザ105の画面には表示されないものの、印刷データの内容は、図6(c)に示すように、目標文字列507である文字列「生産指示書」の直前に改頁コマンド612が挿入される。図6(c)中「<改頁>」と記されている部分は、実際には表示できないデータ列である改頁コマンド612を仮に表示しているものである。前述の通り、無駄に白紙を出さないため、最初のキーワードには改頁コマンド612は挿入されていない。
図6(c)の印刷データ、すなわちプリンタスプールファイル203の中身はプリンタ116に送信され、印刷と適切な改頁が行われる。この結果、図6(d)のような出力結果615、616及び617が得られる。
【0034】
すなわち、アプリケーションサーバ102中のcgi110は、クライアントPC104の要求に応じて、所定の位置に強制的改頁コマンド612を挿入する目印となる目標文字列507を一つ以上内包した文書データ(帳票用html文書506)を生成する、文書データ生成部として機能する。
そして、webサーバプログラム103は、TCP/IPネットワーク108を通じて、クライアントPC104に、文書データである帳票用html文書506を送信する。
【0035】
図7は、帳票出力の別の形態を示す概略図である。
図5(b)に示した帳票用html文書506は、各帳票毎に統一されたタイトルが付されていた。
しかし、図7に示す帳票用html文書701は、各帳票毎に統一されたタイトルが付されていない。
そこで、改頁コマンドを挿入したい位置に、特徴的な文字列を挿入する。これが改頁用文字列702である。図7では「<%#$」という、特殊記号を規則的に列挙した文字列である。これを改頁コマンドにて置換すると、図6(d)に示される形態にほぼ等しい帳票出力を得ることができる。
【0036】
図8はプリンタドライバ113の表示画面の一例である。
プリンタドライバ113の設定項目は多岐に渡る。設定画面は、これをタブボタンで切り替えて表示するように構成されている。
「キーワード改ページ」タブボタン802をクリックすると、図8に示す設定画面801が表示される。
「キーワード一覧」欄803は、設定したキーワードが列挙表示される部分である。
「キーワード入力・編集」欄804は、キーワードの入力及び編集を行うための入力欄である。
設定欄805は三択のボタンとチェックボックスを備える。
「追加」ボタン806は、設定キーワード307を新たに追加するためのボタンである。
「編集」ボタン807は、既に「キーワード一覧」欄803にある設定キーワード307を編集後、新たに編集した内容にて上書きするためのボタンである。
「削除」ボタン808は、「キーワード一覧」欄803にある設定キーワード307のうち、選択したものを削除するためのボタンである。
【0037】
「キーワード一覧」欄803中に列挙されるキーワードは、例えば周知の正規表現(regular expression:文字列のパターンを表現する表記法)が利用可能である。図8においては、「^」は行頭を、「$」は行末を表現する、メタキャラクタ(通常の文字とは異なる機能的意味を持つ文字)である。「\」はメタキャラクタの機能を打ち消す。
図8中、「^生産指示書$」と記されている文字列は、行頭から「生産指示書」と書かれ、その直後に改行が付されている条件を示す。
同様に、図8中、「^<%#\$$」と記されている文字列は、行頭から「<%#$」と書かれ、その直後に改行が付されている条件を示す。
これら設定キーワード307毎に、設定欄805にて条件が設定される。
【0038】
「キーワード一覧」欄803に列挙記載されている設定キーワード307は、設定欄805にて指定された設定値と共に、キーワードテーブル308に格納される。
つまり、キーワードテーブル308は、最低限、キーワードフィールドと設定値フィールドが存在するレコードの集合体である。
前述の図5のステップS405では、設定キーワード307が複数設定されている場合は、それら設定キーワード毎に文字列検索処理が行われる。
【0039】
本実施形態には、以下のような応用例が考えられる。
(1)アプリケーションサーバ102(webサーバ)が出力するデータの形態は、htmlに限られない。XMLでもよいし、プレーンテキストでもよい。webブラウザ105が所定のプラグインソフトウェアに代用されることなく、webブラウザ105自身の機能として印刷を実行する際、強制的な改頁制御を行わないデータ形式であればなんでもよい。
【0040】
(2)印刷を実行するソフトウェアは、webブラウザに限らない。
例えば、Windows(登録商標)に標準添付される「メモ帳」というテキストエディタには、テキストエディタであるが故に改頁機能がない。しかし、本実施形態のプリンタドライバを使用すれば、プレーンテキストに対して極めて容易に改頁機能を追加することができる。そして、その際に用いる改頁用キーワードの設定もユーザの完全な自由裁量で決定できるので、極めて便利である。
【0041】
(3)改頁命令挿入部312による改頁コマンド挿入処理は、webブラウザやテキストエディタ等のアプリケーションソフトウェア毎にオン・オフ制御するように構成するとよい。
例えば、ワープロソフトにはそれ自体に改頁機能が備わっているので、本実施形態による改頁コマンド挿入処理は却って邪魔になる。このような場合、プリンタドライバ113は、アプリケーションソフトウェアの種別或は名前を識別して、改頁コマンド挿入処理のオン・オフを制御するように構成すると、便利である。また、改頁コマンド挿入処理を行うアプリケーションソフトウェアをプリンタドライバ113に設定できるように構成すると、なおよい。
【0042】
(4)特にwebブラウザ105においては、改頁命令挿入部312による改頁コマンド挿入処理及び設定キーワード307を、html文書のURI(Uniform Resource Identifier)毎に指定可能なように構成することができる。
プリンタドライバ113は、キーワードテーブル308にURIフィールドを設ける。ドメインを指定した処理を行わせる都合上、URIフィールドに正規表現を利用可能にするとなおよい。また、一つのキーワードについて複数のURIを指定可能にすることが望ましい。
つまり、図1を例にとれば、改頁命令挿入部312の動作を、アプリケーションサーバ102のURIに限定して処理させることとなる。
プリンタドライバ113は、webブラウザ105から印刷対象のhtml文書のURIを取得すると、キーワードテーブル308内のURIフィールドを見て、該当する設定キーワード307を抽出する。
設定キーワード307を対象とする改頁コマンド挿入・置換処理をURIで限定することで、プリンタドライバ113が不用意に任意のhtml文書(webリソース)に改頁コマンド挿入処理を起動させないようにすることができる。そして、これと共に、前述の図5のステップS405において、設定キーワード307が複数設定されている場合は、必要最低限の設定キーワードに限って文字列検索処理を行うこととなり、効率のよい処理が行われる。
【0043】
(5)プリンタドライバ113は、印刷データを生成する代わりに、複数のファイルに変換して出力することもできる。html文書中にメールアドレスを埋め込み、改頁の代わりに複数のファイルに変換し、SMTP(Simple Mail Transfer Protocol)サーバプログラムに、メールアドレスと共に引き渡す。
【0044】
(6)描画コマンド削除フィルタ305は、文字の位置指定情報だけ残して、文字列検索部306では文字列の位置の指定を伴う検索を実行させることができる。
【0045】
(7)ポートモニタ114に、改頁命令挿入部312を持たせることができる。この場合、入力されるデータはビットマップデータと、一部テキストデータが混在するデータになるので、設定キーワード307に代えて、所定量のビットマップデータ等のデータパターンを指定することとなる。
【0046】
(8)html文書のコメントを用いて、改頁制御を行わせることもできる。
html規格において、「<!-- 」で始まり「 -->」で終わるタグはコメントを意味し、これらタグに囲まれた文字列はwebブラウザ105には表示されない。
このコメントに、図7の改頁用文字列702と同様の、特徴的な文字列を記載する。
webブラウザ105には、追加機能を提供するプラグインソフトウェアを導入する。
当該プラグインソフトウェアは、コメント中の特定文字列を検出し、改頁命令に変換して、描画処理部112に出力する。
この場合、プリンタドライバ113には改頁命令挿入部312が不要になる代わりに、当該プラグインソフトウェアが改頁命令挿入部としてwebブラウザ105に含まれることとなる。したがって、コメントでなくとも、図5、図6及び図7に示したような、前述の実施形態と同様の改頁処理を行うことができる。
【0047】
(9)プリンタドライバ113は、改頁処理と共に用紙の種類と印刷方向等を指定することもできる。
【0048】
本実施形態においては、文書印刷システムを開示した。
従来、html文書を帳票印刷するには、pdfファイル等に変換する等、アプリケーションサーバ及びクライアントPCの負担が大きかった。本実施形態では、キーワードを設定して、そのキーワードに改頁コマンドを挿入する処理を追加した。このため、pdf等への変換処理を不要にし、極めて簡便に、且つ汎用性の高い処理にて、改頁の概念のないhtml文書のような文書データに、適切な改頁処理を施すことができる。
本実施形態により、帳票出力を伴う業務アプリケーションシステムを、従来と比べて効率的に、且つ迅速に実現できる。
また、本実施形態により、テキストエディタ等の強制的改頁の機能を持たないアプリケーションプログラムに対し、当該アプリケーションプログラム自体の改変を一切することなく、容易に強制的改頁機能を追加することができる。
【0049】
以上、本発明の実施形態例について説明したが、本発明は上記実施形態例に限定されるものではなく、特許請求の範囲に記載した本発明の要旨を逸脱しない限りにおいて、他の変形例、応用例を含むことは言うまでもない。
【図面の簡単な説明】
【0050】
【図1】本発明の一実施の形態による、文書印刷システムの概略図である。
【図2】クライアントPCの内部の機能ブロック図である。
【図3】プリンタドライバの内部の機能ブロック図である。
【図4】改頁命令挿入部の動作を示すフローチャートである。
【図5】本実施形態によってなされる帳票出力の流れをイメージにて示す概略図である。
【図6】本実施形態によってなされる帳票出力の流れをイメージにて示す概略図である。
【図7】帳票出力の別の形態を示す概略図である。
【図8】プリンタドライバの表示画面の一例である。
【符号の説明】
【0051】
101…文書印刷システム、102…アプリケーションサーバ、103…webサーバプログラム、104…クライアントPC、105…webブラウザ、106…ネットワークプロトコルスタック、107…NIC、108…TCP/IPネットワーク、109…html文書、110…cgi、111…レンダリング処理部、112…描画処理部、113…プリンタドライバ、114…ポートモニタ、115…インターフェース、116…プリンタ、202…一時スプールファイル、203…プリンタスプールファイル、204…フォントライブラリ、302…一時スプール変換部、303…入力バッファ、304…評価用バッファ、305…描画コマンド削除フィルタ、306…文字列検索部、307…設定キーワード、308…キーワードテーブル、309…設定値、310…改頁コマンド挿入部、311…プリンタ制御言語インタプリタ、312…改頁命令挿入部、501…受注一覧画面、502…リンク、503…一覧html文書、504…テーブル、505…印刷用画面、506、701…帳票用html文書、507…目標文字列、522…「商品コード」フィールド、523…「商品名」フィールド、524…「数量」フィールド、525…「顧客コード」フィールド、612…改頁コマンド、615、616、617…出力結果、702…改頁用文字列、801…設定画面、802…「キーワード改ページ」タブボタン、803…「キーワード一覧」欄、804…「キーワード入力・編集」欄、805…設定欄、806…「追加」ボタン、807…「編集」ボタン、808…「削除」ボタン

【特許請求の範囲】
【請求項1】
文字列を含む文書を描画命令群に変換する描画処理部と、
前記描画命令群から所定の設定キーワードを検出して、前記描画命令群に改頁命令を挿入する改頁命令挿入部と、
前記描画命令群をプリンタにて印刷するためのプリンタ制御コマンド群に変換するプリンタ制御言語インタプリタと
を具備することを特徴とする印刷データ生成装置。
【請求項2】
前記改頁命令挿入部は、前記設定キーワードに改頁命令を付加して前記描画命令群を出力することを特徴とする、請求項1記載の印刷データ生成装置。
【請求項3】
前記改頁命令挿入部は、前記設定キーワードを改頁命令に置換して前記描画命令群を出力することを特徴とする、請求項1記載の印刷データ生成装置。
【請求項4】
更に、前記改頁命令挿入部は、前記描画命令群に含まれる前記設定キーワードの配置情報も検出することを特徴とする、請求項1記載の印刷データ生成装置。
【請求項5】
更に、前記改頁命令挿入部は、前記文書のURIと前記設定キーワードの組み合わせを検出することを特徴とする、請求項1記載の印刷データ生成装置。
【請求項6】
文字列を含む文書を描画命令群に変換する描画処理ステップと、
前記描画命令群から所定の設定キーワードを検出して、前記描画命令群に改頁命令を挿入する改頁命令挿入ステップと、
前記描画命令群をプリンタにて印刷するためのプリンタ制御コマンド群に変換するプリンタ制御言語変換ステップと
を含むことを特徴とする印刷データ生成方法。
【請求項7】
前記改頁命令挿入ステップは、前記設定キーワードに改頁命令を付加して前記描画命令群を出力することを特徴とする、請求項6記載の印刷データ生成方法。
【請求項8】
前記改頁命令挿入ステップは、前記設定キーワードを改頁命令に置換して前記描画命令群を出力することを特徴とする、請求項6記載の印刷データ生成方法。
【請求項9】
更に、前記改頁命令挿入ステップは、前記描画命令群に含まれる前記設定キーワードの配置情報も検出することを特徴とする、請求項6記載の印刷データ生成方法。
【請求項10】
更に、前記改頁命令挿入ステップは、前記描画命令群から前記文書のURIと前記設定キーワードの組み合わせ検出することを特徴とする、請求項6記載の印刷データ生成方法。
【請求項11】
コンピュータを、
文字列を含む文書を描画命令群に変換する描画処理部と、
前記描画命令群から所定の設定キーワードを検出して、前記描画命令群に改頁命令を挿入する改頁命令挿入部と、
前記描画命令群をプリンタにて印刷するためのプリンタ制御コマンド群に変換するプリンタ制御言語インタプリタ
として機能させるためのプリンタドライバプログラム。
【請求項12】
前記改頁命令挿入部は、前記設定キーワードに改頁命令を付加して前記描画命令群を出力することを特徴とする、請求項11記載のプリンタドライバプログラム。
【請求項13】
前記改頁命令挿入部は、前記設定キーワードを改頁命令に置換して前記描画命令群を出力することを特徴とする、請求項11記載のプリンタドライバプログラム。
【請求項14】
更に、前記改頁命令挿入部は、前記描画命令群に含まれる前記設定キーワードの配置情報も検出することを特徴とする、請求項11記載のプリンタドライバプログラム。
【請求項15】
更に、前記改頁命令挿入部は、前記文書のURIと前記設定キーワードの組み合わせを検出することを特徴とする、請求項11記載のプリンタドライバプログラム。
【請求項16】
クライアントの要求に応じて、所定の位置に強制的改頁コマンドを挿入する目印となる目標文字列を一つ以上内包した文書データを生成する文書データ生成部と、
前記文書データを前記クライアントへ送信する通信部と
を具備することを特徴とする、文書データ生成サーバ。
【請求項17】
前記文書データ生成部は、フィールドを二つ以上備えるテーブルの、一つ以上のフィールドの値にて前記テーブルのレコードを並べ替えた後、前記並べ替えたフィールドの値毎に前記目標文字列を付して前記文書データを生成することを特徴とする、請求項16記載の文書データ生成サーバ。
【請求項18】
クライアントの要求に応じて、所定の位置に強制的改頁コマンドを挿入する目印となる目標文字列を一つ以上内包した文書データを生成する文書データ生成ステップと、
前記文書データ生成ステップにて生成された前記文書データを前記クライアントへ送信する通信ステップと
を含むことを特徴とする、文書データ生成方法。
【請求項19】
前記文書データ生成ステップは、フィールドを二つ以上備えるテーブルの、一つ以上のフィールドの値にて前記テーブルのレコードを並べ替えた後、前記並べ替えたフィールドの値毎に前記目標文字列を付して前記文書データを生成することを特徴とする、請求項18記載の文書データ生成方法。
【請求項20】
コンピュータを、
クライアントの要求に応じて、所定の位置に強制的改頁コマンドを挿入する目印となる目標文字列を一つ以上内包した文書データを生成する文書データ生成部と、
前記文書データを前記クライアントへ送信する通信部
として機能させるための文書データ生成プログラム。
【請求項21】
前記文書データ生成部は、フィールドを二つ以上備えるテーブルの、一つ以上のフィールドの値にて前記テーブルのレコードを並べ替えた後、前記並べ替えたフィールドの値毎に前記目標文字列を付して前記文書データを生成することを特徴とする、請求項20記載の文書データ生成プログラム。
【請求項22】
クライアントと文書データ生成サーバよりなる印刷データ生成システムであり、
前記クライアントは、
文字列を含む文書を描画命令群に変換する描画処理部と、
前記描画命令群から所定の設定キーワードを検出して、前記描画命令群に改頁命令を挿入する改頁命令挿入部と、
前記描画命令群をプリンタにて印刷するためのプリンタ制御コマンド群に変換するプリンタ制御言語インタプリタと
を備え、
前記文書データ生成サーバは、
前記クライアントの要求に応じて、所定の位置に強制的改頁コマンドを挿入する目印となる目標文字列を一つ以上内包した文書データを生成する文書データ生成部と、
前記文書データを前記クライアントへ送信する通信部と
を備えることを特徴とする、印刷データ生成システム。
【請求項23】
前記改頁命令挿入部は、前記設定キーワードに改頁命令を付加して前記描画命令群を出力することを特徴とする、請求項22記載の印刷データ生成システム。
【請求項24】
前記改頁命令挿入部は、前記設定キーワードを改頁命令に置換して前記描画命令群を出力することを特徴とする、請求項22記載の印刷データ生成システム。
【請求項25】
更に、前記改頁命令挿入部は、前記描画命令群に含まれる前記設定キーワードの配置情報も検出することを特徴とする、請求項22記載の印刷データ生成システム。
【請求項26】
更に、前記改頁命令挿入部は、前記文書のURIと前記設定キーワードの組み合わせを検出することを特徴とする、請求項22記載の印刷データ生成システム。
【請求項27】
前記文書データ生成部は、フィールドを二つ以上備えるテーブルの、一つ以上のフィールドの値にて前記テーブルのレコードを並べ替えた後、前記並べ替えたフィールドの値毎に前記目標文字列を付して前記文書データを生成することを特徴とする、請求項22記載の印刷データ生成システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2008−186275(P2008−186275A)
【公開日】平成20年8月14日(2008.8.14)
【国際特許分類】
【出願番号】特願2007−19838(P2007−19838)
【出願日】平成19年1月30日(2007.1.30)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】