(57)【特許請求の範囲】
【請求項１】
アプリケーションプログラムからの描画命令に対してオーバレイ印刷を行うフォームオーバレイ装置において、
前記描画命令とともにフォーム作成指令が出力されると、前記アプリケーションプログラムの画面上で指定された指定領域のデータに基づいて、フォームデータを前記描画命令から抽出して出力するフォームデータ抽出手段と、前記描画命令とともにオーバレイ印字指令が出力されると、前記アプリケーションプログラムの画面上で指定された指定領域のデータに基づいて、印刷データを前記描画命令から抽出して出力する印刷データ抽出手段と、を有する情報処理装置と、
前記フォームデータ抽出手段から出力されたフォームデータを格納するフォームデータ記憶手段と、前記印刷データ抽出手段から前記印刷データが出力されると、前記フォームデータ記憶手段に格納されたフォームデータと前記印刷データとを重ね合わせて、オーバレイ印刷を実行する印字手段と、を有する印刷装置と、
を具備することを特徴とするフォームオーバレイ装置。
【請求項２】
前記フォームデータ抽出手段は、前記指定領域外に存在する描画命令を前記フォームデータとして抽出することを特徴とする請求項１記載のフォームオーバレイ装置。
【請求項３】
前記フォームデータ抽出手段は、前記指定領域内に存在し、かつフォーム図形として属性が指定されている描画命令を前記フォームデータとして抽出することを特徴とする請求項１記載のフォームオーバレイ装置。
【請求項４】
前記情報処理装置は、文書名に対応するフォーム名を予め記憶しておく文書名・フォーム名記憶手段と、前記記憶された文書名のオーバレイ印字の時に、対応する前記フォーム名を自動的に設定するフォーム設定手段と、を有することを特徴とする請求項１記載のフォームオーバレイ装置。
【請求項５】
前記文書名・フォーム名記憶手段は、前記フォームデータの作成時に前記文書名に対応する前記フォーム名を記憶することを特徴とする請求項４記載のフォームオーバレイ装置。
【請求項６】
前記文書名・フォーム名記憶手段は、前記オーバレイ印字の時に前記文書名に対応する前記フォーム名を記憶することを特徴とする請求項４記載のフォームオーバレイ装置。
【請求項７】
アプリケーションプログラムからの描画命令に対してオーバレイ印刷を行うフォームオーバレイ方法において、
前記描画命令とともにフォーム作成指令が出力されると、前記アプリケーションプログラムの画面上で指定された指定領域のデータに基づいて、フォームデータを前記描画命令から抽出して印刷装置の記憶装置に格納し、
前記描画命令とともにオーバレイ印字指令が出力されると、前記アプリケーションプログラムの画面上で指定された指定領域のデータに基づいて印刷データを前記描画命令から抽出し、前記記憶装置に格納されたフォームデータと前記印刷データとを重ね合わせてオーバレイ印刷を実行する、
ことを特徴とするフォームオーバレイ方法。
【請求項８】
フォームオーバレイ機能を持った印刷装置をコンピュータに制御させるためのオーバレイ印刷制御用プログラムを記録したコンピュータで読み取り可能な記録媒体において、
描画命令とともにフォーム作成指令が出力されると、アプリケーションプログラムの画面上で指定された指定領域のデータに基づいて、フォームデータを前記描画命令から抽出して前記印刷装置に転送する機能と、
描画命令とともにオーバレイ印字指令が出力されると、アプリケーションプログラムの画面上で指定された指定領域のデータに基づいて印刷データを前記描画命令から抽出して前記印刷装置に転送する機能と、
をコンピュータに実現させるためのオーバレイ印刷制御用プログラムを記録したコンピュータで読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はフォームオーバレイ装置、フォームオーバレイ方法、およびオーバレイ印刷制御用プログラムを記録したコンピュータで読み取り可能な記録媒体に関し、特にアプリケーションプログラムからの描画命令に対してオーバレイ印刷を行うフォームオーバレイ装置、アプリケーションプログラムからの描画命令に対してオーバレイ印刷を行うフォームオーバレイ方法、およびオーバレイ印刷制御用プログラムを記録した媒体に関する。
【０００２】
【従来の技術】
ホストコンピュータを用いた業務システムでは、コンピュータを使って計算、集計した最終結果を、伝票や帳票などの紙に出力するのが普通である。そして、業務を円滑に遂行するためには、伝票や帳票を高速に印刷することが求められる。そこで、一定のフォームを設定しておき、そのフォームに重ねて各種データを印刷するようなフォームオーバレイ機能を有する装置、即ちフォームオーバレイ装置が用いられるようになった。
【０００３】
図１９は、従来のフォームオーバレイ装置を示す図である。このフォームオーバレイ装置は、大型のホストコンピュータ２１１が伝票や帳票等のデータを管理している。ホストコンピュータ２１１には、プリンタ２１２が接続されている。このプリンタ２１２は、ハードディスク装置（ＨＤＤ）２１３を有している。
【０００４】
このようなフォームオーバレイ装置において、帳票印刷を実行する場合には、予めプリンタ２１２のＨＤＤ２１３に帳票フォーム２１５を格納しておく。そして、ホストコンピュータ２１１に対して、印刷データ２１４を指定して印刷指令を実行させる。すると、ホストコンピュータ２１１は、印刷データ２１４をプリンタ２１２に転送する。印刷データ２１４を受け取ったプリンタ２１２は、その印刷データ２１４と帳票フォーム２１５とを重ね合わせて、紙に印刷して出力する。その結果、帳票フォーム内の所定の位置に各種データが記入された用紙２１６が得られる。
【０００５】
このようなシステムでは、帳票フォーム２１５の作成には、専用のフォーム作成ツールを使用し、ユーザが罫線の位置やイメージ等の情報を入力して作成するのが一般的である。ただし、ユーザによる帳票フォームの作成は、キーボード等の操作が煩わしく、誰にでも簡単にできるものではない。
【０００６】
そこで、紙に印刷された文書、または、ていねいに手書きされた文書を画像としてコンピュータ内に取り込み、その画像の線部分に対してベクトル化処理を行い、その結果をフォームとして入力する研究がなされている。さらには、特開平５−２８２５８号公報のように、文字と図形とを含む画像を取り込んで、その文字部分以外をフォームとして取得するような装置も考え出されている。
【０００７】
一方、近年のコンピュータシステムのダウンサイジング化により、各部門に設置されたパーソナルコンピュータ上で動作する汎用のデータベース管理ソフトを使って、帳票印刷等が行われるようになっている。
【０００８】
図２０は、パーソナルコンピュータを用いたフォームオーバレイ装置を示す図である。この例では、データベース用サーバコンピュータ２２１とパーソナルコンピュータ（以後、パソコンと呼ぶ）２２２とがネットワークを介して接続されている。パソコン２２２では、データベース管理ソフトが動作している。ネットワークには、プリンタ２２３も接続されている。このプリンタ２２３は、ハードディスク装置２２４を有している。
【０００９】
このようなシステムでは、パソコン２２２内のデータベース管理ソフトが、データベース用サーバコンピュータ２２１から数字などのデータを取得して、その内容から帳票イメージ２２５を作成しプリンタ２２３に送信する。これにより、帳票イメージ２２５をプリンタ２２３で印刷することができる。但し、このようなシステムにおいて帳票のように大量に印刷する場合、帳票フォームを毎回プリンタに送信するため、印刷効率がよくないという問題がある。
【００１０】
そこで、最近のシステムでは、帳票フォームをプリンタ２２３の内臓ハードディスク装置２２４に登録し、パソコン２２２からは数字等のデータのみを送信し、プリンタで重ね合わせて印刷することで帳票イメージ２２５を出力することが行われている。
【００１１】
なお、このような場合、汎用のデータベース管理ソフトは特定のプリンタ向けに作成されていないため、それぞれのプリンタに対応したフォームオーバレイ機能をそのデータベース管理ソフトで提供することは困難である。そこで、データベース管理ソフトは、所定の手続きに従って、プリンタの制御を司るプリンタドライバへ印刷命令を出力する。そして、プリンタドライバが、帳票フォームの転送やオーバレイ印字命令を制御している。
【００１２】
従って、一般のデータベース管理ソフトからオーバレイ印刷を行うためには、データベースをアクセスする度に表示される画面から、データベースのデータに応じて変化する部分を削除し、残った図形をフォームデータとしてプリンタドライバに渡して、プリンタ２２３のＨＤＤ２２４に登録させる。次に、データベースをアクセスする際に固定的に表示される部分を削除して、可変のデータのみとなった印刷データ作成する。そして、以前に作成したフォームを指定して、印刷データのオーバレイ印刷指令をプリンタドライバへ出力する。すると、プリンタドライバが、プリンタに対してオーバレイ印刷を実行させる。
【００１３】
【発明が解決しようとする課題】
しかし、フォームデータの作成や、帳票で固定的に印刷される全ての罫線やイメージ等の削除をデータベース管理ソフト等のアプリケーション上で行うのは、非常に煩雑な作業である。そのため、ダウンサイジングに伴い広く使用されるようになってきた汎用のデータベース管理ソフトやその他多くのフォーム機能が提供されていないソフトウェアからフォームオーバレイ機能を用いた高速印刷を行うのが困難だという問題点があった。
【００１４】
本発明はこのような点に鑑みてなされたものであり、フォームオーバレイ機能を有しないソフトウェアからでもフォームオーバレイ機能を使用して高速に印刷できるフォームオーバレイ装置を提供することを目的とする。
【００１５】
また、本発明の別の目的は、フォームオーバレイ機能を有しないソフトウェアからでもフォームオーバレイ機能を使用して高速に印刷できるフォームオーバレイ方法を提供することである。
【００１６】
また、本発明の他の目的は、フォームオーバレイ機能を有しないソフトウェアからでもフォームオーバレイ機能を使用して高速に印刷できるようにするためのオーバレイ印刷制御用プログラムを記録した媒体を提供することである。
【００１７】
【課題を解決するための手段】
上記課題を解決するために、アプリケーションプログラムからの描画命令に対してオーバレイ印刷を行うフォームオーバレイ装置において、前記描画命令とともにフォーム作成指令が出力されると、前記アプリケーションプログラムの画面上で指定された指定領域のデータに基づいて、フォームデータを前記描画命令から抽出して出力するフォームデータ抽出手段と、前記描画命令とともにオーバレイ印字指令が出力されると、前記アプリケーションプログラムの画面上で指定された指定領域のデータに基づいて、印刷データを前記描画命令から抽出して出力する印刷データ抽出手段と、を有する情報処理装置と、前記フォームデータ抽出手段から出力されたフォームデータを格納するフォームデータ記憶手段と、前記印刷データ抽出手段から前記印刷データが出力されると、前記フォームデータ記憶手段に格納されたフォームデータと前記印刷データとを重ね合わせて、オーバレイ印刷を実行する印字手段と、を有する印刷装置と、を具備することを特徴とするフォームオーバレイ装置が提供される。
【００１８】
このフォームオーバレイ装置によれば、描画命令とともにフォーム作成指令が出力されると、情報処理装置側のフォームデータ抽出手段が、アプリケーションプログラムの画面上で指定された指定領域のデータに基づいて、フォームデータを前記描画命令から抽出して出力する。印刷装置側では、この出力されたフォームデータをフォームデータ記憶手段が格納する。
【００１９】
一方、描画命令とともにオーバレイ印字指令が出力されると、情報処理装置側の印刷データ抽出手段が、アプリケーションプログラムの画面上で指定された指定領域のデータに基づいて、印刷データを描画命令から抽出して出力する。この印刷データが出力されると、印刷装置側では、印字手段が、フォームデータ記憶手段に格納されたフォームデータと印刷データとを重ね合わせて、オーバレイ印刷を実行する。
【００２０】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
図１は本発明の原理構成図である。本発明のフォームオーバレイ装置は、情報処理装置１０と印刷装置２０とで構成される。
【００２１】
情報処理装置１０は、オーバレイ機能を持っていないアプリケーションプログラム（以後、アプリケーションと呼ぶ）１１を実行している。このアプリケーション１１は、印刷画像を作成すると描画命令１，２を出力する。その描画命令１，２は、複数の属性の命令の集合である。そして、描画命令を出力する際には、フォーム作成指令、若しくはオーバレイ印字指令を出力することができる。
【００２２】
フォームデータ抽出手段１２は、描画命令１とともにフォーム作成指令が出力されると、フォームを構成するものとして指定された属性の命令を描画命令１から抽出し、フォームデータ１ａとして印刷装置２０へ転送する。印刷データ抽出手段１３は、描画命令１，２とともにオーバレイ印刷指令が出力されると、印字内容として指定された属性の命令を描画命令から抽出し、印刷データ１ｂ，２ａとして出力する。
【００２３】
印刷装置２０では、フォームデータ記憶手段２１が、フォームデータ抽出手段１２の出力したフォームデータ１ａを格納する。印字手段２２は、印刷データ抽出手段１３の出力する印刷データ１ｂ，２ａを受け取り、その印刷データ１ｂ，２ａ毎に得られる画像イメージとフォームデータ１ａから得られる画像イメージとを重ね合わせて、プリンタ用紙等に印字する。これにより、アプリケーション１１が作成した画像が描かれた文書３が出力される。
【００２４】
このように、フォームデータ抽出手段１２と印刷データ抽出手段１３とが、描画命令内の命令の属性を識別情報として、フォームデータや印刷データを抽出することにより、フォームオーバレイ機能を持っていないアプリケーション１１で作成された文書であっても、フォームオーバレイ印刷による高速印刷を行うことができる。
【００２５】
以下に、本発明の実施の形態を具体的に説明する。
図２は本発明の第１の実施の形態の全体構成を示す図である。この実施の形態では、図１に示した情報処理装置１０としてパーソナルコンピュータ（以後、パソコンと呼ぶ）１００を用い、印刷装置２０としてハードディスク装置（ＨＤＤ）３３を有するプリンタ３２を用いている。パソコン１００は、複数のアプリケーション１０１，１０２，１０３・・・を有しているとともに、プリンタドライバ１１０によってプリンタ３２を制御している。各アプリケーション１０１，１０２，１０３・・・はフォームオーバレイ印刷を行うための機能を有しておらず、プリンタドライバ１１０がフォームオーバレイ印刷を制御する。なお、フォームオーバレイ印刷を必要とするアプリケーションとしては、データベース管理ソフト等がある。また、プリンタドライバ１１０を有するシステムとしては、オペレーティングシステム（ＯＳ）にＷｉｎｄｏｗｓ（米国マイクロソフトコーポレーションの登録商標）を用いたシステム等がある。
【００２６】
さらに、パソコン１００にはハードディスク装置（ＨＤＤ）３１が接続されている。このＨＤＤ３１は、ＯＳやアプリケーションのプログラムに加え、プリンタドライバから渡されるフォームに関する情報も格納する。
【００２７】
プリンタ３２は、フォームオーバレイ印刷を行うことができる。即ち、フォームデータがパソコン１００から送られてきたら、そのフォームデータをＨＤＤ３３に格納する。そして、オーバレイ印字の際の印刷データが送られてきたら、ＨＤＤ３３内に格納しているフォームデータから得られる画像に、印刷データから得られる画像を重ね合わせてフォームオーバレイ印刷を行う。
【００２８】
このようなシステムにおいて、ユーザは、まずアプリケーション１０１を利用して、印刷すべき画像を作成する。そして、アプリケーション１０１から描画命令を出力する。その命令は、プリンタドライバ１１０に伝えられる。
【００２９】
描画命令を受け取ったプリンタドライバ１１０は、印刷設定用の画面を表示装置の画面に表示する。なお、ここでいう画面とは、マルチウィンドウシステムでは、１つのウィンドウを指す。ユーザは、その印刷設定用の画面に印刷の条件を入力する。
【００３０】
ユーザがフォームの作成を望む場合には、フォームを形成する図形の属性及びフォームの登録名を指定して、フォーム作成の指示を入力する。その指示は、プリンタドライバ１１０に伝えられる。プリンタドライバ１１０は、フォームの作成が指示された場合には、描画命令の中から、フォームを構成する図形として指定された属性の図形のみを抽出する。そして、抽出した図形をフォームデータとしてプリンタ３２に送信するとともに、そのフォームに関する情報を指定されたフォーム名でＨＤＤ３１に格納する。フォームデータを受け取ったプリンタ３２は、そのフォームデータをＨＤＤ３３に格納する。
【００３１】
一方、ユーザがオーバレイ印刷を望む場合には、印刷設定用の画面でフォーム名と、印字すべき内容を示す命令の属性とを指定して、そのフォームを用いたオーバレイ印刷を行うように指令する。すると、プリンタドライバ１１０は、ＨＤＤ３１の内容を参照することにより、指定されたフォームがプリンタ３２のＨＤＤ３３に格納されているか否かを照合する。ＨＤＤ３３に格納されているフォームであれば、印字すべきデータとして指定された属性の描画命令のみを抽出して、その抽出した印刷データをオーバレイ印字の命令とともにプリンタ３２に送信する。ＨＤＤ３３に格納されていないフォームが指定されていれば、必要なフォームデータをプリンタ３２に転送した後、オーバレイ印字の命令とともに印刷データを送信する。
【００３２】
フォームオーバレイ印刷の指令を受けたプリンタ３２は、その指令に従い、内蔵のＨＤＤ３３から指定されたフォームデータを取り出し、プリンタドライバ１１０から送られてきた印刷データとフォームデータとを重ね合わせてオーバレイ印刷を行う。
【００３３】
次に、プリンタドライバ１１０の詳細構成を説明する。
図３は第１の形態のプリンタドライバ１１０の内部構成を示すブロック図である。なお、プリンタドライバはアプリケーションから呼び出される手続きの集まりであり、この図に示す各構成要素は、各手続きの行う処理を機能ブロックとして表現したものである。
【００３４】
プリンタドライバ１１０は、処理内容の設定を受け付ける画面設定部１１１、印刷を開始する際のプリンタの制御を行う印刷開始部１１２、及び図形ごとのコマンドの出力を制御する図形文字出力部１１３で構成されている。
【００３５】
画面設定部１１１内の画面設定制御部１１１ａは、アプリケーション１０１からの呼び出しに応じてプリンタの設定画面を表示装置に表示する。フォーム指示部１１１ｂは、設定されたフォームオーバレイに関する指示を共通のデータ領域に保持する。ここで、共通のデータ領域とは、他の手続きからもアクセス可能なデータ領域である。
【００３６】
印刷開始部１１２内の印刷動作検査部１１２ａは、アプリケーションより印刷開始指示が出されると、フォーム指示部１１１ｂの内容を調べ、通常の印刷動作か、フォーム作成か、あるいはオーバレイ印刷かを検査する。そして、通常の印刷動作の場合には印刷用ＰＤＬ（Page Description Language ）出力処理部１１２ｂに指令を伝え、フォーム作成の場合にはフォーム作成指示ＰＤＬ出力処理部１１２ｃに指令を伝え、オーバレイ印刷の場合にはフォーム登録済検査部１１２ｄに指令を伝える。フォーム登録済検査部１１２ｄは、フォーム指示で指定されたフォームがすでにプリンタに登録されているか否かを、ＨＤＤ３１内のフォーム登録状況ファイル３１ａを検索することにより判断する。
【００３７】
印刷用ＰＤＬ出力処理部１１２ｂは、通常の印刷のためのプリント言語（ＰＤＬ）データをプリンタ３２に対して出力する。フォーム作成指示ＰＤＬ出力処理部１１２ｃは、フォーム名を付加してフォーム定義用のプリント言語データを出力する。登録済フォーム使用指示ＰＤＬ出力処理部１１２ｅは、登録済のフォーム名を指定してフォームオーバレイ印刷のプリント言語を出力する。プリンタフォーム登録部１１２ｆは、フォームが未登録である旨の情報を受け取ると、必要なフォームファイル３１ｂをＨＤＤ３１内から取得し、プリンタ３２に送信する。
【００３８】
図形文字出力部１１３は、出力図形検査部１１３ａを有している。出力図形検査部１１３ａは、アプリケーション１０１から印刷指令を受け取る際に、フォーム指示部１１１ｂの内容を調べる。そして、アプリケーションから指定された図形等の描画属性が、フォームを構成する図形である場合には、ＰＤＬコマンド出力処理部１１３ｂを呼び出す。一方、アプリケーションから指定された図形等の描画属性が、フォームを構成する図形でない場合には、無出力処理部１１３ｃを呼び出す。ＰＤＬコマンド出力処理部１１３ｂは、出力図形検査部１１３ａに呼び出されると、アプリケーション１０１が出力したＰＬＤコマンドをプリンタ３２に出力する。無出力処理部１１３ｃは、出力図形検査部１１３ａに呼び出されると、アプリケーション１０１が出力したＰＬＤコマンドをプリンタ３２に発行せずに廃棄する。
【００３９】
以上のような構成のプリンタドライバ１１０において、ユーザがアプリケーション１０１から印刷設定の指令を入力すると、プリンタドライバ１１０の画面設定部１１１が呼び出される。すると、画面設定制御部１１１ａがプリンタ設定用のダイアログを画面に表示する。ユーザがそのダイアログに所望の値を入力すると、その情報がフォーム指示部１１１ｂに格納される。
【００４０】
ついで、アプリケーション１０１から印刷開始の指令が入力されると、印刷開始部１１２と図形出力部１１３とが呼び出される。そして、印刷開始部１１２の印刷動作検査部１１２ａと図形文字出力部１１３内の出力図形検査部１１３ａとが、フォーム指示部１１１ｂにおけるフォーム指示を検査する。
【００４１】
フォーム指示が通常のフォーム作成の場合には、印刷開始部１１２内の印刷用ＰＤＬ出力処理部１１２ｂが印刷のためのプリント言語をプリンタ３２に出力する。図形文字出力部１１３では、アプリケーション１０１から出力された図形の全てを出力する必要があると判断され、ＰＤＬコマンド出力処理部１１３ｂが所定のＰＤＬコマンドを出力する。
【００４２】
フォーム作成の場合には、印刷開始部１１２内のフォーム作成指示ＰＤＬ出力処理部１１２ｃが、フォーム名を付加してフォーム定義用のプリント言語データを出力する。図形文字出力部１１３では、アプリケーション１０１から出力された図形がフォーム作成時に出力する必要がある場合には、ＰＤＬコマンド出力処理部１１３ｂが所定のＰＤＬコマンドを出力し、必要が無い場合には、無出力処理部１１３ｃが呼び出され、出力ＰＤＬコマンドの発行を停止する。
【００４３】
また、フォーム指示がオーバレイ印字の場合には、印刷開始部１１２のフォーム登録済検査部１１２ｄが呼び出される。フォーム登録済検査部１１２ｄは、ＨＤＤ３１内のフォーム登録状況ファイル３１ａに登録されたフォーム名を検査する。そして、アプリケーションから指定されたフォーム名がフォーム登録状況ファイル３１ａに登録されていれば、そのフォームはプリンタ３２のＨＤＤ３３に登録済であるため、登録済フォーム使用指示ＰＤＬ出力処理部１１２ｅを通じて、使用するフォームを指定するコマンドが発行される。一方、使用すべきフォームのフォーム名がＨＤＤ３１に登録されていない場合には、プリンタフォーム登録部１１２ｆがフォームファイル３１ｂをプリンタ３２に送信するとともに、フォームが登録されたことを示す情報をフォーム登録状況ファイル３１ａに格納する。
【００４４】
次に、本発明のフォームオーバレイ装置を用いたフォームオーバレイ印刷を行う際の、ユーザの操作内容について具体的に説明する。
図４は第１の形態のアプリケーションにおける印刷レイアウト設計画面を示す図である。この図は、リレーショナルデータベースソフトにおける印刷レイアウト設計画面４０である。印刷レイアウト設計画面４０にはメニューバー４１があり、このメニューバー４１には、各種コマンドを選択するためのメニューが登録されている。メニューバー４１の下には、特定のコマンドを実行させるためのボタンが並べられたツールバー４２が設けられている。このツールバー４２の左下には、ラベルやテキスト等を追加するためのツールボックス４３が設けられている。ツールボックス４３の右側に、印刷レイアウト表示部４４がある。
【００４５】
ユーザは、メニューバー４１、ツールバー４２、あるいはツールボックス４３から目的のコマンドを選択することにより、目的通りの印刷レイアウトを設計する。そのコマンドによる設定の結果が、印刷レイアウト表示部４４に表示される。
【００４６】
例えば、印刷レイアウト表示部４４内の「商品名」と名づけられたラベル４４ａのフォントの属性を変更するには、まずマウスにより、ラベル４４ａを指定する。そして、ツールバー４２内のフォント名のテキストボックス４２ａ内に、所望のフォント名を入力する。さらに、そのフォントのサイズを変更するためには、フォントサイズのテキストボックス４２ｂ内に、所望のフォントサイズを、ドット数によって指定する。
【００４７】
このようにして、印刷レイアウトを作成することができる。印刷レイアウトを作成したユーザは、データベースからデータを取得してレポートを印刷する。レポートの印刷には、アプリケーションの印刷機能を使用する。具体的には、メニューバー４１の「ファイル」のメニューを開き、印刷のコマンドを実行する。印刷のコマンドを実行すると、そのアプリケーションに設定された印刷設定画面が表示される。その画面から本発明のプリンタドライバ１１０を指定して、プリンタ設定の項目を選択することにより、画面設定部１１１が呼び出される。そして、画面設定制御部１１１ａが、詳細な設定をユーザに行わせるためのプリンタ設定画面を表示する。
【００４８】
図５は第１の形態のプリンタ設定画面を示す図である。プリンタ設定画面５０には、制御対象であるプリンタ３２の持っている機能に対応した、各種設定事項が表示されている。
【００４９】
「印刷部数」のテキストボックス５１には、ユーザが印刷しようとする部数を入力する。「用紙」のテキストボックス５２には、印刷する用紙のサイズを入力する。「拡大・縮小」の設定部５３には、出力用紙サイズ、Ｎ−Ｕｐ種類、及び拡大・縮小の倍率等を設定する。「拡張機能」の設定部５４には、給紙トレイの選択、排出方法の選択、及び両面印刷に関する情報等の設定項目を入力する。用紙方向の設定部５５には、用紙の向きを設定する。印刷結果表示部５６には、現在の設定通りに印字したときの印刷イメージが表示される。排出先表示部５７には、設定された排出先が実際のプリンタのどこにあたるのかを、図によって表わしている。
【００５０】
プリンタ設定画面５０の右側には、各種コマンドボタン５８が配置されている。このコマンドボタン５８の中には、フォームボタン５８ａがある。このフォームボタン５８ａを押下すると、フォームオーバレイ設定画面が表示される。
【００５１】
図６は第１の形態のフォームオーバレイ設定画面を示す図である。フォームオーバレイ設定画面６０には、フォームファイル作成時設定部６１と、オーバレイ印字時設定部６２とがある。これらの設定部には、チェックボックスが設けられており、ユーザは、どちらか一方をチェックする。フォームファイルを作成する場合にはフォームファイル作成時設定部６１を選択し、フォームとの重ね合わせによるオーバレイ印刷を行う場合にはオーバレイ印字時設定部６２を選択する。通常の印刷を行う場合には、いずれのチェックボックスもチェックしない。
【００５２】
フォームファイル作成時設定部６１を選択した際には、作成するフォームを格納するディレクトリ、フォーム名、及びフォームを構成する図形の属性を指定する。この例では、選択した図形以外の全ての図形が、フォーム図形として指定される。図示しているように「中ゴシックフォント」を指定すれば、このフォント以外の全ての図形、文字列、及びイメージがフォームファイルとして出力される。
【００５３】
オーバレイ印字時設定部６２を選択した際には、フォームファイルのディレクトリ位置、ファイル名、及びフォームに重ねて印字すべき図形の属性を指定する。この例では、選択した図形が印字すべきデータとして出力される。図示しているように「中ゴシックフォント」を指定すれば、このフォントが印刷データとして出力される。
【００５４】
以下に、プリンタドライバ１１０における処理内容をフローチャートを用いて、ステップ番号に沿って説明する。
図７は第１の形態のフォーム画面設定処理の手順を示すフローチャートである。これは、図３に示す画面設定部１１１ａで行われる処理であり、アプリケーションの印刷設定から呼び出されることにより実行される。具体的には、図５に示すプリンタ設定画面５０で、「フォーム」のボタン５８ａが押下されることにより実行される。
【００５５】
〔Ｓ１〕画面設定制御部１１１ａが、表示装置の画面上にフォーム設定画面を表示する。
〔Ｓ２〕画面設定制御部１１１ａは、キーボート等の入力装置からの入力を受け付け、フォーム設定画面のイベントを取得する。
【００５６】
〔Ｓ３〕画面設定制御部１１１ａは、ユーザが「ＯＫ」ボタンを押下したか否かを判断する。押下されていなければステップＳ４に進み、押下されていればステップＳ５に進む。
【００５７】
〔Ｓ４〕画面設定制御部１１１ａは、ユーザの操作による各種イベント処理を行い、ステップＳ３に進む。即ち、「ＯＫ」ボタンが押下されるまで、マウスのイベントに対応する処理を繰り返し実行する。
【００５８】
〔Ｓ５〕画面設定制御部１１１ａは、［フォーム作成］のチェックボックスがチェックされているか否かを判断する。チェックされていればステップＳ６に進み、チェックされていなければステップＳ１０に進む。
【００５９】
〔Ｓ６〕フォーム指示部１１１ｂは、動作モードを「フォーム作成」とする。
〔Ｓ７〕フォーム指示部１１１ｂは、フォーム設定画面で指定したディレクトリ名を共通のデータ領域に格納する。
【００６０】
〔Ｓ８〕フォーム指示部１１１ｂは、フォーム設定画面で指定したフォーム名を共通のデータ領域に格納する。
〔Ｓ９〕フォーム指示部１１１ｂは、フォーム設定画面で指定した非出力図形の識別情報を共通のデータ領域に格納し、処理を終了する。
【００６１】
〔Ｓ１０〕ステップＳ５において［フォーム作成］のチェックボックスがチェックされていないと判断された場合には、画面設定制御部１１１ａは、［オーバレイ印字］のチェックボックスがチェックされているか否かを判断する。チェックされていればステップＳ１２に進み、チェックされていなければステップＳ１１に進む。
【００６２】
〔Ｓ１１〕フォーム指示部１１１ｂは、動作モードを「通常印刷」として、処理を終了する。
〔Ｓ１２〕フォーム指示部１１１ｂは、動作モードを「オーバレイ印刷」とする。
【００６３】
〔Ｓ１３〕フォーム指示部１１１ｂは、フォーム設定画面で指定したディレクトリ名を共通のデータ領域に格納する。
〔Ｓ１４〕フォーム指示部１１１ｂは、フォーム設定画面で指定したフォーム名を共通のデータ領域に格納する。
【００６４】
〔Ｓ１５〕フォーム指示部１１１ｂは、フォーム設定画面で指定した出力図形の属性を共通のデータ領域に格納し、処理を終了する。
次に、アプリケーションからの印刷命令が出力された際の処理を説明する。
【００６５】
図８は第１の形態の印刷開始処理の手順を示すフローチャートである。これは、印刷開始部１１２が行う処理であり、アプリケーションからの印刷指令が出力され、文書印刷開始処理（DrvStartDoc 関数）が呼び出されることにより実行される。
【００６６】
〔Ｓ２１〕印刷動作検査部１１２ａは、フォーム指示部１１１ｂの設定された動作モードが「オーバレイ印字」か否かを判断する。「オーバレイ印字」であればステップＳ２５に進み、オーバレイ印刷でなければステップＳ２２に進む。
【００６７】
〔Ｓ２２〕印刷動作検査部１１２ａは、フォーム指示部１１１ｂの設定された動作モードが「フォーム作成」か否かを判断する。「フォーム作成」であればステップＳ２４に進み、「フォーム作成」でなければステップＳ２３に進む。
【００６８】
〔Ｓ２３〕動作モードが「オーバレイ印字」と「フォーム作成」とのいずれでもないと判断されれば、動作モードは「通常動作」であるため、印刷用ＰＤＬ出力処理部１１２ｂは、通常の印刷に必要な出力用紙サイズを指定するＰＤＬコマンドを発行し、処理を終了する。
【００６９】
〔Ｓ２４〕動作モードが「フォーム作成」であれば、フォーム作成指示ＰＤＬ出力処理部１１２ｃは、作成フォーム名を指定するＰＤＬコマンドを発行し、処理を終了する。
【００７０】
〔Ｓ２５〕動作モードが「オーバレイ印字」であれば、フォーム登録済検査部１１２ｄが、ＨＤＤ３１からフォーム登録状況ファイル３１ａを読み込む。
〔Ｓ２６〕フォーム登録済検査部１１２ｄは、フォーム登録状況ファイル３１ａ内に、使用するフォーム名が存在するか否かを判断する。フォーム名が存在すればステップＳ２９に進み、フォーム名が存在しなければステップＳ２７に進む。
【００７１】
〔Ｓ２７〕プリンタフォーム登録部１１２ｆは、フォーム設定画面で指定されたディレクトリとフォーム名とで特定できるフォームファイル３１ｂをプリンタに送信する。
【００７２】
〔Ｓ２８〕プリンタフォーム登録部１１２ｆは、フォーム登録状況ファイル３１ａに、送信したフォームのフォーム情報（フォームファイル名、ディレクトリの位置、登録フォーム名）を格納する。これにより、以後、同じフォームを参照する場合には、このフォーム登録状況ファイルに登録されているため、再度フォームファイルをプリンタに送信することはない。
【００７３】
〔Ｓ２９〕登録済フォーム使用指示ＰＤＬ出力処理部１１２ｅは、使用フォーム名を指定するＰＤＬコマンドを発行する。
〔Ｓ３０〕印刷用ＰＤＬ出力処理部１１２ｂは、通常の印刷に必要な出力用紙サイズを指定するＰＤＬコマンドを発行し、処理を終了する。
【００７４】
次に、図形描画処理を説明する。
図９は第１の形態の図形描画処理の手順を示すフローチャートである。これは、図形文字出力部１１３が行う処理であり、アプリケーションからの印刷動作によってプリンタドライバの図形描画処理(DrvTextOut やDrvBitBlt 等）が呼び出されることにより実行される。
【００７５】
〔Ｓ４１〕出力図形検査部１１３ａは、フォーム指示部１１１ｂの設定された動作モードを検査し、動作モードが「オーバレイ印字」か否かを判断する。「オーバレイ印字」であればステップＳ４２に進み、オーバレイ印刷でなければステップＳ４３に進む。
【００７６】
〔Ｓ４２〕出力図形検査部１１３ａは、描画図形が出力図形か否かを判断する。出力図形であればステップＳ４５に進み、出力図形でなければ処理を終了する。
【００７７】
〔Ｓ４３〕出力図形検査部１１３ａは、フォーム指示部１１１ｂを検査し、動作モードが「フォーム作成」か否かを判断する。「フォーム作成」であればステップＳ４４に進み、「フォーム作成」でなければステップＳ４５に進む。
【００７８】
〔Ｓ４４〕出力図形検査部１１３ａは、描画図形が非出力図形か否かを判断する。非出力図形であれば処理を終了し、非出力図形でなければステップＳ４５に進む。
【００７９】
〔Ｓ４５〕ＰＤＬコマンド出力処理部１１３ｂは、図形の描画用のプリント言語データ（ＰＤＬ）を発行し、処理を終了する。
この図形描画処理により、必要最低限のプリント言語データのみが、プリンタに転送される。例えば、動作モードがオーバレイ印字であった場合において、印字すべき図形として図６のように「中ゴシックフォント」が指定されていた場合、これから出力しようとする図形が「中ゴシック」であれば印字用のプリント言語データ（ＰＤＬ）をプリンタに送信するが、「中ゴシック」以外であれば何も出力しない。また、動作モードがフォーム作成であった場合において、フォームを構成する図形の指定が、図６のように「中ゴシックフォント以外」であった場合、これから出力しようとする図形が「中ゴシック以外」であれば印字用のプリント言語データ（ＰＤＬ）をプリンタに送信するが、「中ゴシック」であれば何も出力しない。
【００８０】
なお、動作モードが通常の印刷であれば、アプリケーションから出力した描画命令に含まれる全ての図形の印字用のプリント言語データ（ＰＤＬ）をプリンタに送信することになる。
【００８１】
以上のような処理が行われることにより、フォームオーバレイ機能を持っていないアプリケーションからでもフォームオーバレイ印刷が可能となり、高速印刷が実現される。即ち、従来の技術でフォームを作成するには、データベースフィールド位置とフォームの罫線位置を正しく指定しなければならない等の煩雑な設定が必要であったが、本発明では、プリンタドライバにおいて出力図形を指定するだけでフォームを作成することができる。そのため、ユーザにかかる負担が少ない。しかも、出力図形の抽出は、描画命令の属性を識別することによって行われるため、複雑な処理を必要とせず、プリンタドライバを廉価に提供することができる。
【００８２】
また、フォームオーバレイ印刷の際には、フォームデータ以外の図形データのみをプリンタに転送すればよいため、パソコンとプリンタ間の転送データ量が少なくてすみ、印刷速度が高速である。しかも、プリンタに登録したフォームデータの情報をパソコン側で保持しておき、オーバレイ印刷を行う際には、必要なフォームデータがプリンタに格納されていない場合にのみ、フォームデータをプリンタに転送するようにしたため、ユーザが意識しなくても、既に登録されたフォームを使用したオーバレイ印刷の際にはフォームデータは転送されず、高速の転送が維持される。
【００８３】
なお、上記のような機能をコンピュータに実現させるためのプリンタドライバは、機械読み取り可能な記録媒体に記録されている。コンピュータで実行する場合は、ハードディスク装置や半導体メモリ等にプリンタドライバのプログラムが記録されており、プリンタドライバを配布する際には、フロッピーディスクやＣＤーＲＯＭ等に記録される。
【００８４】
また、上記の説明ではフォント名により図形の選択を行っているが、図形の色、図形の種類（イメージ、直線、曲線、文字）、フォントの修飾属性（太字、イタリック等）、フォントのポイント数等によりフォームを選択することもできる。
【００８５】
次に、本発明の第２の形態について説明する。
なお、本形態におけるパーソナルコンピュータおよびプリンタなどのハードウェア構成は、図２に示した第１の形態と同じものを使用する。
【００８６】
まず、アプリケーション１０１における印刷レイアウト設計についての説明を行う。
図１０は第２の形態のアプリケーションにおける印刷レイアウト設計画面を示す図である。印刷レイアウト設計画面７０は、リレーショナルデータベースソフト上の画面である。印刷レイアウト設計画面７０にはメニューバー７１があり、このメニューバー７１には、各種コマンドを選択するためのメニューが登録されている。メニューバー７１の下には、特定のコマンドを実行させるためのボタンが並べられたツールバー７２が設けられている。このツールバー７２の左下には、ラベルやテキスト等を追加するためのツールボックス７３が設けられている。ツールボックス７３の右側に、印刷レイアウト表示部７４がある。
【００８７】
ユーザは、メニューバー７１、ツールバー７２、あるいはツールボックス７３から目的のコマンドを選択することにより、目的通りの印刷レイアウトを設計する。そのコマンドによる設定の結果が、印刷レイアウト表示部７４に表示される。
【００８８】
例えば、印刷レイアウト表示部７４内の「商品名」と名づけられたラベル７４ａのフォントの属性を変更するには、まずマウスにより、ラベル７４ａを指定する。そして、ツールバー７２内のフォント名のテキストボックス７２ａ内に、所望のフォント名を入力する。さらに、そのフォントのサイズを変更するためには、フォントサイズのテキストボックス７２ｂ内に、所望のフォントサイズを、ドット数によって指定する。
【００８９】
また、ユーザは、印刷レイアウトの設計が完了すると、図面の「フィールド１」「フィールド２」などのように印字データの表示されている部分を矩形の指定領域７５で囲む。このとき、指定領域７５は、例えば図面上の矩形データの階層が最下層の矩形データとして設定する。これにより、内部的に指定領域７５を他の矩形データと区別することができる。なお、最下層である指定領域７５は、プリンタドライバ１１０へは先頭の描画命令として送られるものとする。また、指定領域７５内のフォームデータと印字データとの区別は、後述するフォーム設定画面で設定することができる。
【００９０】
このようにして、印刷レイアウトを作成したユーザは、データベースからデータを取得してレポートを印刷する。レポートの印刷には、アプリケーションの印刷機能を使用する。具体的には、メニューバー７１の「ファイル」のメニューを開き、印刷のコマンドを実行する。印刷のコマンドを実行すると、そのアプリケーションに設定された印刷設定画面が表示される。その画面から本発明のプリンタドライバ１１０を指定して、プリンタ設定の項目を選択することにより、図５で示したプリンタ設定画面５０が表示される。そして、このプリンタ設定画面５０上のフォームボタン５８ａを押すことにより、フォームオーバレイ設定画面が表示される。
【００９１】
図１１は第２の形態のフォームオーバレイ設定画面を示す図である。フォームオーバレイ設定画面８０には、フォームファイル作成時設定部８１と、オーバレイ印字時設定部８２とがある。これらの設定部には、チェックボックスが設けられており、ユーザは、どちらか一方をチェックする。フォームファイルを作成する場合にはフォームファイル作成時設定部８１を選択し、一方、フォームとの重ね合わせによるオーバレイ印刷を行う場合には、オーバレイ印字時設定部８２を選択する。さらに、通常の印刷を行う場合には、いずれのチェックボックスもチェックしない。
【００９２】
フォームファイル作成時設定部８１を選択した際には、作成するフォームを格納するディレクトリ、フォーム名の入力を行う。また、フォームファイル作成時設定部８１には、「最下層の矩形の範囲を指定領域にする」というチェックボックス８１ａが設けられている。このチェックボックス８１ａをチェックすると、図１０で設定した指定領域７５の範囲内の図形データのうち、テキストボックス８１ｂで選択表示しているフォントの文字データ以外をフォームファイルとして出力する処理が行われる。図の例で言えば、指定領域７５内の「中ゴシックフォント」の文字データ以外の全ての図形、文字列、およびイメージが、フォームファイルとして出力される。
【００９３】
フォームファイル作成の操作が終了すると、アプリケーション１０１からの文書名と、作成したフォームのディレクトリ位置、ファイル名およびフォーム名とを対にして、パソコン１００のハードディスク３１に格納される。
【００９４】
一方、オーバレイ印字時設定部８２を選択した際には、フォームを格納するディレクトリ、フォーム名の入力を行う。このとき、同じ文書名で過去にフォーム設定がなされていれば、ハードディスク３１からフォームのディレクトリ位置、ファイル名およびフォーム名が自動的に読み出され、画面上の各欄に表示される。また、オーバレイ印字時設定部８２にも、フォームファイル作成時設定部８１と同様に、「最下層の矩形の範囲を指定領域にする」というチェックボックス８２ａが設けられている。
【００９５】
このチェックボックス８２ａをチェックすると、図１０で設定した指定領域７５の範囲内の描画データのうち、テキストボックス８２ｂで選択表示しているフォントの文字データを印字データとして出力する処理が行われる。即ち、図の例で言えば、指定領域７５内の「中ゴシックフォント」の文字データが、印字データとして出力される。出力された印字データは、先に出力されプリンタ３２のハードディスク３３に格納されたフォームデータと重ねて印刷される。
【００９６】
次に、このような処理を実行するためのプリンタドライバ１１０の構成を説明する。
図１２は第２の形態のプリンタドライバの内部構成を示すブロック図である。なお、プリンタドライバはアプリケーションから呼び出される手続きの集まりであり、この図に示す各構成要素は、各手続きの処理を機能ブロックとして表現したものである。
【００９７】
プリンタドライバ１１０は、処理内容の設定を受け付ける画面設定部９１、印刷を開始する際のプリンタの制御を行う印刷開始部９２、及び図形ごとのコマンドの出力を制御する図形文字出力部９３で構成されている。
【００９８】
画面設定部９１内の画面設定制御部９１ａは、アプリケーション１０１からの呼び出しに応じてプリンタの設定画面を表示装置に表示する。フォーム指示部９１ｂは、設定されたフォームオーバレイに関する指示を共通のデータ領域に保持する。ここで、共通のデータ領域とは、他の手続きからもアクセス可能なデータ領域である。また、このとき、アプリケーション１０１からの文書名と、作成されたフォームのディレクトリ位置、ファイル名およびフォーム名とを対にして、ＨＤＤ３１に格納する。
【００９９】
オーバレイ印字の設定時、画面設定制御部９１ａは、アプリケーション１０１から指示された文書名がＨＤＤ３１に存在するかどうかを判断し、存在すれば、対応するデータを読み出して、画面上に設定データとして自動的に表示する。
【０１００】
印刷開始部９２内の印刷動作検査部９２ａは、アプリケーションより印刷開始指示が出されると、フォーム指示部９１ｂの内容を調べ、通常の印刷動作か、フォーム作成か、あるいはオーバレイ印刷かを検査する。そして、通常の印刷動作の場合には印刷用ＰＤＬ（Page Description Language ）出力処理部９２ｂに指令を伝え、フォーム作成の場合には無出力処理部９２ｃに指令を伝え、オーバレイ印刷の場合にはフォーム登録済検査部９２ｄに指令を伝える。フォーム登録済検査部９２ｄは、フォーム指示で指定されたフォームがすでにプリンタに登録されているか否かを、ＨＤＤ３１内のフォーム登録状況ファイル３１ａを検索することにより判断する。
【０１０１】
また、印刷動作検査部９２ａは、フォーム指示部９１ｂのフォーム指示が、「最下層の矩形の範囲を指定領域にする」設定になっていれば、アプリケーション１０１から最初に渡された矩形データの位置や範囲を保存しておく。さらに、それ以後アプリケーション１０１から送られてくる図形データが、オーバレイ印字データとして出力する必要のあるデータの場合、即ち、図１１の設定例で言えば、指定領域７５内の中ゴシックフォントの文字の図形データである場合には、印刷用ＰＤＬコマンド出力処理部９２ｂを呼び出す。印刷用ＰＤＬコマンド出力処理部９２ｂは、印刷動作検査部９２ａに呼び出されると、アプリケーション１０１が出力した印刷用ＰＬＤコマンドをプリンタ３２に出力する。
【０１０２】
一方、アプリケーションから送られてくる図形データが、オーバレイ印字データとして出力する必要のない図形の場合、即ち、図１１の設定例で言えば、指定領域７５内の中ゴシックフォント以外のデータである場合には、印刷動作検査部９２ａは無出力処理部９２ｃを呼び出す。無出力処理部９２ｃは、印刷動作検査部９２ａに呼び出されると、アプリケーション１０１が出力したＰＬＤコマンドを、プリンタ３２に発行せずに廃棄する。
【０１０３】
登録済フォーム使用指示ＰＤＬ出力処理部９２ｅは、登録済のフォーム名を指定してフォームオーバレイ印刷のプリント言語を出力する。プリンタフォーム登録部９２ｆは、フォームが未登録である旨の情報を受け取ると、必要なフォームファイル３１ｂをＨＤＤ３１内から取得し、プリンタ３２に送信する。
【０１０４】
図形文字出力部９３は、出力図形検査部９３ａを有している。出力図形検査部９３ａは、アプリケーション１０１から印刷指令を受け取る際に、フォーム指示部９１ｂの内容を調べる。そして、フォーム指示が、「最下層の矩形の範囲を指定領域にする」設定になっていれば、アプリケーション１０１から最初に渡された矩形データの位置や範囲を保存しておく。さらに、それ以後アプリケーション１０１から送られてくる図形データが、フォームを構成する図形である場合、即ち、図１１の設定例で言えば、指定領域７５内の中ゴシックフォントの文字以外の図形データである場合には、ＰＤＬコマンド出力処理部９３ｂを呼び出す。ＰＤＬコマンド出力処理部９３ｂは、出力図形検査部９３ａに呼び出されると、アプリケーション１０１が出力したＰＬＤコマンドをプリンタ３２に出力する。
【０１０５】
一方、アプリケーションから送られてくる図形データが、フォームを構成する図形でない場合、即ち、図１１の設定例で言えば、指定領域７５内の中ゴシックフォントの文字データである場合には、無出力処理部９３ｃを呼び出す。無出力処理部９３ｃは、出力図形検査部９３ａに呼び出されると、アプリケーション１０１が出力したＰＬＤコマンドを、プリンタ３２に発行せずに廃棄する。
【０１０６】
次に、本発明第２の形態のプリンタドライバ１１０における具体的な処理手順をフローチャートを参照して説明する。
図１３は第２の形態のフォームオーバレイ画面設定処理の手順を示すフローチャートである。これは、図１２の画面設定制御部９１ａで行われる処理であり、アプリケーションの印刷設定から呼び出されることにより実行される。具体的には、図５に示すプリンタ設定画面５０で「フォーム」ボタン５８ａが押されることにより実行される。
【０１０７】
〔Ｓ５１〕表示装置の画面上にフォームオ−バレイ設定画面８０を表示する。
〔Ｓ５２〕キーボート等の入力装置からの入力を受け付け、フォーム設定画面のイベントを取得する。
【０１０８】
〔Ｓ５３〕「ＯＫ」ボタン８３が押下されたか否かを判断する。押下されていなければステップＳ５４に進み、押下されていればステップＳ５８に進む。
〔Ｓ５４〕［オーバレイ印字］のチェックボックスがチェックされているか否かを判断する。チェックされていなければステップＳ５５に進み、チェックされていればステップＳ５６に進む。
【０１０９】
〔Ｓ５５〕ユーザの操作による各種イベント処理を行い、ステップＳ５３に戻る。即ち、「ＯＫ」ボタン８３が押下されるまで、マウスのイベントに対応する処理を繰り返し実行する。
【０１１０】
〔Ｓ５６〕同じ文書名で過去に設定されたフォームが存在するか否かを判断する。存在すればステップＳ５７に進み、存在しなければステップＳ５３に戻る。
〔Ｓ５７〕ＨＤＤ３１からフォームのディレクトリ位置、ファイル名およびフォーム名を自動的に読み出し、画面上の各欄に表示する。
【０１１１】
〔Ｓ５８〕フォームオ−バレイ設定画面８０で設定された各種フォーム設定データの処理を行う。
図１４は図１３のステップＳ５８のフォーム設定データ処理の具体的な手順を示すフローチャートである。
【０１１２】
〔Ｓ６１〕［フォームファイル作成］のチェックボックスがチェックされているか否かを判断する。チェックされていればステップＳ６２に進み、チェックされていなければステップＳ６７に進む。
【０１１３】
〔Ｓ６２〕動作モードを「フォーム作成」とする。
〔Ｓ６３〕フォームオーバレイ設定画面８０で指定したフォーム名を共通のデータ領域に格納する。
【０１１４】
〔Ｓ６４〕フォームオーバレイ設定画面８０で指定したフォーム時の非出力図形が何かを示すデータを格納する。即ち、図１１の設定例で言えば、「指定領域７５内の中ゴシックフォントの文字」を格納する。
【０１１５】
〔Ｓ６５〕フォームオーバレイ設定画面８０のチェックボックス８１ａのチェック状態、即ち、「最下層の矩形の範囲を指定領域にする」がチェックされているかどうかの状態を格納する。
【０１１６】
〔Ｓ６６〕フォームオーバレイ設定画面８０で指定したフォーム名と文書名とを対にして格納する。
〔Ｓ６７〕ステップＳ６１において［フォーム作成］のチェックボックスがチェックされていないと判断された場合には、［オーバレイ印字］のチェックボックスがチェックされているか否かを判断する。チェックされていればステップＳ６９に進み、チェックされていなければステップＳ６８に進む。
【０１１７】
〔Ｓ６８〕動作モードを「通常印刷」として、処理を終了する。
〔Ｓ６９〕動作モードを「オーバレイ印刷」とする。
〔Ｓ７０〕フォームオーバレイ設定画面８０で指定したフォーム名を共通のデータ領域に格納する。
【０１１８】
〔Ｓ７１〕フォームオーバレイ設定画面８０で指定したオーバレイ時の出力図形が何かを示すデータを格納する。即ち、図１１の設定例で言えば、「指定領域７５内の中ゴシックフォントの文字」を格納する。
【０１１９】
〔Ｓ７２〕フォームオーバレイ設定画面８０のチェックボックス８１ａのチェック状態、即ち、「最下層の矩形の範囲を指定領域にする」がチェックされているかどうかの状態を格納する。
【０１２０】
〔Ｓ７３〕フォームオーバレイ設定画面８０で指定したフォーム名と文書名とを対にして格納する。
次に、アプリケーションからの印刷命令が出力された際の処理を説明する。
【０１２１】
図１５は第２の形態の印刷開始処理の手順を示すフローチャートである。これは、印刷開始部１１２が行う処理であり、アプリケーションからの印刷指令が出力され、文書印刷開始処理（DrvStartDoc 関数）が呼び出されることにより実行される。
【０１２２】
〔Ｓ８１〕動作モードが「オーバレイ印字」か否かを判断する。「オーバレイ印字」であればステップＳ８５に進み、オーバレイ印刷でなければステップＳ８２に進む。
【０１２３】
〔Ｓ８２〕動作モードが「フォーム作成」か否かを判断する。「フォーム作成」であればステップＳ８４に進み、「フォーム作成」でなければステップＳ８３に進む。
【０１２４】
〔Ｓ８３〕動作モードが「オーバレイ印字」と「フォーム作成」とのいずれでもないと判断されれば、動作モードは「通常動作」であるため、通常の印刷に必要な出力用紙サイズを指定するＰＤＬコマンドを発行し、処理を終了する。
【０１２５】
〔Ｓ８４〕動作モードが「フォーム作成」であれば、作成フォーム名を指定するＰＤＬコマンドを発行し、処理を終了する。
〔Ｓ８５〕動作モードが「オーバレイ印字」であれば、ＨＤＤ３１からフォーム登録状況ファイル３１ａを読み込む。
【０１２６】
〔Ｓ８６〕フォーム登録状況ファイル３１ａ内に、使用するフォーム名が存在するか否かを判断する。フォーム名が存在すればステップＳ８９に進み、フォーム名が存在しなければステップＳ８７に進む。
【０１２７】
〔Ｓ８７〕フォームオーバレイ設定画面８０で指定されたディレクトリとフォーム名とで特定できるフォームファイル３１ｂをプリンタに送信する。
〔Ｓ８８〕送信したフォームのフォーム情報（フォームファイル名、ディレクトリの位置、登録フォーム名）をフォーム登録状況ファイル３１ａに格納する。
【０１２８】
〔Ｓ８９〕使用フォーム名を指定するＰＤＬコマンドを発行する。
〔Ｓ９０〕通常の印刷に必要な出力用紙サイズを指定するＰＤＬコマンドを発行し、処理を終了する。
【０１２９】
〔Ｓ９１〕指定領域の位置や範囲を保持するためのＨＤＤ３１内のデータ領域ＡＲＥＡを０にする。
次に、図形描画処理を説明する。
【０１３０】
図１６は第２の形態の図形描画処理の手順を示すフローチャートである。これは、図形文字出力部１１３が行う処理であり、アプリケーションからの印刷動作によってプリンタドライバの図形描画処理(DrvTextOut やDrvBitBlt 等）が呼び出されることにより実行される。
【０１３１】
〔Ｓ１０１〕設定された動作モードを検査し、動作モードが「オーバレイ印字」か否かを判断する。「オーバレイ印字」であればステップＳ１０２に進み、オーバレイ印刷でなければステップＳ１０３に進む。
【０１３２】
〔Ｓ１０２〕後述するオーバレイ印字処理を実行する。
〔Ｓ１０３〕動作モードが「フォーム作成」か否かを判断する。「フォーム作成」であればステップＳ１０４に進み、「フォーム作成」でなければステップＳ１０５に進む。
【０１３３】
〔Ｓ１０４〕後述するフォーム作成処理を実行する。
〔Ｓ１０５〕図形の描画用のプリント言語データ（ＰＤＬ）を発行し、処理を終了する。
【０１３４】
図１７は図１６のステップＳ１０２のオーバレイ印字処理の具体的な処理手順を示すフローチャートである。
〔Ｓ１１１〕指定領域によるデータの分離を実行するモードがユーザにより設定されているか否か、即ち、図１１のフォームオーバレイ設定画面８０においてチェックボックス８２ａがチェックされているか否かを判断し、されていればステップＳ１１２に進み、されていなければステップＳ１１５に進む。
【０１３５】
〔Ｓ１１２〕アプリケーションから送られてきた描画命令が読み込み始めてから最初の矩形描画命令であるか否かを判断する。最初の矩形描画命令であればステップＳ１１３に進み、そうでなければステップＳ１１４に進む。
【０１３６】
〔Ｓ１１３〕ＨＤＤ３１内のデータ領域ＡＲＥＡに最初の矩形描画命令の位置や範囲の値を設定する。
〔Ｓ１１４〕描画命令の図形がステップＳ１１３で設定されたＡＲＥＡの範囲内に存在するか否かを判断する。存在すればステップＳ１１５に進み、存在しなければ本フローチャートを終了し、次の描画命令の入力を待つ。
【０１３７】
〔Ｓ１１５〕描画命令の図形がオーバレイ出力する図形であるか否か、即ち、フォームオーバレイ設定画面８０においてオーバレイ印字のテキストボックス８２ｂで設定された文字フォント（図の例では中ゴシックフォント）であるか否かを判断する。設定されたものであればステップＳ１１６に進み、そうでなければ本フローチャートを終了し、次の描画命令の入力を待つ。
【０１３８】
〔Ｓ１１６〕図形の描画用のプリント言語データ（ＰＤＬ）を発行し、処理を終了する。
図１８は図１６のステップＳ１０３のフォーム作成処理の具体的な処理手順を示すフローチャートである。
【０１３９】
〔Ｓ１２１〕指定領域によるデータの分離を実行するモードがユーザにより設定されているか否か、即ち、図１１のフォームオーバレイ設定画面８０においてチェックボックス８１ａがチェックされているか否かを判断し、されていればステップＳ１２２に進み、されていなければステップＳ１２６に進む。
【０１４０】
〔Ｓ１２２〕アプリケーションから送られてきた描画命令が読み込み始めてから最初の矩形描画命令であるか否かを判断する。最初の矩形描画命令であればステップＳ１２３に進み、そうでなければステップＳ１２４に進む。
【０１４１】
〔Ｓ１２３〕ＨＤＤ３１内のデータ領域ＡＲＥＡに最初の矩形描画命令の位置や範囲の値を設定する。
〔Ｓ１２４〕描画命令の図形がステップＳ１２３で設定されたＡＲＥＡの範囲内に存在するか否かを判断する。存在すればステップＳ１２６に進み、存在しなければステップＳ１２５に進む。
【０１４２】
〔Ｓ１２５〕図形の描画用のプリント言語データ（ＰＤＬ）を発行し、処理を終了する。
〔Ｓ１２６〕描画命令の図形がオーバレイ出力しない図形であるか否か、即ち、フォームオーバレイ設定画面８０においてフォーム作成のテキストボックス８１ｂで設定された文字フォント（図の例では中ゴシックフォント）以外の図形であるか否かを判断する。オーバレイ出力しない図形であればステップＳ１２７に進み、そうでなければ本フローチャートを終了し、次の描画命令の入力を待つ。
【０１４３】
〔Ｓ１２７〕図形の描画用のプリント言語データ（ＰＤＬ）を発行し、処理を終了する。
このように、本形態では、印刷レイアウト設計画面７０上で予めユーザが指定した指定領域７５に基づいて、オーバレイ用の印字データとフォーム用のデータとを区別して処理するようにしたので、ユーザは、希望する領域を指定してオーバレイ印字を指令できる。これにより、操作性が向上する。さらに、オーバレイ用の印字データとフォームデータとで同じ文字フォントを使用することができる。
【０１４４】
また、本形態では、フォームオーバレイ設定画面８０上でオーバレイ印字のチェックボックスがチェックされた場合、同じ文書名で過去に設定されたフォームが存在すれば、そのフォーム名などを画面上に表示するようにしたので、同じ内容の入力操作を省くことができ、作業性が向上する。
【０１４５】
【発明の効果】
以上説明したように本発明のフォームオーバレイ装置では、フォーム作成時には、フォームデータ抽出手段が描画命令の所定の印刷属性の命令を抽出することによりフォームデータを生成し、オーバレイ印字時には、印刷データ抽出手段が描画命令の所定の印刷属性の命令を抽出することにより印刷データを生成するようにしたため、アプリケーションからは通常の印刷と同様の描画命令とともに、フォーム作成指令やオーバレイ印字である旨の指令を出力することにより、フォームの作成及びオーバレイ印字を行うことができる。その結果、アプリケーションがフォームオーバレイ機能を有していなくても、オーバレイ印刷による高速の印刷を簡単に行うことができる。
【０１４６】
また、本発明のフォームオーバレイ方法では、フォーム作成指令が出力されると、フォームを構成するものとして指定された属性の命令を抽出し、フォームデータとして印刷装置に格納し、そのフォームデータを用いてオーバレイ印刷を実行するようにしたため、アプリケーションがフォームオーバレイ機能を有していなくても、オーバレイ印刷による高速の印刷を簡単に行うことができる。
【０１４７】
また、本発明のオーバレイ印刷制御用プログラムを記録した媒体は、フォームを構成するものとして指定された属性の命令を描画命令から抽出し、印刷装置へ転送するフォームデータ抽出機能と、印字内容として指定された属性の命令を描画命令から抽出し、印刷装置へ転送する印刷データ抽出機能とをコンピュータによって実現するためのプログラムを格納したため、このプログラムをコンピュータに実行させることにより、アプリケーションがフォームオーバレイ機能を有していなくても、オーバレイ印刷による高速の印刷を簡単に行うことができるフォームオーバレイ装置を構築することが可能となる。
【０１４８】
さらに、本発明のフォームオーバレイ装置では、描画命令とともにフォーム作成指令が出力されると、アプリケーションプログラムの画面上で指定された指定領域のデータに基づいて、フォームデータを描画命令から抽出して出力し、印刷装置側では、この出力されたフォームデータをフォームデータ記憶手段が格納し、一方、描画命令とともにオーバレイ印字指令が出力されると、アプリケーションプログラムの画面上で指定された指定領域のデータに基づいて、印刷データを描画命令から抽出して出力し、この印刷データが出力されると、印刷装置側でフォームデータ記憶手段に格納されたフォームデータと印刷データとを重ね合わせて、オーバレイ印刷を実行するようにしたので、ユーザは、希望する領域を指定してオーバレイ印字を指令できる。これにより、操作性が向上するとともに、オーバレイ用の印字データとフォームデータとで同じ文字フォントを使用することができる。
【図面の簡単な説明】
【図１】  本発明の原理構成図である。
【図２】  本発明の第１の実施の形態の全体構成を示す図である。
【図３】  第１の形態のプリンタドライバの内部構成を示すブロック図である。
【図４】  第１の形態のアプリケーションにおける印刷レイアウト設計画面を示す図である。
【図５】  第１の形態のプリンタ設定画面を示す図である。
【図６】  第１の形態のフォームオーバレイ設定画面を示す図である。
【図７】  第１の形態のフォーム画面設定処理の手順を示すフローチャートである。
【図８】  第１の形態の印刷開始処理の手順を示すフローチャートである。
【図９】  第１の形態の図形描画処理の手順を示すフローチャートである。
【図１０】  第２の形態のアプリケーションにおける印刷レイアウト設計画面を示す図である。
【図１１】  第２の形態のフォームオーバレイ設定画面を示す図である。
【図１２】  第２の形態のプリンタドライバの内部構成を示すブロック図である。
【図１３】  第２の形態のフォームオーバレイ画面設定処理の手順を示すフローチャートである。
【図１４】  図１３のステップＳ５８のフォーム設定データ処理の具体的な手順を示すフローチャートである。
【図１５】  第２の形態の印刷開始処理の手順を示すフローチャートである。
【図１６】  第２の形態の図形描画処理の手順を示すフローチャートである。
【図１７】  図１６のステップＳ１０２のオーバレイ印字処理の具体的な処理手順を示すフローチャートである。
【図１８】  図１６のステップＳ１０３のフォーム作成処理の具体的な処理手順を示すフローチャートである。
【図１９】  従来のフォームオーバレイ装置を示す図である。
【図２０】  パーソナルコンピュータを用いたフォームオーバレイ装置を示す図である。
【符号の説明】
１，２  描画命令
１ａ  フォームデータ
１ｂ，２ａ  印刷データ
３  文書
１０  情報処理装置
１１  アプリケーション
１２  フォームデータ抽出手段
１３  印刷データ抽出手段
２０  印刷装置
２１  フォームデータ記憶手段
２２  印字手段
７５  指定領域
【図１】
0003733725.tif 000002
【図２】
0003733725.tif 000003
【図３】
0003733725.tif 000004
【図４】
0003733725.tif 000005
【図５】
0003733725.tif 000006
【図６】
0003733725.tif 000007
【図７】
0003733725.tif 000008
【図８】
0003733725.tif 000009
【図９】
0003733725.tif 000010
【図１０】
0003733725.tif 000011
【図１１】
0003733725.tif 000012
【図１２】
0003733725.tif 000013
【図１３】
0003733725.tif 000014
【図１４】
0003733725.tif 000015
【図１５】
0003733725.tif 000016
【図１６】
0003733725.tif 000017
【図１７】
0003733725.tif 000018
【図１８】
0003733725.tif 000019
【図１９】
0003733725.tif 000020
【図２０】
0003733725.tif 000021