(57)【要約】【課題】  行間高さを固定しない表等の文書について、１行の画像が２ページに分断されて印刷されるのを防止し、ユーザにＷｅｂ上での自由な文書作成環境を提供する。【解決手段】  Ｗｅｂサーバ１０から供給されるＪａｖａ（登録商標）スクリプトを受け取り、Ｊａｖａ（登録商標）スクリプトの要素オブジェクトによってＷｅｂブラウザ表示サイズを動的に取得しながら、同じく要素オブジェクトを使用して、Ｗｅｂブラウザの表示画面に行を順次表示していき、表示画面がいっぱいになる寸前で、改ページ情報を入力することにより、行の分断を防ぐように処理する。そして、このこれと同様に処理された文書を印刷し、印刷原稿の行の分断を防ぐようにする。【選択図】図１
2007034370.tif 000002
【特許請求の範囲】
【請求項１】
Ｗｅｂブラウザから取得した文書データに対するユーザの出力指示を検出する検出ステップと、
前記検出ステップによって出力指示が検出された場合に、前記文書データを所定単位行ずつ出力用メモリに出力していく出力ステップと、
前記Ｗｅｂブラウザ上で動作する命令記述ファイル内または文書内埋め込み命令のデータを用いてＷｅｂブラウザのページサイズを取得するページサイズ取得ステップと、
前記命令記述ファイル内または文書内埋め込み命令のデータを用いて前記出力ステップによって出力用メモリに出力された１ページ内の文書データの行方向の高さを算出する高さ算出ステップと、
前記ページサイズ取得ステップで取得したページサイズと前記高さ算出ステップで算出した高さとを比較する比較ステップと、
前記比較ステップの比較結果に基づいて、出力した文書データの高さがページサイズを超えた場合に、出力用メモリに出力した文書データの末尾の所定行の前に改ページ情報を挿入する改ページ制御ステップと、
を有することを特徴とする印刷方法。
【請求項２】
前記文書データが行間高さを固定しない図表を含むことを特徴とする請求項１記載の印刷方法。
【請求項３】
前記改ページ制御ステップでは、ページの先頭にヘッダ情報を挿入する処理を行うことを特徴とする請求項１記載の印刷方法。
【請求項４】
前記改ページ制御ステップでは、ページの末尾にフッタ情報を挿入する処理を行うことを特徴とする請求項１記載の印刷方法。
【請求項５】
前記改ページ制御ステップでは、文書データが表である場合に、改ページ情報の挿入によって分断された表の枠の分断部分を編集して各ページ毎に表の枠を完結した状態で出力する処理を行うことを特徴とする請求項１記載の印刷方法。
【請求項６】
前記出力用メモリは表示用の文書データ、または印刷用の文書データ、または表示及び印刷用の文書データを格納するメモリであることを特徴とする請求項１記載の印刷方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターネットのＷｅｂブラウザを利用して提供される文書を印刷する印刷方法に関し、特に行間高さを固定しない表等の文書を複数枚の印刷用紙に分割して印刷する場合の技術に関する。
【背景技術】
【０００２】
従来より、インターネットエクスプローラやネットスケープ等のＷｅｂブラウザを利用したＷｅｂアプリケーションによって、各種の文章が作成され、Ｗｅｂ上に公開されており、その文章を閲覧したユーザは、アプリケーションによって許容される範囲で、必要な文章を適宜プリントアウトして利用することが可能である。
（例えば特許文献１参照）。
【特許文献１】特開平１１−３３８６６６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、上述のようなＷｅｂ上で提供される文章のうち、表のような文書を１行がページの途中で区切れることなく印刷しようとする場合、予め印刷する用紙サイズを限定し、それに合わせて行が分割されないよう、１行の高さを固定したレイアウトをとることが必要となる。
この場合、ユーザが任意にデータを修正できるようなＷｅｂアプリケーションにおいては、固定された行の高さを超えないように、入力する情報に制限を設けなければならず、ユーザが自由に文書を作成する上での障害となる。
また、図などのイメージ情報の場合は、行のサイズに合わせて縮小する必要があるため、文書を表示した際の表現力が下がる可能性があり、この点からもユーザが自由に文書を作成する上での障害となる。
そこで、ユーザに対する文書作成上の制限を緩和するために、図や表のような文書について１行の高さを自由に変更できるようにすることも考えられるが、このようにした場合、文書を印刷する際に、１枚の画像が２ページに跨って印刷され、文書内の１行が２ページに分断されてしまう場合があるため、印刷を目的としたようなＷｅｂアプリケーションには適さないという課題がある。
【０００４】
そこで本発明は、行間高さを固定しない表等の文書について、１行の画像が２ページに分断されて印刷されるのを防止でき、ユーザにＷｅｂ上での自由な文書作成環境を提供できる印刷方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上述の目的を達成するため、本発明の印刷方法は、Ｗｅｂブラウザから取得した文書データに対するユーザの出力指示を検出する検出ステップと、前記検出ステップによって出力指示が検出された場合に、前記文書データを所定単位行ずつ出力用メモリに出力していく出力ステップと、前記Ｗｅｂブラウザ上で動作する命令記述ファイル内または文書内埋め込み命令のデータを用いてＷｅｂブラウザのページサイズを取得するページサイズ取得ステップと、前記命令記述ファイル内または文書内埋め込み命令のデータを用いて前記出力ステップによって出力用メモリに出力された１ページ内の文書データの行方向の高さを算出する高さ算出ステップと、前記ページサイズ取得ステップで取得したページサイズと前記高さ算出ステップで算出した高さとを比較する比較ステップと、前記比較ステップの比較結果に基づいて、出力した文書データの高さがページサイズを超えた場合に、出力用メモリに出力した文書データの末尾の所定行の前に改ページ情報を挿入する改ページ制御ステップとを有することを特徴とする。
【発明の効果】
【０００６】
本発明の印刷方法によれば、例えばインターネットエクスプローラやネットスケープなどのＷｅｂブラウザを利用したアプリケーションにおいて、行間高さを固定しない表のような文書であっても、行の途中でページ送りが発生せず、見栄え良く印刷できる効果がある。
【発明を実施するための最良の形態】
【０００７】
図１は本発明による印刷方法を実施するネットワークシステムの構成を示すブロック図である。
本例のシステムは、インターネットエクスプローラやネットスケープ等のＷｅｂブラウザを利用したアプリケーションにおいて、行間高さを固定しない表のような文書であっても、印刷時に１行の途中でページ送りが発生せず、見栄え良く印刷できるようにしたものである。
図１に示すように、文書情報の供給等を行うＷｅｂサーバ１０には、ＬＡＮやＷＡＮ等のネットワーク２０を通してネットワーククライアント端末３０や印刷装置４０が接続されている。
【０００８】
ネットワーククライアント端末３０は、パーソナルコンピュータやワークステーションといった情報処理端末であり、ハードウェア及びソフトウェアによる機能モジュールとして、Ｗｅｂブラウザ３１、表示機能部３２、入力機能部３３、印刷機能部３４、ネットワークインターフェース３５等を搭載している。
このうちＷｅｂブラウザ３１はインターネット上のホームページの検索等を行うものである。また、表示機能部３２は周辺機器としての表示装置５０の制御を行う。また、入力機能部３３はキーボードやマウス（ポインティングデバイス）といった入力機器６０の制御を行う。また、印刷機能部３４は周辺機器としての印刷装置７０を制御する。さらに、ネットワークインターフェース３５はネットワーク２０との通信を制御する。
また、印刷装置４０は内部にネットワークインターフェース４１を有し、ネットワークを通じてサーバ等から供給される印刷データのプリントアウトを行う機能を有する。
【０００９】
本例では、ネットワーククライアント端末３０でＷｅｂブラウザ３１を利用して取得された文章を表示画面に表示した状態で、印刷装置４０または７０を指定して印刷する処理が選択された場合の動作を中心に説明する。
図２は図１に示すネットワーククライアント端末において本発明の印刷方法を実現する機能構成を示すブロック図であり、主に制御プログラムによって実現されるものである。
図において、検出処理モジュール１００は、Ｗｅｂブラウザ３１から取得した文書データに対するユーザの出力指示を検出する検出ステップを実行する。また、出力処理モジュール１１０は、検出ステップによって出力指示が検出された場合に、文書データを所定単位行（本例では１行）ずつ出力用メモリ（本例では表示用メモリ及び印刷用メモリ）に出力していく出力ステップを実行する。
【００１０】
また、ページサイズ取得処理モジュール１２０は、Ｗｅｂブラウザ上で動作する命令記述ファイルまたは文書内埋め込み命令（本例ではＪａｖａ（登録商標）スクリプト）内の要素オブジェクト（例えば、ClientWidth、ClientHeightまたはInnerWidth、InnerHeight）を用いてＷｅｂブラウザのページサイズを動的に取得するページサイズ取得ステップを実行する。
また、算出処理モジュール１３０は、命令記述ファイル内または文書内埋め込み命令の要素オブジェクト（例えば、InnerHTML）やスタイルシート（例えば、style.display）を用いて出力ステップによって出力用メモリに出力された１ページ内の文書データの行方向の高さを算出する高さ算出ステップを実行する。
また、比較処理モジュール１４０は、ページサイズ取得ステップで取得したページサイズと高さ算出ステップで算出した高さとを比較する比較ステップを実行する。
さらに、改ページ制御処理モジュール１５０は、比較ステップの比較結果に基づいて、出力した文書データの高さがページサイズを超えた場合に、出力用メモリに出力した文書データの末尾の所定行の前に改ページ情報を挿入する改ページ制御ステップを実行する。
【００１１】
このような処理モジュール構成により、本例のネットワーククライアント端末３０では、Ｗｅｂサーバ１０から供給されるＪａｖａ（登録商標）スクリプトを受け取り、Ｊａｖａ（登録商標）スクリプトの要素オブジェクトの一つであるClientWidth、ClientHeightまたはInnerWidth、InnerHeightによってＷｅｂブラウザ表示サイズを動的に取得しながら、同じく要素オブジェクトのInnerＨＴＭＬ、またはスタイルシートであるstyle.displayを使用して、Ｗｅｂブラウザの表示画面に行を順次表示していき、表示画面がいっぱいになる寸前で、改ページ情報を入力することにより、行の分断を防ぐように処理する。そして、これと同様に処理された文書を印刷し、印刷原稿の行の分断を防ぐようにする。
【００１２】
図３はこのような処理の具体的な流れを示すフローチャートである。
本例において、Ｗｅｂサーバより提供される文書には、図示のような処理を実行するＪａｖａ（登録商標）スクリプトプログラムが埋め込まれているものとする。
まず、ステップＳ１では、Ｗｅｂブラウザの表示画面のページサイズ（１ページの行方向の高さ）を決定する。この場合、上述したＪａｖａ（登録商標）スクリプト内の要素オブジェクト（例えば、ClientWidth、ClientHeightまたはInnerWidth、InnerHeight）を用いて動的に取得する方法も可能であるが、予め取得済みのページサイズである場合には、その情報をメモリから読み出して決定することも可能である。これは、例えば端末内に一時保存したファイルの表示や印刷を行う場合に該当する。
そして、ステップＳ２で、ヘッダ情報の挿入が指示されている場合には、ページの先頭に予め設定されているヘッダ情報を挿入する。この後、ステップＳ３で全ての行データの表示が終了したか否かを判断し、全ての行データの表示が終了していれば、フッタ情報の挿入が指示されている場合に、ページの末尾に予め設定されているフッタ情報を挿入して（ステップＳ１１）、処理を終了する。
【００１３】
また、全ての行データの表示が終了していなければ、表文書の行データを１行ずつ画面に表示し（ステップＳ４）、表示後の行データの表示エリアの高さを測定する（ステップＳ５）。ここでは動的にＨＴＭＬ文書を変更する必要があるため、表示する文書データは、ステップＳ３の処理内で毎回整形され、Ｊａｖａ（登録商標）スクリプトの要素オブジェクト：innerＨＴＭＬによってブラウザに表示させる。なお、InnerＨＴＭＬの代わりに、スタイルシート：style.displayを使用し、表示の可否を調整するようなプログラムにしても良い。
また、ステップＳ５での行データの表示エリアの高さ測定には、表示オブジェクト：ClientHeightを使用している。ただし、インターネットエクスプローラの場合はClientHeightを使用するが、ネットスケープ、FireFox等のMozilla系ブラウザの場合は、innerHeightを使用する。
【００１４】
そして、ステップＳ６では、行データの表示エリアの高さとブラウザの表示画面の高さとを比較し、行データの表示エリアの高さがブラウザの表示画面内であれば、ステップＳ３に戻って次の行データを表示し、そうでない場合は、その行データはページに収まらないため次ぎのページに回し（ステップＳ７）、フッタ情報、改ページ情報、ヘッダ情報を順次埋め込み（ステップＳ８、Ｓ９、Ｓ１０）、ステップＳ３に戻って次ページの表示に移行する。ここで最初に表示される文書データは、ステップＳ７で次ページに回した行データである。
このように本例では、文章データを１行ずつ表示し、１ページのエリアに収まるかどうかを判断するため、行間高さが可変であっても、１行が分割されて2ページに渡って表示されることを防ぐことができる。
なお、ここではＷｅｂサーバより取得した文書データの表示出力を行う場合について説明したが、このような改ページ処理を施した文書データを印刷装置で出力する場合にも、改ページ情報によって１行に分断の生じない印刷を行うことが可能となる。
【００１５】
図４は本例で処理した印刷原稿の一例を示す説明図であり、図５は従来の印刷原稿の一例を示す説明図である。
図５（Ａ）に示すように、表が記載された元の文書を印刷すると、図５（Ｂ）に示すように、１ページからはみ出た部分が次ページに分割され、表の枠や１行の画像が分断された状態で出力される。
しかし、本例の改ページ処理を行うことにより、図４（Ａ）に示す図５（Ｂ）と同様の文書であっても、図４（Ｂ）に示すように、行間で適正に改ページ処理され、表の枠や１行の画像が分断されず、適正に各ページに振り分けられた状態で出力される。
なお、図示の例は、単に１行の分断を防ぐだけでなく、複数ページに分割される表の枠を完結させた状態で編集し、さらに前のページの表の末尾に枠を追加して「続きあり」というフッタ情報を表示（印刷）し、後のページの表の先頭に枠を追加して「名称」「項目」といった先頭ページと共通のヘッダ情報を表示（印刷）するようにしている。
これにより、読み手にとって印象がよく、親切な印刷原稿を提供できる。ただし、このような編集方法は、ユーザの好みや必要性に応じて変更できるものとし、例えばアプリケーション内に、いくつかの編集形態（ページ付けの有無等）の選択肢を用意して、予めユーザに選択させるような構成とすることが可能である。
【００１６】
なお、以上は本発明の一例であり、具体的な要素については種々変形が可能である。
例えば上述した説明では省略したが、Ｗｅｂブラウザの中には、表示画面上で編集された文章の印刷が選択された場合に、その文章を再度Ｗｅｂサーバから取り出して表示文書と同様の編集処理を行った後に印刷装置に出力するようなものも存在しており、このような処理方式の場合には、上述した表示画面上での改ページ処理を印刷用の文書データに対して同様に行い、印刷するものとする。
また、上述した例では、表示画面に表示した文章を印刷する場合の動作例を説明したが、実際の運用においては、Ｗｅｂブラウザを通して取得した文書ファイルをクライアント端末のファイルメモリ等に一旦保存しておき、これを後からファイル名指定等によって印刷するような場合も多く、印刷の際に文書ファイルを一度も表示画面に表示することなく印刷する場合もある。そこで、このような場合の印刷処理においても、上述したフローチャートと同様に、ページサイズと行送りを見ながら１行の分断をなくした改ページ処理を行うアプリケーションを設けることも可能である。
また、改ページの前後にフッタ情報やヘッダ情報を挿入するか否かをユーザが選択できるようにし得ることも勿論である。
また、本発明に関する一連の処理自体を実行するか否かを端末毎または印刷処理毎にユーザが選択できる機能を設け、この処理が不要な場合には、従来と同様の印刷を行うようにすることも勿論可能である。
以上のような構成も本発明に含まれるものとする。
【図面の簡単な説明】
【００１７】
【図１】本発明による印刷方法を実施するネットワークシステムの構成を示すブロック図である。
【図２】図１に示すクライアント端末で稼動する処理モジュールの構成例を示すブロック図である。
【図３】図１に示すクライアント端末で実行する印刷方法の具体的な流れを示すフローチャートである。
【図４】図１に示すクライアント端末で印刷処理した印刷原稿の一例を示す説明図である。
【図５】従来のシステムで印刷処理した印刷原稿の一例を示す説明図である。
【符号の説明】
【００１８】
１０……Ｗｅｂサーバ、２０……ネットワーク、３０……ネットワーククライアント端末、３１……Ｗｅｂブラウザ、３２……表示機能部、３３……入力機能部、３４……印刷機能部、３５……ネットワークインターフェース、４０、７０……印刷装置、４１……ネットワークインターフェース、５０……表示装置、６０……入力機器。
【図１】
2007034370.tif 000003
【図２】
2007034370.tif 000004
【図３】
2007034370.tif 000005
【図４】
2007034370.tif 000006
【図５】
2007034370.tif 000007