(57)【要約】【課題】  表の幅に対応した適切な幅のカラムを生成し、レイアウトを崩すことなく表を作成することを可能とする。【解決手段】  文書作成装置１００のＣＰＵ１０１は、表の幅を示す幅情報と表に生成する各カラムの幅の重みを示す重み情報とを取得し、幅情報と各カラムの重み情報とに基づいて、各カラムの幅を算出し、その幅で各カラムを生成する。【選択図】  図１
2009258795.tif 000002
【特許請求の範囲】
【請求項１】
表の幅を示す幅情報と前記表に生成する各カラムの幅の重みを示す重み情報とを取得する取得手段と、
前記取得手段により取得される前記幅情報と前記各カラムの重み情報とに基づいて、前記各カラムの幅を算出する算出手段と、
前記算出手段により算出される幅で前記各カラムを生成する生成手段とを有することを特徴とする表作成装置。
【請求項２】
前記表を構成する複数のカラムのうちの何れのカラムを描画するかを選択する選択手段を更に有し、
前記取得手段は、前記選択手段により選択される前記各カラムの重み情報を取得し、前記算出手段は、前記取得手段により取得される重み情報と前記幅情報とに基づいて、前記選択手段により選択された前記各カラムの幅を算出することを特徴とする請求項１に記載の表作成装置。
【請求項３】
前記算出手段は、前記取得手段により取得される前記各カラムの重み情報の合計を算出し、当該合計に対する前記各カラムの重み情報の割合と前記幅情報とに基づいて、前記各カラムの幅を算出することを特徴とする請求項１又は２に記載の表作成装置。
【請求項４】
前記生成手段により生成される前記各カラムに対して、該当するデータをマージするマージ手段を更に有することを特徴とする請求項１乃至３の何れか１項に記載の表作成装置。
【請求項５】
表作成装置による表作成方法であって、
表の幅を示す幅情報と前記表に生成する各カラムの幅の重みを示す重み情報とを取得する取得ステップと、
前記取得ステップにより取得される前記幅情報と前記各カラムの重み情報とに基づいて、前記各カラムの幅を算出する算出ステップと、
前記算出ステップにより算出される幅で前記各カラムを生成する生成ステップとを含むことを特徴とする表作成方法。
【請求項６】
表の幅を示す幅情報と前記表に生成する各カラムの幅の重みを示す重み情報とを取得する取得ステップと、
前記取得ステップにより取得される前記幅情報と前記各カラムの重み情報とに基づいて、前記各カラムの幅を算出する算出ステップと、
前記算出ステップにより算出される幅で前記各カラムを生成する生成ステップとをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、適切な幅のカラムで表を作成するための技術に関するものである。
【背景技術】
【０００２】
従来から、表に含まれるデータの長さによって表の各カラムのカラム幅を決定する技術がある（例えば、特許文献１乃至４参照）。また、ＨＴＭＬの規格では表のカラム幅を表幅に対する割合(「％」)で記述することが可能である。
【０００３】
さらに、現存するワードプロセッサや表計算ソフトでは表のカラムの削除・挿入を行ったり、カラムの表示・非表示を設定することが可能である。
【０００４】
【特許文献１】特公平７−４８２３１号公報
【特許文献２】特公平７−５０４７２号公報
【特許文献３】特開平４−１６５５７０号公報
【特許文献４】特開平４−１６５５６０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来の文書作成装置における表の生成方法では、表を構成するカラムをカラム毎に挿入・削除することが可能である。また、カラムに対して不可視設定をすることにより印刷や表示時に出力するかどうかを設定することも可能である。
【０００６】
一方、表を構成するカラムの幅は予め決定されているか、そのカラムに含まれる文字列の長さ等によって決定されていた。よって、予め決定された幅が小さいカラムのみで構成される表を出力するといった時に表の幅が用紙サイズに比べ極端に小さくなったり、逆に表の幅が用紙幅を超えたりしてドキュメントのレイアウトが崩れてしまうという問題があった。
【０００７】
また、入力されるデータの長さによってカラムの幅を決めることもできたが、入力されるデータによって幅が決まるため、表の幅を一定に保つことができなかった。
【０００８】
また、ＨＴＭＬにおいてカラム幅を表の幅に対する割合で宣言することができる。ＨＴＭＬで表を記述する場合、表の幅及びカラム幅の割合を記述できる。
【０００９】
しかし、表の幅に対するカラム幅の割合の合計が１００％に満たない場合、例えば表の幅が１５０ｍｍの表で３０％のカラム、２０％のカラム、２０％のカラムからなる表は、各カラムの幅が４５ｍｍ、３０ｍｍ、３０ｍｍで表の幅が１０５ｍｍとして出力される。
【００１０】
表の幅が１５０ｍｍであるとしてドキュメントがレイアウトされていた場合、実際に生成される表の幅は１０５ｍｍであるため、ドキュメントのレイアウトが崩れてしまう可能性があるという問題があった。
【００１１】
そこで、本発明の目的は、表の幅に対応した適切な幅のカラムを生成し、レイアウトを崩すことなく表を作成することを可能とすることにある。
【課題を解決するための手段】
【００１２】
本発明の表作成装置は、表の幅を示す幅情報と前記表に生成する各カラムの幅の重みを示す重み情報とを取得する取得手段と、前記取得手段により取得される前記幅情報と前記各カラムの重み情報とに基づいて、前記各カラムの幅を算出する算出手段と、前記算出手段により算出される幅で前記各カラムを生成する生成手段とを有することを特徴とする。
本発明の表作成方法は、表作成装置による表作成方法であって、表の幅を示す幅情報と前記表に生成する各カラムの幅の重みを示す重み情報とを取得する取得ステップと、前記取得ステップにより取得される前記幅情報と前記各カラムの重み情報とに基づいて、前記各カラムの幅を算出する算出ステップと、前記算出ステップにより算出される幅で前記各カラムを生成する生成ステップとを含むことを特徴とする。
本発明のプログラムは、表の幅を示す幅情報と前記表に生成する各カラムの幅の重みを示す重み情報とを取得する取得ステップと、前記取得ステップにより取得される前記幅情報と前記各カラムの重み情報とに基づいて、前記各カラムの幅を算出する算出ステップと、前記算出ステップにより算出される幅で前記各カラムを生成する生成ステップとをコンピュータに実行させることを特徴とする。
【発明の効果】
【００１３】
本発明においては、表の幅情報と当該表に作成する各カラムの重み情報とに基づいて、当該各カラムの幅を算出し、算出された幅で当該各カラムを生成するように構成している。従って、本発明によれば、表の幅に対応した適切な幅のカラムを生成することが可能となり、レイアウトを崩すことなく表を作成することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
【００１５】
図１は、本発明の実施形態に係る表生成機能を備えた文書作成装置の構成を示すブロック図である。なお、本文書作成装置は、本発明の表作成装置の適用例となる構成である。
【００１６】
１００は、文書作成装置である。１０１は、文書作成装置１００全体を制御するCentral Processing Unit（ＣＰＵ）である。１０２は、外部記憶装置等から供給されるプログラムやデータを一時記憶するメモリである。１０３は、ハードディスクやメモリカード等の外部記憶装置である。１０４は、ユーザが文字の入力、編集や表の生成や変更等の操作を行うポインティングデバイスやキーボードといった入力デバイスである。１０５は、ユーザによって編集された文書や文書作成装置１００によって生成された表を表示するためのディスプレイモニタである。１０６は、ネットワーク１０７に接続するためのネットワークインタフェースである。１０８はプリンタである。１０９は、１０１〜１０８の各ユニットが接続され、通信を行うためのシステムバスである。
【００１７】
以下、本発明の第１乃至第３の実施形態について説明する。以下で説明する各実施形態に係る文書作成装置１００は図１に示す構成を共通に備える。
【００１８】
＜第１の実施形態＞
先ず、本発明の第１の実施形態について説明する。本実施形態に係る文書作成装置１００で作成される表は、図２に示すように書式情報として表の幅を示す幅情報２０１とカラムの幅の重みを示す重み情報２０２を持っている。表の幅情報２０１とカラムの幅の重み情報２０２は、ハードディスクやメモリカード等の外部記憶装１０３に記憶されている。勿論、表の幅情報２０１とカラムの幅の重み情報２０２は、ネットワーク１０７上のサーバに記憶され、ネットワークインタフェース１０６によってアクセス可能になっていてもよい。
【００１９】
図３は、本発明の第１の実施形態に係る文書作成装置１００の処理を示すフローチャートである。
【００２０】
先ずＣＰＵ１０１は、ユーザにより表の生成処理が指示されると(ステップＳ３０１)、表のカラムの幅を決定するカラム幅計算処理を行い、次に表を実際に描画する描画処理を行う。
【００２１】
カラム幅計算処理において、ＣＰＵ１０１は、図２に示す書式情報から幅情報２０１を取得する(ステップＳ３０２)。
【００２２】
続いてＣＰＵ１０１は、各カラムの幅の重み情報２０２を取得する(ステップＳ３０３)。なお、ステップＳ３０２及びＳ３０３は、本発明の取得手段の一処理例である。
【００２３】
続いてＣＰＵ１０１は、ステップＳ３０３で取得した各カラムの幅の重み情報２０２の合計を計算する(ステップＳ３０４)。
【００２４】
続いてＣＰＵ１０１は、各カラムの幅を次の式１を用いて計算する(ステップＳ３０５)。即ち、ＣＰＵ１０１は、式１を用いて、各カラムの重み情報２０２の合計に対する各重み情報２０２の割合と幅情報２０１とを乗算して、各カラムの幅を算出している。なお、ステップＳ３０４、Ｓ３０５は、本発明の算出手段の一処理例である。
【００２５】
【数１】
2009258795.tif 000003
【００２６】
続いてＣＰＵ１０１は、ステップＳ３０４で計算された各カラムの幅で、各カラムを描画、即ち生成する(ステップＳ３０６)。なお、ステップＳ３０６は、本発明の生成手段の一処理例である。
【００２７】
以上の処理で描画された表は、例えば「カラム０」の幅は３８ｍｍ、「カラム１」の幅は７６ｍｍ、「カラム２」の幅は１９ｍｍ、「カラム３」の幅は５７ｍｍで合計すると１９０ｍｍになり、図２に示す書式情報の幅情報２０１と等しくなる。
【００２８】
以上のように、本実施形態においては、重み情報２０２に応じた幅で各カラムを描写した表を生成するように構成している。従って、表全体の幅は変えることなく、カラムの幅を広くする必要があるときにはそのカラムの幅を広く、カラムの幅を狭くする必要がある場合にはそのカラムの幅を狭くした表を生成することができる。即ち、本実施形態によれば、表の幅に対応した適切な幅のカラムを生成することが可能となり、レイアウトを崩すことなく表を作成することができる。
【００２９】
＜第２の実施形態＞
次に、本発明の第２の実施形態について説明する。本実施形態においても文書作成装置１００で作成される表は、書式情報として図２に示す表の幅情報２０１とカラムの幅の重み情報２０２を備えている。なお、本実施形態に係る文書作成装置１００の構成は、図１に示す構成と同様であるため、構成に係る説明は省略する。
【００３０】
図４は、本発明の第２の実施形態に係る文書作成装置１００の処理を示すフローチャートである。
【００３１】
ここで、ディスプレイモニタ１０５に図５に示す表が表示されているとする。そこで、図６に示すようにポインティングデバイスやキーボード等の入力デバイス１０４を使用し、ユーザが表示しないカラムを選択し、メニューから「表示しない」を実行することにより、ＣＰＵ１０１は出力するカラムの選択を行う(ステップＳ５０１)。なお、ステップＳ５０１は、本発明の選択手段の一処理例である。
【００３２】
続いてＣＰＵ１０１は、ステップＳ５０１によって決定されたカラムの識別子の配列をメモリ１０２に保存する(ステップＳ５０２)。
【００３３】
例えば、図７に示すように、表の「カラム１」がユーザによって非表示設定されたとすると、配列「カラム０」の識別子、「カラム２」の識別子、「カラム３」の識別子が保存される。
【００３４】
そして、ユーザの非表示カラム選択によって表の再描画処理が開始される。表の再描画処理は、カラムの幅を決定するカラム幅計算処理と、表を実際に描画する描画処理とに分けられる。
【００３５】
カラム幅計算処理において、ＣＰＵ１０１は、図２に示すような書式情報から幅情報２０１を取得する(ステップＳ５０３)。
【００３６】
続いてＣＰＵ１０１は、出力カラム記憶手段に記憶されているカラムの識別子に対応するカラムの幅の重み情報２０２を取得する(ステップＳ５０４)。
【００３７】
続いてＣＰＵ１０１は、ステップＳ５０４で取得した各カラムの幅の重み情報２０２の合計を計算する(ステップＳ５０５)。
【００３８】
続いてＣＰＵ１０１は、出力カラム記憶手段に記憶されているカラムの識別子に対応するカラムの幅を、式１を用いて計算する(ステップＳ５０６)。
【００３９】
続いてＣＰＵ１０１は、出力カラム記憶手段に記憶されているカラムの識別子に対応するカラムを、ステップＳ５０５で計算された幅で描画する(ステップＳ５０７)。
【００４０】
以上の処理で描画された表は、例えば「カラム０」の幅は６３．３ｍｍ、「カラム２」の幅は３１．７ｍｍ、「カラム３」の幅は９５ｍｍで合計すると１９０ｍｍになり、表示するカラムを選択する操作をする前の表の幅と同一である。
【００４１】
以上のように本実施形態においては、表に出力する対象として選択されたカラムの重み情報に基づいて、対象となるカラムの幅を算出するようにしている。従って、表に出力するカラムを変更し、表のカラムの数が増減した場合であっても、表全体の幅を変えることなく、適切な幅で各カラムを生成することが可能となり、表のレイアウトが崩れないという効果がある。
【００４２】
＜第３の実施形態＞
次に、本発明の第３の実施形態について説明する。本実施形態に係る帳票生成装置１００で作成される表は書式情報として図８に示す帳票テンプレートを備える。なお、本実施形態に係る文書作成装置１００の構成は、図１に示す構成と同様であるため、構成に係る説明は省略する。
【００４３】
図８に示す帳票テンプレートは、表の書式情報である表の幅情報９０１、カラムの幅の重み情報９０２、表のラベル行９０３、データの挿入先を記述するデータ記述行９０４から構成される。帳票テンプレートは、ハードディスクやメモリカード等の外部記憶装置１０３に記憶されている。勿論、帳票テンプレートは、ネットワーク１０７上のサーバに記憶され、ネットワークインタフェース１０６によってアクセス可能になっていてもよい。
【００４４】
表のラベル行９０３は、表のカラムに対応したラベルセル９０５から構成され、ラベルセル９０５は、表のラベル文字列９０７を保持している。
【００４５】
データの挿入先を記述するデータ記述行９０４は、データ記述セル９０６から構成され、データ記述セル９０６は、挿入すべきデータの名前９０８を保持している。
【００４６】
帳票テンプレートにマージするデータは、図９に示すような複数のデータ名と値の組からなるレコードの配列としてハードディスクやメモリカード等の外部記憶装１０３に記憶されている。このデータは、リムーバブルメディアやネットワークインタフェース１０６を用いてネットワーク１０７上のサーバから取得するようにしてもよい。
【００４７】
帳票テンプレートとデータをマージして帳票を生成する場合、データ記述セル９０６の挿入すべきデータの名前９０８の部分に、各レコードに含まれる、前記データの名前と同名のデータの値が挿入される。
【００４８】
図６に示すように、ポインティングデバイスやキーボード１０４を使用し、ユーザが表示しないカラムを選択し、メニューから「表示しない」を実行することにより出力するカラムの選択が行われる。これにより、選択されたカラムの識別子の配列がメモリ１０２に保存される。なお、出力するカラムが選択されない場合には、表を構成する全てのカラムの識別子の配列がメモリ１０２に保存されることになる。
【００４９】
例えば図６に示すように、「カラム１」がユーザによって非表示設定されたとすると、配列「カラム０」の識別子、「カラム２」の識別子、「カラム３」の識別子が保存される。
【００５０】
図１０は、本発明の第３の実施形態に係る文書作成装置１００の処理を示すフローチャートである。
【００５１】
ユーザが帳票出力処理を指示すると(ステップＳ１２０１)、ＣＰＵ１０１は、カラムの幅を決定するカラム幅計算処理と帳票とデータのマージ及び出力からなる帳票出力処理とを実行する。
【００５２】
先ずＣＰＵ１０１は、図８に示す帳票テンプレートから幅情報９０１を取得する(ステップＳ１２０２)。
【００５３】
続いてＣＰＵ１０１は、メモリ１０２の一部記憶領域である出力カラム記憶手段に記憶されているカラムの識別子に対応するカラムの幅の重み情報９０２を取得する(ステップＳ１２０３)。
【００５４】
続いて、ＣＰＵ１０１は、ステップＳ１２０３で取得した各カラムの幅の重み情報９０２の合計を計算する(ステップＳ１２０４)。
【００５５】
ＣＰＵ１０１は、出力カラム記憶手段に記憶されているカラムの識別子に対応するカラムの幅を、式１を用いて計算する(ステップＳ１２０５)。
【００５６】
続いてＣＰＵ１０１は、ステップＳ１２０３で取得したカラムに対応する表のラベルセル９０５とデータの挿入先を記述するデータ記述セル９０６とを帳票テンプレートから取得する。
【００５７】
続いてＣＰＵ１０１は、ステップＳ１２０５で計算した値をカラムの幅として各ラベルセル９０５と各データ記述セル９０６とを変換した帳票テンプレートを生成する(ステップＳ１２０６)。
【００５８】
上記処理の結果として図１１に示す帳票テンプレートが生成される。そしてデータのマージ処理を行う帳票生成処理に遷移する。
【００５９】
帳票生成処理において、ＣＰＵ１０１は、ステップＳ１２０６で生成された図１１に示す帳票テンプレートを読み込む(ステップＳ１２０７)。続いて、ＣＰＵ１０１は、ステップＳ１２０７で読み込んだ帳票テンプレートのラベルセル１３１０に記述されている各カラムの幅情報（cm等の物理量）を取得する（ステップＳ１２０８）。
【００６０】
続いてＣＰＵ１０１は、ステップＳ１２０７で読み込んだ帳票テンプレートのラベル行１３１０の各ラベルセルを、ステップＳ１２０８で取得したカラムの幅情報に示される幅でプリンタ１０８に出力する(ステップＳ１２０９)。他にも、ＰＤＦ等の印刷可能なデータとしてラベル行１３１０を外部記憶装置１０３に出力してもよい。
【００６１】
続いてＣＰＵ１０１は、ステップＳ１２０７で読み込んだ帳票テンプレートのデータ記述行１３１１を取得する(ステップＳ１２１０)。
【００６２】
マージを行う図９に示すようなデータレコードの配列を外部記憶装置から取得する（ステップＳ１２１１)。データレコードの配列は、ネットワークアダプタ１０６を経由し、ネットワーク１０７上にあるデータベースサーバ等から取得してもよい。
【００６３】
帳票テンプレートのデータ記述行１３１１は、各データ記述セル１３０２、１３０５、１３０８から構成されている。
【００６４】
続いてＣＰＵ１０１は、各データ記述セル１３０２、１３０５、１３０８に保存されているデータの名前１３０３、１３０６、１３０９に対応するデータをデータレコードから取得する(ステップＳ１２１２)。
【００６５】
続いてＣＰＵ１０１は、データ記述セルにステップＳ１２１１で取得したデータをマージし、各データ記述セルをステップＳ１２０８で取得した幅情報に示される幅でプリンタ１０８に出力する(ステップＳ１２１３)。他にも、ＰＤＦ等の印刷可能なデータとしてデータをマージしたデータ記述セルを外部記憶装置１０３に出力してもよい。なお、ステップＳ１２１３は、本発明のマージ手段の一処理例である。
【００６６】
ＣＰＵ１０１は、ステップＳ１２１１からステップＳ１２１３をデータレコードの配列を構成するレコードの分だけ繰り返す(ステップＳ１２１４)。
【００６７】
ＣＰＵ１０１は、データレコードの配列を構成するレコードの分の処理が終了すると、帳票生成処理を終了する(ステップＳ１２１５)。
【００６８】
以上の処理で描画された表は、例えば第１カラム目の幅が６３．３ｍｍ、第２カラム目の幅が３１．７ｍｍ、第３カラム目の幅が９５．０ｍｍで表幅が１９０ｍｍであり、図９に示すデータレコード配列がマージされた図１２に示すような帳票が生成される。
【００６９】
上述した本発明の実施形態を構成する各手段及び各ステップは、コンピュータのＲＡＭやＲＯＭ等に記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
【００７０】
また、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施形態も可能であり、具体的には、一つの機器からなる装置に適用してもよい。
【００７１】
なお、本発明は、上述した実施形態の機能を実現するソフトウェアのプログラムを、システム又は装置に直接、又は遠隔から供給する。そして、そのシステム又は装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【００７２】
従って、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【００７３】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。更に、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳ等が、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００７４】
更に、その他の方法として、まず記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。そして、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【００７５】
【図１】本発明の実施形態に係る表生成機能を備えた文書作成装置の構成を示すブロック図である。
【図２】本発明の第１の実施形態に係る文書作成装置が用いる書式情報を示す図である。
【図３】本発明の第１の実施形態に係る文書作成装置の処理を示すフローチャートである。
【図４】本発明の第２の実施形態に係る文書作成装置の処理を示すフローチャートである。
【図５】ディスプレイモニタに表示される表を示す図である。
【図６】ユーザが表示しないカラムを選択する際におけるディスプレイモニタ上での表の表示状態を示す図である。
【図７】表示されないカラムが選択された場合のディスプレイモニタ上での表の表示状態を示す図である。
【図８】本発明の第３の実施形態に係る文書作成装置が用いる書式情報を示す図である。
【図９】書式情報にマージするデータレコードを示す図である。
【図１０】本発明の第３の実施形態に係る文書作成装置の処理を示すフローチャートである。
【図１１】本発明の第３の実施形態において生成される帳票テンプレートの例を示す図である。
【図１２】本発明の第３の実施形態において生成される帳票の例を示す図である。
【符号の説明】
【００７６】
１００  文書作成装置
１０１  ＣＰＵ
１０２  メモリ
１０３  外部記憶装置
１０４  入力デバイス
１０５  ディスプレイモニタ
１０６  ネットワークインタフェース
１０７  ネットワーク
１０８  プリンタ
１０９  システムバス
【図１】
2009258795.tif 000004
【図２】
2009258795.tif 000005
【図３】
2009258795.tif 000006
【図４】
2009258795.tif 000007
【図５】
2009258795.tif 000008
【図６】
2009258795.tif 000009
【図７】
2009258795.tif 000010
【図８】
2009258795.tif 000011
【図９】
2009258795.tif 000012
【図１０】
2009258795.tif 000013
【図１１】
2009258795.tif 000014
【図１２】
2009258795.tif 000015