(57)【要約】【課題】  ユーザの作業を効率化する。【解決手段】  複数ページのフォームデータを組み合わせて１組のフォームデータを作成する帳票フォーム作成装置において、既存フォームデータの中から複写設定可能なフォームを自動的に検索・抽出する。あるいは、フォームを指定して複合フォームに追加すると、複写や部品フォームの設定を自動的に行う。【選択図】  図５
2008269156.tif 000002
【特許請求の範囲】
【請求項１】
複数の文書を組み合わせて１組の文書を作成する文書編集装置であって、文書及びそれらの従属関係を記述したデータを格納する格納手段と、文書に追加するデータの検索条件を保持する検索条件保持手段と、前記検索条件保持手段が保持する検索条件からどの検索条件を用いてデータを検索するかを指定する検索条件指定手段と、前記格納手段に格納されている文書を取得する取得手段と、前記取得手段により取得された文書を解析して、前記検索条件指定手段が指定する検索条件に一致するかを判定する判定手段と、前記判定手段により前記検索条件指定手段が指定する検索条件に一致すると判定された場合に、文書と前記取得手段により取得された文書を複写設定する複写設定手段と、を有することを特徴とする文書編集装置。
【請求項２】
前記複写設定手段は、設定に対応して前記格納手段に格納されたデータの記述を変更することを特徴とする請求項１に記載の文書編集装置。
【請求項３】
前記検索条件指定手段は、前記検索条件保持手段が保持する検索条件以外にも新たに検索条件の指定が可能であることを特徴とする請求項１に記載の文書編集装置。
【請求項４】
複数の文書を組み合わせて１組の文書を作成する文書編集装置であって、文書及びそれらの従属関係を記述したデータを格納する格納手段と、文書に追加するデータを指定する追加文書指定手段と、文書に対する設定項目およびその条件を保持する設定条件保持手段と、前記追加文書指定手段により追加する文書が指定されると、前記設定条件保持手段が保持する設定条件に一致するかを判定する設定条件判定手段と、前記設定条件判定手段により前記設定条件保持手段が保持する設定条件に一致すると判定された場合に、設定条件に対応する設定を文書と前記指定手段により指定された文書に対して設定する設定手段と、を備えることを特徴とする文書編集装置。
【請求項５】
前記設定手段は、設定に対応して前記格納手段に格納されたデータの記述を変更することを特徴とする請求項４に記載の文書編集装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、帳票フォーム作成方式に関し、特に複数ページ分のフォームデータを組み合わせて１組のフォームデータを作成する帳票フォーム作成方式に関する。
【背景技術】
【０００２】
帳票等、一定の書式（フォーム）にデータを書き込んで作成される印刷物を作成するために、フォームオーバーレイと手法が用いられている。フォームオーバーレイでは、フォーム部分を表すフォームデータを予め作成し、そのフォームデータの所定箇所に数値や文字列等、固定されていないデータ（以下印字データと呼ぶ）を重ね合わせてそれを印刷あるいは表示する。
【０００３】
このようなフォームオーバーレイを実現するために、コンピュータ上で動作するフォーム作成用のソフトウエアが開発されている。このような従来のソフトウエアでは、フォームデータは通常１ページを単位としてまとめられるのが普通である。これに加えて、複数のページ分のフォームデータを組み合わせて１組のフォームデータを構成する複合フォームと呼ばれる機能を有するものもあった。この複合フォーム機能は、例えば１ページのフォームデータを、複数ページのフォームデータを重ね合わせて構成したり、また、複写伝票や両面印刷のためのフォームのように、複数ページ分のフォームデータを組み合わせて１組のフォームデータを構成する機能を有している。
【０００４】
しかしながら、複数ページ分のフォームデータを組み合わせて１組の複合フォームを構成する場合、各ページのフォームデータを作成する必要があるのはもちろん、各ページのフォームデータをどのように組み合わせるのかを指定しなければならない。例えば、単に組み合わせるフォームデータを指定するのにとどまらず、それを例えば複写として組み合わせる、重ね合わせて１ページとなる部品フォームとして組み合わせる等を、指定しなければならなかった。このため、複合フォーム作成の手順が複雑になり、生産性を向上させることが困難であった。
【０００５】
このことを解決する技術としては、複合フォームの構成をツリー構造により表現して表示し、その表示上で利用者がツリー構造を操作することにより、複合フォームの構成あるいは編集を行うものがあった（例えば、特許文献１）
【特許文献１】特開２０００−２２２４９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した従来技術では、複合フォームに追加するファイルをユーザが指定していた。そのため、フォームデータが数多く存在している場合、その中から所望のフォームデータをユーザがいちいち探して選択する必要があり、ユーザの負担となっていた。また、各フォームデータをGUI上で操作するため、組み合わせるフォームデータの数が多くなるほど複合フォーム設定に非常に手間がかかってしまう、という問題点があった。
【課題を解決するための手段】
【０００７】
上述した課題を解決するために、本発明は、文書及びそれらの従属関係を記述したデータを格納する格納手段と、文書に追加するデータの検索条件を保持する検索条件保持手段と、前記検索条件保持手段が保持する検索条件からどの検索条件を用いてデータを検索するかを指定する検索条件指定手段と、前記格納手段に格納されている文書を取得する取得手段と、前記取得手段により取得された文書を解析して、前記検索条件指定手段が指定する検索条件に一致するかを判定する判定手段と、前記判定手段により前記検索条件指定手段が指定する検索条件に一致すると判定された場合に、文書と前記取得手段により取得された文書を複写設定する複写設定手段と、を有することを特徴とする。
【発明の効果】
【０００８】
任意のフォームデータに対して、既存フォームデータの中から複写設定可能なフォームを自動的に抽出でき、ユーザ作業を軽減できる。またフォームデータ追加時に複写や部品フォームの設定を自動的に行えるため、ユーザの利便性を向上させることができる。
【発明を実施するための最良の形態】
【０００９】
（実施例１）
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【００１０】
図１は、本発明のプログラムが動作するコンピュータの概略構成を示すブロック図である。
【００１１】
ＣＰＵ１００は、ＨＤ（ハードディスク）１０５に格納されているアプリケーションプログラム、プリンタドライバプログラム、ＯＳやネットワークプリンタ制御プログラム等を実行し、ＲＡＭ１０２にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。ＲＯＭ１０１には、基本Ｉ／Ｏプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。１０２はＲＡＭであり、ＣＰＵ１００の主メモリ、ワークエリア等として機能する。１０３は外部記憶ドライブであり、メディア１０４に記憶されたプログラム等を本コンピュータシステムにロードすることができる。１０４はメディアであり、本実施例で説明するプログラムおよび関連データを格納しており、その記憶されている内容の構成を以下、図３に示す。１０５はＨＤであり、アプリケーションプログラム、プリンタドライバプログラム、ＯＳ、制御プログラム、関連プログラム等を格納している。１０６はキーボードであり、ユーザがクライアントコンピュータに対して、デバイスの制御コマンドの命令等を入力指示するものである。１０７はディスプレイであり、キーボード１０６から入力したコマンドや、プリンタの状態等を表示したりするものである。１０８はシステムバスであり、クライアントコンピュータ内のデータの流れを司るものである。１０９はネットワークインターフェイス（以下、Ｉ／Ｆという）であり、ローカルエリアネットワーク（ＬＡＮ）あるいは、インターネットに接続するための通信インターフェイスである。
【００１２】
図２は、本発明のプログラムがＲＡＭ１０２にロードされ実行可能となった状態のメモリマップを表すものである。
【００１３】
本実施例では、メディア１０４からプログラム及び関連データを直接ＲＡＭ１０２にロードして実行させる例を示すが、この以外にも、メディア１０４から本発明のプログラムを動作させる度に、ＨＤ１０５からＲＡＭ１０２にロードするようにしてもよい。また、本発明のプログラムを記録する媒体は、メディアはＦＤ、ＣＤ−ＲＯＭ、ＤＶＤ、ＩＣメモリーカード等であっても良い。更に、本発明のプログラムをＲＯＭ１０１に記録しておき、これをメモリマップの一部となすように構成し、直接ＣＰＵ１００で実行することも可能である。２０１は基本Ｉ／Ｏプログラムであり、本制御装置の電源がＯＮされたときに、ＨＤ１０５からＯＳがＲＡＭ１０２に読み込まれ、ＯＳの動作を開始させるＩＰＬ（イニシャルプログラムローティング）機能等を有しているプログラムが入っている領域である。２０２はＯＳであり、２０３には制御プログラム、２０４には関連データがそれぞれ展開され、２０５にはＣＰＵ１００が本プログラムを実行するワークエリアがとられている。
【００１４】
図３において、３００はメディア１０４のデータ内容であり、３０１はデータの情報を示すボリューム情報であり、３０２はディレクトリ情報、３０３は本実施例で説明するプログラム、３０４はその関連データである。
【００１５】
まず、フォームオーバーレイ処理の概要について述べる。図４は、フォーム作成プログラムを含む、オーバーレイ印刷全体についての処理の流れを示している。フォーム作成プログラム４０３により作成されたフォームあるいは複合フォームは、ＨＤ１０５などに用意されたフォームデータ格納部４０４に格納される。各フォーム（複合フォームを含む）は、フォームそのものを表すフォームデータ４０４ａと、フォームと合成される印字データについて、その位置や文字種等を表したフィールド属性データ４０４ｂとを含む。なお、これ以降、複合フォームデータをＦＣＸデータ、複合されておらず、最小の単位となるフォームデータをＦＣＰデータと呼ぶことがある。
【００１６】
これらフォームデータは、所定のランタイムライブラリ４０７によってプリンタ４０２が解釈可能な形式のフォームプリントデータ４０８ａに変換されて、ＨＤ１０５内に確保されたプリンタデータ格納部４０８に格納される。
【００１７】
一方、フォームオーバーレイ印刷される印字データは、適当な業務アプリケーション４０５により生成され、テキストデータ格納部４０６に格納される。このデータはオーバーレイされる各フィールドを区分できる形式であればよく、例えばＣＳＶ形式と呼ばれる、一般的に利用されている形式を用いることができる。この印字データも、ランタイムライブラリ４０７によってプリンタ４０２が解釈できる形式の印字プリントデータ４０８ｂに変換され、プリントデータ格納部４０８に格納される。
【００１８】
このようにして作成されたフォームプリントデータ及び印字プリントデータは、オペレーティングシステム４０９及びプリンタドライバ４１０によってプリンタ４０２に出力され、そこで合成されて印刷される。
【００１９】
ここで、本実施形態のプログラム（フォームエディタ）について説明する。
【００２０】
フォームエディタ起動後、不図示のフォーム新規作成画面においてユーザが複合データ作成を指定すると、図７に示す複合フォームデータ編集画面に移る。複合フォームデータ編集画面では、編集対象となっている複合フォームデータの構造がツリー表示欄７０２に表示される。ここでは新規作成の場合を示しているが、既存の複合フォームあるいはフォームを編集する場合には、その複合フォームデータファイルを指定してフォームエディタを呼び出せばよい。それによりフォームデータ格納部４０４から複合フォームデータが読み出され、その構造を反映したツリーが表示される。
【００２１】
図８に、表示されるツリー（ツリービュー）の例を示す。各ツリーのルートは複合フォーム全体を表し、その下ノード８０２は、複合フォームを構成する印刷ページをあらわしている。印刷ページは印刷される１ページを表しており、そのページ自体の構成により幾つか種類がある。例えば、単純に部品フォームを含む印刷ページ８０２ａ，８０２ｂは、その下にある部品フォームを上から順番に重ねた複合フォームである。例えば、印刷ページ８０２ａは、部品０１の上に部品０２を重ねて構成される。このほか、図示していないが、その下にある印刷ページが両面印刷されることを示す両面ノードや、指定された枚数だけ繰返して出力されることを示す複写ノードなどもある。
【００２２】
また、各印刷ページをサブツリーとしてつなぎ合わせているノード８０９は、「−」はそのサブツリーが表示されていることを表し、「＋」がそのサブツリーが表示されていないことを表す。
【００２３】
図５は、複合フォームに対して複写設定する場合のフローを示している。ユーザがある一つの部品フォームを選択して複写設定コマンドを実行する（ステップ５０１）と、プログラム３０３は、該部品フォームが両面ノードでないかどうかを判断する（ステップ５０２）。両面ノードであった場合、プログラムは複写設定不可であることをユーザに通知して本処理は終了する。
【００２４】
ステップ５０２において、両面ノードでないと判断した場合、プログラムは次に該部品フォーム以外で同じ印刷ページ内に部品フォームがないか判断する（ステップ５０３）。該部品フォーム以外に部品フォームが存在した場合、プログラムは複写設定不可であることをユーザに通知して本処理は終了する。
【００２５】
ステップ５０３において、該部品フォーム以外で同じ印刷ページ内に部品フォームがないと判断した場合、プログラム３０３は、複写フォーム検索画面を表示する（ステップ５０４）。
【００２６】
複写フォーム検索画面の例を図６に示す。複写フォーム検索画面６０１には、該部品フォームと複写設定可能なフォームを、フォームデータ格納部４０４から検索するための条件６０２〜６０４が表示される。
【００２７】
条件６０２は、例えば納品書（正）や納品書（副）等のような複写を示す文字列「正」／「副」がフォーム中に存在するかを調べる。条件６０２ａのチェックボックスがチェックされると、テキストボックス６０２ｂの入力が可能となり、追加したい検索文字列を任意に指定可能である。ユーザがある一つの部品フォーム中の文字列を選択して複写設定コマンドを実行した場合、テキストボックス６０２ｂには自動的に前記ユーザが選択した文字列が補完される。条件６０２、条件６０２ａのチェックボックスをチェックし、テキストボックス６０２ｂに「納品書」と入力してボタン６０５を押下すると、「納品書  正」あるいは「納品書  副」の文字列を含むフォームが検索される。
【００２８】
条件６０３は、例えば契約書（控）のような複写を示す文字列「控」がフォーム中に存在するかを調べる。条件６０３ａ、テキストボックス６０３ｂは条件６０２と同様であるので省略する。
【００２９】
条件６０４は、該部品フォームと同一のフィールド属性データを有するフォームを検索する。
【００３０】
本実施例では、複写フォーム検索画面６０１における検索条件を、チェックボックスを用いて設定したが、他に検索条件設定可能な方法によって設定してもよい。また本実施例では、各条件のＡＮＤ条件による検索の例を示したが、ＡＮＤ／ＯＲ条件を指定した検索を可能としてもよい。さらには、ユーザが任意の新たな検索条件を指定して検索することも可能である。
【００３１】
ユーザが所望の条件をチェックあるいは入力（ステップ５０５）し、ボタン６０５を押下する（ステップ５０６のＹＥＳ）と、プログラム３０３は、前記条件を満たすフォームをフォームデータ格納部４０４から検索する（ステップ５０７）。ステップ５０７の処理の詳細は後述する。
【００３２】
ステップ５０８において、前記条件を満たすフォームがあった場合、プログラム３０３は、不図示のサムネイル表示画面で該フォームを表示する（ステップ５０９）。ここでユーザが前記サムネイル表示画面上でフォームを一つ以上指定すると、プログラム３０３は、該部品フォームと前記指定したフォームの複写設定を行う。
【００３３】
図９は、ステップ５０７の処理の詳細なフローを示している。
【００３４】
プログラム３０３は、ステップ５０５の検索条件が設定されているかを判断する（ステップ９０１）。検索条件が一つも設定されていない場合、本処理は終了する。
【００３５】
ステップ９０１において、検索条件が設定されていた場合、プログラム３０３は、前記検索条件をもとにフォームデータ格納部４０４の検索を開始する（ステップ９０２）。プログラム３０３は、フォームデータ格納部４０４に格納されている最初のフォームを取得する（ステップ９０３）。
【００３６】
ステップ９０４において、プログラム３０３は、ステップ５０５で「正」あるいは「副」の文字列がある条件６０２が設定されているかを判断し、設定されている場合はさらに追加検索する文字列が指定されているかを判断し（ステップ９０５）、追加検索文字列が指定されている場合は検索文字列を追加する（ステップ９０６）。次に、プログラム３０３は、前記取得したフォームのフォームデータ４０４ａ中に前記検索文字列があるか検索する（ステップ９０８）。
【００３７】
ステップ９０８において、前記取得したフォームのフォームデータ４０４ａ中に前記検索文字列があった場合、プログラム３０３は、不図示のサムネイル表示画面に前記取得したフォームを表示する（ステップ９１７）。
【００３８】
ステップ９０４において、ステップ５０５で「正」あるいは「副」の文字列がある条件が設定されていない場合、あるいはステップ９０８において、前記取得したフォームのフォームデータ４０４ａ中に前記検索文字列がなかった場合、次に、プログラム３０３は、ステップ５０５で「控」の文字列がある条件６０３が設定されているかを判断する（ステップ９０９）。ステップ９１０〜９１３は、ステップ９０５〜９０８と同様であるため省略する。
【００３９】
ステップ９０９において、ステップ５０５で「控」の文字列がある条件が設定されていない場合、あるいはステップ９１３において、前記取得したフォームのフォームデータ４０４ａ中に指定した検索文字列がなかった場合、次にプログラム３０３は、ステップ５０５でフォームのフィールド図形が同じ条件６０４が設定されているかを判断する（ステップ９１４）。フォームのフィールド図形が同じ条件６０４が設定されている場合、次に、プログラム３０３は、該部品フォームのフィールド属性データ４０４ｂと前記取得したフォームのフィールド属性データ４０４ｂを比較する（ステップ９１５）。
【００４０】
ステップ９１５において、該部品フォームのフィールド属性データ４０４ｂと前記取得したフォームのフィールド属性データ４０４ｂが等しいと判断された場合、プログラム３０３は、不図示のサムネイル表示画面に前記取得したフォームを表示する（ステップ９１７）。
【００４１】
以上の処理を、フォームデータ格納部４０４に存在するフォームに対して繰り返し行う。
【００４２】
なお、本発明は、上記形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体(又は記録媒体)を、システム又は装置に供給し、そのシステム又は装置のコンピュータ(又はＣＰＵやＭＰＵ)が記憶媒体に格納されたプログラムコードを読み出して実行することによっても達成されることは云うまでもない。
【００４３】
この場合、記憶媒体から読み出されたプログラムコード自体が上記実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(ＯＳ)などが実際の処理の一部又は全部を行い、その処理によって上記実施の形態の機能が実現される場合も含まれることは云うまでもない。
【００４４】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わる記憶媒体に書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは云うまでもない。
【００４５】
また、本発明は、上記実施の形態の機能を実現するソフトウェアのプログラムコードがネットワークを介して配信されることにより、システム又は装置のハードディスクやメモリ等の記憶手段又はＣＤ−ＲＷ、ＣＤ−Ｒ等の記憶媒体に格納され、そのシステム又は装置のコンピュータ(又はＣＰＵやＭＰＵ)が当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行することによっても、達成されることは云うまでもない。
【００４６】
（実施例２）
実施例１では、複写設定可能なフォームを検索して複写設定を行う例を示したが、本実施例では、複合フォームに追加するフォームをユーザが指定した場合の複合フォーム設定方法について述べる。
【００４７】
図１０は、本実施例における処理のフローチャートである。
【００４８】
図１１に、複合フォームに設定する項目およびその条件の例を示す。
【００４９】
図７の複合フォームデータ編集画面において、ユーザがフォームを一つ以上指定して複合フォームに追加する（ステップ１００１）と、プログラム３０３は、前記追加したフォームの一つを取得し解析する（ステップ１００２）。次に、複合フォームデータの構造を表すツリー７０２のノードにある部品フォームを取得する（ステップ１００３）。
【００５０】
ステップ１００４において、プログラム３０３は、前記追加したフォームの一つと前記取得した部品フォームが、図１１に示す複写設定の条件に一致するかを判定する。
【００５１】
ステップ１００４において、複写設定の条件に一致すると判定された場合、プログラム３０３は、前記追加したフォームの一つと前記取得した部品フォームを複写設定する（ステップ１００５）。
【００５２】
ステップ１００４において、複写設定の条件に一致すると判定されなかった場合、他にノードが存在するかを調べ（ステップ１００６）、存在する場合は次のノードに移動し、ステップ１００３〜１００５の処理を繰り返す。
【００５３】
ステップ１００６において、他にノードが存在しなかった場合、プログラム３０３は、図１１に示す部品フォームの条件に一致するかを判定する（ステップ１００８）。ここで、図１１の部品フォームの条件にある「フォーム中に占める図形の領域の割合」とは、フィールドや文字列等の図形がフォームのどの程度の領域を使用しているか意味する。本実施例では上記割合の算出方法には言及しないが、例えば、最左上端の図形と最右下端の図形から算出可能である。また、閾値となる値をユーザが設定できるようにしてもよい。
【００５４】
ステップ１００８において、部品フォームの条件に一致すると判定された場合、プログラム３０３は、複合フォームデータの構造を表すツリー７０２に対して部品フォーム用の新たなノードを作成し、該ノードに前記追加したフォームの一つを部品フォームとして追加する（ステップ１００９）。
【００５５】
ステップ１００８において、部品フォームの条件に一致すると判定されなかった場合、プログラム３０３は、複合フォームデータの構造を表すツリー７０２に対して新たにノードを作成し、該ノードに前記追加したフォームの一つを追加する（ステップ１０１０）。
【００５６】
その後、ステップ１０１１において、前記追加したフォームが他にあるか判定し、他に存在する場合は、次のフォームを取得してステップ１００２〜ステップ１０１０の処理を繰り返す。ステップ１００９において、すでに部品フォーム用の新たなノードを作成した場合は新たなノードは作成しない。
【図面の簡単な説明】
【００５７】
【図１】本実施例で動作するコンピュータの概略構成を示すブロック図
【図２】図１におけるＲＡＭに、図３に示すＦＤからプログラムを展開したときのメモリマップ
【図３】１におけるＦＤ内部のデータを表すメモリマップ
【図４】オーバーレイ印刷全体についての処理の流れを示す図
【図５】実施例１における複合フォームに対する複写設定処理のフロー
【図６】複写フォーム検索画面例
【図７】複合フォームデータ編集画面例
【図８】複合フォームデータの構造を示すツリー
【図９】複写フォーム検索処理のフロー
【図１０】実施例２における複合フォーム設定処理のフロー
【図１１】複合フォームに設定する項目およびその条件の例
【図１】
2008269156.tif 000003
【図２】
2008269156.tif 000004
【図３】
2008269156.tif 000005
【図４】
2008269156.tif 000006
【図５】
2008269156.tif 000007
【図６】
2008269156.tif 000008
【図７】
2008269156.tif 000009
【図８】
2008269156.tif 000010
【図９】
2008269156.tif 000011
【図１０】
2008269156.tif 000012
【図１１】
2008269156.tif 000013