(57)【要約】【課題】ＨＴＭＬ文書などのページ概念のない文書をページに分割して画像形成する装置において、ページ分割に関するユーザの多様なニーズに対応する。【解決手段】ページ分割処理部３０４は、ページ間にまたがる文書要素の取扱等が異なる複数のページ分割アルゴリズムを有する。ユーザがユーザインタフェース部３０１によりページ分割ポリシーを入力すると、分割アルゴリズム指定部３０５が、そのポリシーに対応するページ分割アルゴリズムを特定し、ページ分割処理部３０４に通知する。ページ分割処理部３０４は、そのアルゴリズムに従って、ＨＴＭＬ文書をページ分割していく。【選択図】        図３
2004175095.tif 000002
【特許請求の範囲】
【請求項１】
一続きの文書をページ単位に分割して画像形成する画像形成装置であって、
一続きの文書を複数のページにページ分割するページ分割手段であって、複数のページ分割アルゴリズムを有するページ分割手段と、
ユーザから、前記複数のページ分割アルゴリズムのうち使用するアルゴリズムの指定を受け付けるアルゴリズム指定手段と、
前記ページ分割手段に、前記アルゴリズム指定手段で指定されたページ分割アルゴリズムによりページ分割処理を行わせる制御手段と、
を備える画像形成装置。
【請求項２】
前記アルゴリズム指定手段は、
ページ分割ポリシーとページ分割アルゴリズムとの対応関係の情報を保持する対応関係保持手段と、
選択肢として複数のページ分割ポリシーをユーザに提示してユーザの選択を受け付けるユーザインタフェース手段と、
ユーザインタフェース手段にてユーザが選択したページ分割ポリシーに対応するページ分割アルゴリズムを対応関係保持手段の情報から求め、求めたページ分割アルゴリズムをユーザ指定のアルゴリズムとするアルゴリズム判別手段と、
を備える、請求項１記載の画像形成装置。
【請求項３】
前記アルゴリズム指定手段にて受け付けたユーザ指定のページ分割アルゴリズムによる前記文書のページ分割結果のプレビュー画像を生成し、表示するプレビュー手段を更に備える請求項１記載の画像形成装置。
【請求項４】
前記ページ分割アルゴリズムは、表示上分解可能な種類の文書要素がページ境界にまたがる場合の、ページ分割に当たってのその文書要素の分解の許可・不許可及び分解の仕方を規定したものであることを特徴とする、請求項１記載の画像形成装置。
【請求項５】
ユーザがアルゴリズム指定手段に行ったページ分割アルゴリズム指定の履歴学習により、デフォルトのページ分割アルゴリズムを自動設定するデフォルト設定手段と、
前記アルゴリズム指定手段に対しユーザからページ分割アルゴリズムの指定が行わなれかった場合に、前記デフォルト設定手段で設定されたデフォルトのページ分割アルゴリズムにより前記ページ分割手段にページ分割処理を行わせるデフォルト処理手段と、
を更に備える請求項１記載の画像形成装置。
【請求項６】
画像形成条件に対応したデフォルトのページ分割アルゴリズムを有し、前記アルゴリズム指定手段に対しユーザからページ分割アルゴリズムの指定が行わなれかった場合に、当該文書の画像形成処理に対して指定された画像形成条件に対応するデフォルトのページ分割アルゴリズムにより前記ページ分割手段にページ分割処理を行わせるデフォルト処理手段、を更に備える請求項１記載の画像形成装置。
【請求項７】
前記対応関係保持手段は、前記ページ分割ポリシーとページ分割アルゴリズムとの対応関係の情報を、個々の画像形成条件ごと、又は画像形成条件のグループごとに個別に保持可能であり、
前記アルゴリズム判別手段は、ユーザが選択したページ分割ポリシーに対応するページ分割アルゴリズムを求める際、設定されている画像形成条件に対応する対応関係の情報を用いる、
ことを特徴とする請求項２記載の画像形成装置。
【請求項８】
ユーザから、複数のページ分割アルゴリズムのうち使用するアルゴリズムの指定を受け付ける指定ステップと、
指定されたページ分割アルゴリズムにより、対象となる一続きの文書のページ分割を行う分割ステップと、
前記ページ分割に従って、一続きの文書をページ単位で画像形成する画像形成ステップと、
を含む画像形成方法。
【請求項９】
前記指定ステップは、
選択肢として複数のページ分割ポリシーをユーザに提示してユーザの選択を受け付けるステップと、
ユーザが選択したページ分割ポリシーに対応するページ分割アルゴリズムを、所定の対応関係情報を参照して判別し、判別したページ分割アルゴリズムをユーザ指定のアルゴリズムとするステップと、
を含む、請求項８記載の画像形成方法。
【請求項１０】
コンピュータシステムに、
ユーザから、複数のページ分割アルゴリズムのうち使用するアルゴリズムの指定を受け付ける指定ステップと、
指定されたページ分割アルゴリズムにより、対象となる一続きの文書のページ分割を行う分割ステップと、
前記ページ分割に従って、一続きの文書をページ単位で画像形成する画像形成ステップと、
を実行させるためのプログラム。
【請求項１１】
前記指定ステップは、
選択肢として複数のページ分割ポリシーをユーザに提示してユーザの選択を受け付けるステップと、
ユーザが選択したページ分割ポリシーに対応するページ分割アルゴリズムを、所定の対応関係情報を参照して判別し、判別したページ分割アルゴリズムをユーザ指定のアルゴリズムとするステップと、
を含む請求項１０記載のプログラム。
【請求項１２】
請求項７記載の画像形成装置であって、
ページ分割ポリシーとしてページ分割結果の体裁を優先させる体裁優先ポリシーが指定可能であると共に、複数のページが一覧可能となる出力形態に対応する画像形成条件と、複数のページが一覧可能となる出力形態に対応しない画像形成条件とが指定可能であり、
前記対応関係保持手段は、
複数のページが一覧可能となる出力形態に対応する画像形成条件と体裁優先ポリシーとの組合せに対応するページ分割アルゴリズムとして、ページにレイアウトしようとする文書要素がそのページからはみ出す場合において、そのページと次のページが前記出力形態にて一覧可能な関係にある場合には、その文書要素を分割してそれら両ページに振り分けるページ分割アルゴリズムを記憶する、
ことを特徴とする画像形成装置。
【請求項１３】
請求項１記載の画像形成装置であって、
前記ページ分割手段は、前記ページ分割アルゴリズムの１つとして、ページにレイアウトしようとする文書要素がそのページからはみ出す場合において、そのページと次のページが一覧可能な関係にある場合には、その文書要素を分割してそれら両ページに振り分けるアルゴリズム、を有することを特徴とする画像形成装置。
【請求項１４】
請求項１２又は１３記載の画像形成装置であって、
前記一覧可能な関係とは、ｎ個の論理ページが１個の物理ページ上に並べて画像形成される場合における、それら論理ページ同士の関係を指すことを特徴とする画像形成装置。
【請求項１５】
請求項１２又は１３記載の画像形成装置であって、
前記一覧可能な関係とは、シートに対して両面印刷が行われる場合において、あるページと次のページが異なるシートに画像形成されるときのそれら両ページの関係を指すことを特徴とする画像形成装置。
【請求項１６】
請求項１記載の画像形成装置であって、
前記ページ分割手段は、前記ページ分割アルゴリズムの１つとして、ページにレイアウトしようとする文書要素がそのページから横方向にはみ出す場合において、そのページと次のページが一覧可能な関係にある場合には、はみ出す部分を前記次のページにレイアウトするアルゴリズム、を有することを特徴とする画像形成装置。
【請求項１７】
請求項１記載の画像形成装置であって、
前記ページ分割手段は、前記ページ分割アルゴリズムの１つとして、ページにレイアウトしようとする文書要素がそのページから横方向にはみ出す場合に、該文書要素のうち該ページからはみ出す部分を、該ページ内に収まる部分の後段に折り返してレイアウトするアルゴリズム、を有することを特徴とする画像形成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＨＴＭＬ(Hyper Text Markup Language)等の、ページ概念のない一続きの文書を、ページプリンタ等のページ単位の出力を行う装置で処理する際の、ページ分割の技術に関する。
【０００２】
【従来の技術】
ＨＴＭＬ文書等のページ概念のない一続きの文書を、ページ単位で出力するページプリンタで印刷する場合、ホストコンピュータ上のプリンタドライバやプリントサーバが、対象文書をページごとに分割して印刷データを作成し、これをプリンタに送って印刷させることが一般的である。従来、このページ分割は、そのプログラムに予め組み込まれた固定のページ分割方法で行われている。
【０００３】
例えば特許文献１に示される印刷制御装置は、「オリジナルの配置イメージを崩さず、且つ描画オブジェクトの分断を抑制する」というページ分割ポリシー（方針）を具現化した固定の分割方法にてページ分割を行っている。
【０００４】
【特許文献１】
特開平１０−０７４２６５号公報
【０００５】
【発明が解決しようとする課題】
ところがそのようなプログラムが提供する固定のページ分割方法は、万人の要求に合致するものとは限らない。例えば、コストを重視してできるだけ少ない用紙で印刷を済ませたいと考えるユーザもあれば、できるだけ画像の分断が少ない体裁のよい印刷出力を望むユーザもある。このような潜在的なユーザの要望に対し、従来のプリンタやプリンタドライバは、十分に応えているとは言えない。
【０００６】
本発明は、このような問題点に鑑みなされたものであり、ページ分割の方法に関するユーザの多様な要望に応え得る画像形成装置及び方法を提供することを目的とする。
【０００７】
【課題を解決するための手段】
上記目的を達成するため、本発明にかかる画像形成装置は、一続きの文書を複数のページにページ分割するページ分割手段であって、複数のページ分割アルゴリズムを有するページ分割手段と、ユーザから、前記複数のページ分割アルゴリズムのうち使用するアルゴリズムの指定を受け付けるアルゴリズム指定手段と、
前記ページ分割手段に、前記アルゴリズム指定手段で指定されたページ分割アルゴリズムによりページ分割処理を行わせる制御手段と、を備える。
【０００８】
本発明の好適な態様では、前記アルゴリズム指定手段は、ページ分割ポリシーとページ分割アルゴリズムとの対応関係の情報を保持する対応関係保持手段と、選択肢として複数のページ分割ポリシーをユーザに提示してユーザの選択を受け付けるユーザインタフェース手段と、ユーザインタフェース手段にてユーザが選択したページ分割ポリシーに対応するページ分割アルゴリズムを対応関係保持手段の情報から求め、求めたページ分割アルゴリズムをユーザ指定のアルゴリズムとするアルゴリズム判別手段と、を備える。
【０００９】
また、本発明の好適な態様では、前記ページ分割手段は、前記ページ分割アルゴリズムの１つとして、ページにレイアウトしようとする文書要素がそのページからはみ出す場合において、そのページと次のページが一覧可能な関係にある場合には、その文書要素を分割してそれら両ページに振り分けるアルゴリズム、を有する。
【００１０】
【発明の実施の形態】
以下、本発明の実施の形態（以下実施形態という）について、図面に基づいて説明する。
【００１１】
図１は、本発明の実施形態に係るプリンタのハードウエア構成の一例を概略的に示す図である。
【００１２】
このプリンタは、ＣＰＵ（中央演算処理装置）１０１，ＲＯＭ（リード・オンリー・メモリ）１０２，ＲＡＭ（ランダム・アクセス・メモリ）１０３，操作パネル１０４，ＬＡＮ（ローカル・エリア・ネットワーク）インタフェース１０５，及びプリントエンジン１０６を備えている。
【００１３】
ＣＰＵ１０１は、ＲＯＭ１０２に格納された各種制御プログラムを実行することで本プリンタの各部を制御し、本プリンタの処理動作を実現する。この制御プログラムの中には、ＨＴＭＬやＸＨＴＭＬ−ｐｒｉｎｔなどの文書をページ分割して印刷するための制御動作を記述したものが含まれる。このページ分割の処理手順については、後で詳しく説明する。ＲＡＭ１０３は、ＣＰＵ１０１による各種プロブラムの実行時の作業メモリ領域として利用され、例えばプリンタ受信データ（イメージデータやＨＴＭＬデータなど）やこれを展開したビットマップデータなどが格納される。操作パネル１０４は、プリンタに対し印刷条件を設定するためのユーザインタフェース装置であり、例えばタッチパネル式液晶ディスプレイや各種入力ボタンなどを有している。ＬＡＮインタフェース１０５は、ＬＡＮ上の装置と通信したり、ＬＡＮを介してインターネット上の装置と通信したりするための通信処理を行う。プリントエンジン１０６は、ＣＰＵ１０１の指示に従って印刷対象のビットマップデータを受け取り、用紙等の媒体に印刷する。ＥＥＰＲＯＭ(Electrically Erasable Programmable Read-Only Memory)１０７は、書き換え可能な不揮発性メモリであり、ユーザやサービスエンジニアが設定した各種設定データやプログラムなどが格納される。
【００１４】
図２は、このプリンタ２０２が適用されるシステムの構成例を示す図である。この例では、ＬＡＮ２０３上にクライアントＰＣ（パーソナルコンピュータ）２０１とプリンタ２０２とが接続されている。クライアントＰＣ２０１とプリンタ２０２は、ＬＡＮ２０３を介してインターネット２０４に接続されている。インターネット２０４上には、サーバ２０５が存在する。
【００１５】
図２のシステムでは、例えばクライアントＰＣ２０１がプリンタ２０２に対してＨＴＭＬ文書の印刷要求と、印刷対象のＨＴＭＬ文書データを送信すると、これを受信したプリンタ２０２は、そのＨＴＭＬ文書データを解析し、ビットマップデータを生成して媒体に印刷する。ここで、ＨＴＭＬ文書の中にはＵＲＬ(Uniform Resource Locator)等により示されるオブジェクト（文書要素）が含まれる場合があり、このような場合プリンタ２０２は、そのＵＲＬ等に従って、そのオブジェクトが存在するインターネット２０４上のサーバ２０５からそのオブジェクトのデータをダウンロードし、これを用いてビットマップデータを生成する。また、このほか、プリンタ２０２の操作パネル１０４からＨＴＭＬ文書のＵＲＬを直接入力したり、クライアントＰＣ２０１や図示しないモバイル機器からプリンタ２０２に対してＨＴＭＬ文書のＵＲＬを送信したりして、プリンタ２０２に印刷指示を行うことも可能である（この方式は、プルプリントと呼ばれる）。この場合、プリンタ２０２は、入力されたＵＲＬに従ってインターネット２０４上からそのＨＴＭＬ文書をダウンロードし、印刷処理を行う。
【００１６】
本実施形態のプリンタは、このようなＨＴＭＬ文書等のページ概念のない記述言語で記述された文書データを印刷する際のページ分割のために、複数のページ分割アルゴリズムを備えており、これら複数のアルゴリズムの中からユーザに所望のものを選択させるための構成を備えている。ここで、ページ分割アルゴリズムとは、ＨＴＭＬ文書の記述に従って順番に並べていった描画オブジェクトがページの境界をまたぐとき（すなわちオブジェクトがページからはみ出るとき）に、そのオブジェクトをどのように前後のページに割り振るかを決めるための、具体的な処理手順のことである。個々のページ分割アルゴリズムは、それぞれ個別のプログラムとして実装することもできるが、別の態様として、１つのプログラムのなかで用いるパラメータの値を変えることで、異なるページ分割アルゴリズムとして動作させることもできる。
【００１７】
ここで、ユーザが個々のページ分割アルゴリズムを直接指定するのは繁雑になる場合が多いので、本実施形態では、もっと大まかなページ分割のポリシーを指定できるようにしている。ページ分割ポリシーは、ページ分割の方針のことであり、例えば「用紙節約を優先する」や「体裁（見栄え）を優先する」などといったものがポリシーの一例である。
【００１８】
図３は、本実施形態のプリンタにおける、ＨＴＭＬ文書の印刷処理のための機構を示す機能ブロック図である。図３の処理機構は、ＲＯＭ１０２やＥＥＰＲＯＭ１０７に格納されたプログラムや設定データをＣＰＵ１０１で実行することにより実現される。
【００１９】
まず、ユーザインタフェース部３０１は、操作パネル１０４を介してユーザからの指示を受け付ける手段である。主制御部３０２は、印刷処理の全体的な制御を行う手段である。文書解析部３０３は、入力されるＨＴＭＬ文書を解析して個々のオブジェクト（文書要素）を検出し、オブジェクトの内容データを用意する手段である。オブジェクトの中には、ＨＴＭＬ文書内にすでに含まれているものもあれば、外部参照の指定により外部のサーバからダウンロードするものもある。後者については、文書解析部３０３は、ＵＲＬ等で示される参照先から内容データをダウンロードする。
【００２０】
ページ分割処理部３０４は、ユーザインタフェース部３０１を介して設定されたページサイズや、解析により検出した個々のオブジェクトのサイズ等の情報に基づき、一続きのＨＴＭＬ文書をページ単位に分割していく。ここで、本実施形態では、ページ分割処理部３０４はページ分割のアルゴリズムを複数有している。分割アルゴリズム指定部３０５は、それら複数のページ分割アルゴリズムのなかから、ユーザの選択を受け付ける手段である。分割アルゴリズム指定部３０５は、アルゴリズムの選択のためのユーザインタフェース画面を作成してユーザインタフェース部３０１を介して操作パネル１０４に表示し、この画面に対するユーザの選択指示を受け付けることで、ユーザが指定するページ分割アルゴリズムを特定する。ここで、ユーザインタフェース画面には、いくつかのページ分割ポリシーを表示し、ユーザがこの中から所望のポリシーを選択すると、分割アルゴリズム指定部３０５が、選択されたポリシーに対応するページ分割アルゴリズムを特定する。ページ分割処理部３０４は、このようにして特定されたユーザ指定のページ分割アルゴリズムを用いて、ＨＴＭＬ文書のページ分割を行う。ページデータ生成部３０６は、ページ分割処理部３０４によるページ分割結果に従って、各ページの画像を示すビットマップデータを生成する。印刷プレビュー制御部３０７は、ページデータ生成部３０６で生成された各ページのビットマップデータをもとにプレビュー画像を作成し、操作パネル１０４のディスプレイに表示する。プレビュー画像表示の有無は、ユーザインタフェース部３０１を介して指定することができる。
【００２１】
例えばプルプリントの場合、ユーザは、ユーザインタフェース部３０１に対して印刷対象文書のＵＲＬや、印刷条件（ページ（用紙）サイズ、片面／両面など）、ページ分割アルゴリズム、プレビュー有無などの指定を行うと、これに従って主制御部３０２が印刷対象文書やその中で参照しているオブジェクトをダウンロードし、上述の各手段の動作によって、解析、ページ分割、ページデータ生成が行われる。プレビューの指定がない場合は、生成されたページデータが、即プリントエンジン１０６に渡され、印刷処理が行われる。プレビューの指定がある場合は、生成したページデータを元にプレビュー画像を表示する。これを確認したユーザがユーザインタフェース部３０１に印刷開始指示を入力すると、主制御部３０２が、生成されたページデータをプリントエンジン１０６に渡して印刷を行わせる。プレビューの結果、意図したページが得られないと分かった場合は、印刷条件やページ分割アルゴリズムを修正することができる。
【００２２】
クライアントＰＣ２０１からプリンタ２０２にＨＴＭＬ文書を送信して印刷させる場合、例えば、いったんその文書をプリンタ２０２に蓄積し、ユーザがプリンタ２０２のところまできて、操作パネル１０４から印刷条件やページ分割アルゴリズム、プレビューの有無などを指定することもできる。また、印刷条件やページ分割アルゴリズムなどの指定を受け付けるプログラムをクライアントＰＣ２０１にインストールし、このプログラムでそれらの指定を受け付け、この指定内容を印刷対象のＨＴＭＬ文書と共に、プリンタ２０２に送信する構成も可能である。また、プリンタ２０２からクライアントＰＣ２０１に対して印刷指示用のウェブ（ＷＷＷ）ページを提供し、そのウェブページ上で印刷対象文書のＵＲＬや印刷条件、ページ分割アルゴリズム、プレビューの有無などを指定する構成も可能である。この場合、プレビュー画像も、ウェブページとしてクライアントＰＣ２０１に提供することができる。
【００２３】
図４は、ユーザインタフェース部３０１が提供するページ分割指定用のユーザインタフェース画面の一例を示す図である。この例は、ページ分割指定の概略設定画面４００の例を示したものである。この概略設定画面４００には、「体裁優先」、「用紙節約優先」、「バランス型」という３つの大まかなページ分割ポリシーが選択肢として挙げられている。「体裁優先」は、画像やテーブルなどがページの境界で分断されることをできるだけ避けるという方針であり、このポリシーでは用紙の使用枚数が増大しがちになる。これに対し、「用紙節約優先」は、体裁は多少犠牲にしてもよいから、用紙の使用枚数を少なくするという方針である。「バランス型」は、それら両者の中間的な分割方針であって、例えば文字や小さな画像などの小さなオブジェクト画像についてはページの境界で分断されないようにし、大きな画像やテーブルなど大きなのオブジェクト画像については分断するという体裁と用紙の節約とをバランスさせる分割方針である。いずれにしても、個々のページ分割ポリシーは、その方針内容をユーザに分かりやすく示すキーワードや文、アイコン、説明図などにより表示する。これらポリシーは、その左隣に示されるラジオボタン４０２，４０４，又は４０６により択一的に選択することができる。
【００２４】
また、概略設定画面４００には、詳細設定ボタン４０８と標準設定指示ボタン４１０が設けられている。詳細設定ボタン４０８は、図５に示すページ分割ポリシーの詳細設定画面５００を呼び出すためのボタンである。また、標準設定指示ボタン４１０は、予め設定されているデフォルト（既定値）のページ分割アルゴリズムを選択する場合に用いるボタンである。
【００２５】
図５の詳細設定画面５００では、ページ分割ポリシーの詳細項目についての指定を行う。この例では、ポリシーが「用紙節約を最優先する」と「出力の体裁を考慮する」の２つに大きく分類されており、ユーザはラジオボタン５０２又は５０４によりこれらのうちの一方を選択する。
【００２６】
「用紙節約を最優先する」というポリシーは、文書中のオブジェクトの区切りを考慮せず、ＨＴＭＬ文書から生成したビットマップイメージをページサイズごとの区切りでページ分割するという方針である。このポリシーでは、例えばテキストの行の途中でページが切れる場合もあるが、ページ間にまたがるオブジェクトを次のページに送ることがないので、用紙使用枚数は最少となる。
【００２７】
これとは逆に、「出力の体裁を考慮する」というポリシーは、文書に含まれるオブジェクトの見栄えをできるだけ損なわないように出力するという方針である。このポリシーでは、テキストオブジェクトの行がページ末尾に掛かった場合、その行を次ページに送る。更にこのポリシーでは、オブジェクトの種類ごとに、それぞれそのオブジェクトがページ末尾からはみ出た場合に、どのように処置するかの詳細ポリシーを設定することができる。
【００２８】
図示例では、テーブルオブジェクトの設定欄５１０には、「テーブルの分断を認めない」、「セル単位で切ってよい」、「セル内の行単位で切ってよい」といった詳細ポリシーが選択肢として列挙されている。「テーブルの分断を認めない」が選択された場合、テーブルがページ末尾からはみ出すと、そのテーブル全体を次ページに送る。この分割方法は、テーブル全体が同じページに含まれるので、テーブルの見やすさの点では優れているが、用紙の使用量は多くなる。「セル単位で切ってよい」が選択された場合は、テーブルについてはセル単位ではみ出しの有無を判定し、ページ末尾からセルがはみ出した場合は、そのセル以降の残りの部分を次ページに送る。この分割方法は、テーブル自体は複数のページに分かれるものの、セル単位で分割されるので見やすさはある程度維持され、かつ用紙の使用量をテーブル単位の分割に比べて少なくすることができる。「セル内の行単位で切ってよい」が選択された場合は、テーブルについてはセル内のテキスト行ごとにページからのはみ出しの有無を検査し、ページ末尾からはみ出した行以降を次ページに送る。この分割方法は、セルの途中でテーブルが分割されるため、見やすさの点では劣るが、用紙の節約効果は高い。
【００２９】
同様に、リストやイメージなどのオブジェクトについても、詳細な分割ポリシーを設定することができる。例えばリストの場合、テーブル場合と同様の考え方で、「リストの分割を認めない」、「アイテム（リスト項目）単位で切ってよい」、「アイテム内の行単位で切ってよい」などの詳細ポリシーが考えられる。また、イメージ（画像）については、ページ末尾からはみ出した時に分断を認めるか認めないかという詳細ポリシーが選択できる。
【００３０】
以上の例では、テーブルの枠（罫線）がある場合とない場合を区別していなかったが、枠有りの場合と枠なしの場合に対して、それぞれ別々に分割方法を設定できるようにすることもできる。
【００３１】
このように、「出力体裁を考慮する」という上位ポリシーは、更に各オブジェクト種類ごとの詳細ポリシーの組合せにより、複数の異なる分割ポリシーに細分される。このように、詳細設定画面５００により、各オブジェクト種類ごとの詳細分割設定ができる。
【００３２】
なお、図４の概略設定画面４００に示した大まかな３つの概略的な分割ポリシーは、それぞれ、詳細設定画面５００で設定できる詳細なポリシー（すなわち各オブジェクト種類ごとの詳細分割設定の組合せ）の１つに対応付けられ、その対応付け情報が分割アルゴリズム指定部３０５に登録されている。例えば、図４の概略的な分割ポリシー「体裁優先」を、図５の詳細ポリシーの「テーブルの分断を認めない」、「リストの分断を認めない」、「画像の分断を認めない」の組合せに対応付けたり、概略的なポリシー「用紙節約優先」を「用紙の節約を最優先する」という詳細ポリシーに対応付けたりする例が挙げられる。概略設定画面４００である概略的な分割ポリシーが選択された場合、そのポリシーに対応付けられた詳細なポリシー内容が対応付け情報から読み出され、このポリシー内容に対応したページ分割アルゴリズムによりページ分割処理が行われることになる。なお、概略的な分割ポリシーに対応する詳細ポリシー（詳細項目）の組合せをカスタマイズできるようにしたり、詳細設定した分割ポリシーを標準設定として登録することも可能である。
【００３３】
次に、図６を参照して、本実施形態のプリンタのページ分割処理に関する処理手順を説明する。
【００３４】
クライアントＰＣ２０１やモバイル機器等の外部からの印刷開始指示や操作パネル１０４から印刷開始指示が入力された場合、分割アルゴリズム指定部３０５は、ユーザから分割ポリシーが指定されているかどうかを判別する（６０１）。分割ポリシーが指定されていない場合、又は概略設定画面４００で標準設定指示ボタン４１０が選択された場合は、分割アルゴリズム指定部３０５は、予め登録されているデフォルトの分割アルゴリズムによるページ分割をページ分割処理部３０４に指示する（６０３）。分割ポリシーが設定されている場合は、設定されたポリシーに対応した分割アルゴリズムによるページ分割を、ページ分割処理部３０４に指示する（６０２）。このステップ６０２では、指定された分割ポリシーに対して予め設定された各オブジェクトごとの詳細分割設定の内容を、図７に示すような分割設定テーブルに記憶する。この例では、テーブル、リスト、イメージの各オブジェクト種類ごとに、その各々に対する分割方法が登録される。
【００３５】
このようにして、使用するページ分割アルゴリズムが指定されると、ページ分割処理部３０４は、文書解析部３０３の解析結果に基づき各オブジェクトのページ内での位置を確定していき（６０４）、ページ末尾、すなわちページ同士の境界にかかるオブジェクトを検知した場合は、そのオブジェクトをどのようにそれらページに振り分けるかをその分割アルゴリズムに従って決定する（６０５）。これにより、先頭のページより順次にページ分割がなされる。なお、ＨＴＭＬ文書には、ＣＳＳ（カスケーディング・スタイル・シート）等によりレイアウト指定がなされる場合があるが、このような場合は、ステップ６０４にて各オブジェクトの位置がＣＳＳに従って決定される。また、ＣＳＳにおけるページの区切りを示すページブレークの指定の取扱については、例えば、ページブレーク指定により決まるページの区切りでは必ず改ページを行い、その上でページからはみ出るオブジェクトが出た場合に、ユーザが指定した分割ポリシーに従った分割処理を行う等の取扱いをすればよい。
【００３６】
以上のステップ６０４，６０５の処理をＨＴＭＬ文書の末尾まで繰り返す（６０６）ことで、文書全体のページ分割が完了する。
【００３７】
図８は、ステップ６０５の詳細な処理として、テーブルがページ末尾にかかったことを検知した場合の処理を示している。この処理では、ページ分割処理部３０４は、分割設定テーブル（図７参照）の設定内容を調べ、まずテーブルの分断を認めない設定になっているかどうかを判定する（８０１）。テーブルの分断を認めない設定になっている場合は、そのテーブル全体を次ページに移動することで、ページの分割を行う（８０２）。この場合、図９の（ａ）に示すように、テーブル９１０は、ページ９００の末尾９０５からはみ出ているので、ページ分割位置Ｐは図示のごとくそのテーブル９１０の直前に決定され、そのテーブル９１０全体が次ページに送られる。
【００３８】
ステップ８０１の判定結果がＮｏ（否定）の場合は、次にセル単位で分割する設定になっているかどうかを判定する（８０３）。そして、セル単位で分割する設定であれば、そのテーブル内のセルのうちページ末尾にかかるセルを検出し、そのセル以降を分割して次のページに移動することで、ページ分割を行う（８０４）。この場合、図９の（ｂ）に示すように、テーブル９１０の上から３つ目のセル９２０がページ９００の末尾９０５からはみ出ているので、ページ分割位置Ｐは図示のごとくそのセル９２０の直前に決定され、そのセル９２０以降の部分が次ページに送られる。
【００３９】
ステップ８０３の判定で、セル単位で分割する設定でなければ、セル内の行単位で分割する設定なので、そのテーブル内のセル内の行のうち、ページ末尾からはみ出るものを検知し、その行から後を次のページに移動することで、ページ分割を行う（８０５）。この場合、図９の（ｃ）に示すように、セル９２０の２行目９３０がページ９００の末尾９０５からはみ出ているので、ページ分割位置Ｐは図示のごとくそのセル９２０の２行目９３０の直前に決定され、その２行目９３０以降が次ページに送られる。
【００４０】
また、以上の例では、テーブルの長さはページの長さより小さい場合を想定しているが、実際にページの長さより大きい場合、ユーザがページ分割アルゴリズムでテーブルの分断を認めない設定になっていても、テーブルの分断が必要である。このような場合のページ分割においても上述した方法と同様に、テーブルのセル単位で分割するかセル内の行単位で分割するかを選択して処理すればよい。
【００４１】
以上説明したように、本実施形態によれば、複数のページ分割アルゴリズムの中からユーザの希望するものを選択して用いることができるので、様々なユーザのニーズに対応することができる。
【００４２】
なお、以上では、ユーザがページ分割ポリシーを明示的に入力しない場合に用いられるデフォルトのアルゴリズムは、このプリンタの管理者などが予め設定しておくものとしていたが、これに関しては次のような方式も可能である。
【００４３】
まず第一の方式は、分割アルゴリズム指定部３０５が、ユーザが指定した分割ポリシーの履歴を学習し、よく用いられる分割ポリシーに対応する分割アルゴリズムをデフォルトのアルゴリズムとして自動設定するというものである。
【００４４】
第二の方式は、印刷条件に応じたデフォルトのページ分割アルゴリズムを用いるというものである。すなわち、印刷条件の中には、Ｎ−ｕｐ（原稿Ｎページをまとめて一枚の用紙に印刷するモード）や両面印刷など、用紙の節約に寄与するものがある。このように、ユーザが用紙節約に寄与する印刷条件を指定した場合には、デフォルトのページ分割アルゴリズムとして、用紙節約の効果の高いものアルゴリズムを設定しておけば、より用紙節約効果を増大させることができる。一方、印刷条件が片面印刷の場合には、用紙節約よりも出力の体裁が良好な分割アルゴリズムをデフォルトのアルゴリズムとするなどすればよい。これを実現するには、分割アルゴリズム指定部３０５には、各印刷条件に対応するデフォルトの分割アルゴリズムを登録できるようにしておく。そして、分割アルゴリズム指定部３０５は、ユーザから分割ポリシーの指定がなかった場合、ユーザが当該文書に対して指定した印刷条件を調べ、その印刷条件に対応するデフォルトの分割アルゴリズムをページ分割処理部３０４に指定する。この第二の方式によれば、各印刷条件の性質に応じたデフォルトのページ分割アルゴリズムを用いることができる。
【００４５】
また、以上の例では、ページ末尾にかかるオブジェクトの種類により、ページ分割に当たってのオブジェクトの分割の仕方を制御したが、これに加えて更に印刷条件を考慮して分割の仕方を決めることも考えられる。例えば、２ｕｐ印刷の場合、原稿２ページ（論理ページの２ページ）が用紙１ページ（物理ページの１ページ）に印刷されるので、それら２論理ページの間では、テーブルやリストなどを分断して両論理ページに振り分けても、それら両論理ページを一覧することができるので、見やすさがあまり損なわれないことが多い。したがって、同じ「体裁優先」という概略分割ポリシーが指定されていても、テーブルが用紙の１番目のページからはみ出す場合には、そのテーブルをセル単位で途中で分割して残りを次のページに振り分け、オブジェクトが用紙の２番目のページからはみ出す場合は、そのテーブル全体を次の用紙の１番目のページに移動する、等と言った処理が可能である。
【００４６】
したがって、印刷条件として２ｕｐが指定している場合、「体裁優先」の分割ポリシーに対して、次のようなページ分割アルゴリズムを割り当てることができる。このアルゴリズムでは、図１０の（Ａ）に示すようにテーブル等のオブジェクト１０５０が用紙の物理ページ１０１０上の１番目の論理ページ１０１２からはみ出す場合には、そのオブジェクト１０５０を途中で分割し（テーブルをセル単位で分割するなど）、論理ページ１０１２からはみ出た部分１０５２を２番目のページに振り分ける。なお、この場合、オブジェクトの分割の仕方（例えばセル単位の分割やセル内の行単位の分割など）については、テーブルやリストなど、オブジェクトの種類別に設定しておけばよい。逆に、図１０の（Ｂ）に示すようにオブジェクト１０５０が用紙１０１０（第ｎページとする）の２番目の論理ページ１０１４からはみ出す場合、このアルゴリズムでは、そのオブジェクト１０５０全体を次の用紙１０２０（第ｎ＋１ページ）の１番目のページに送る。
【００４７】
以上，２ｕｐの場合を説明したが、２ｕｐ以外のＮ−ｕｐ印刷一般の場合も同様である。すなわち、Ｎ−ｕｐが指定され、「体裁優先」の分割ポリシーが指定された場合のページ分割アルゴリズムとしては、物理ページ上の最後の論理ページ以外の論理ページからオブジェクトがはみ出すときにはそのオブジェクトを分割して当該論理ページと次の論理ページに振り分け、最後の論理ページからオブジェクトがはみ出す時には、そのオブジェクト全体を次の物理ページの最初の論理ページへと送る、というアルゴリズムを用いることができる。
【００４８】
同様のことは、両面印刷でステープル止めや製本を行う場合にも成り立つ。すなわち、分割されたテーブルが見開きの２ページに印刷されるよう、用紙の裏面のページからはみ出す場合は、テーブルを分割し、用紙の表面のページからはみ出す場合は、テーブル全体を次のページ（用紙の裏面）に移動する。
【００４９】
すなわち、印刷条件として両面印刷が指定され、分割ポリシーとして「体裁優先」が指定された場合のページ分割アルゴリズムとしては、次のようなアルゴリズムを用いることができる。このアルゴリズムでは、図１１（Ａ）に示すように、オブジェクト１１５０が両面印刷の裏面１１２０からはみ出す場合は、オブジェクト１１５０を分割し、裏面１１２０からはみ出た部分１１５２を次の用紙の表面１１３０に割り付けることで、オブジェクト１１５０の一覧性を確保しつつも、用紙を節約できる。図１１の（Ｂ）に示すように、オブジェクト１１５０が両面印刷の表面１１１０からはみ出す位置に来る場合は、そのオブジェクト１１５０全体を裏面１１２０に送ることで、オブジェクト１１５０の見やすさを確保する。
【００５０】
以上のページ分割アルゴリズムの処理手順は、図１２に示すようなものとなる。すなわち、この手順では、文書解析結果に従ってオブジェクトを順にレイアウトしていった時に、そのオブジェクトがページ（Ｎ−ｕｐの場合は論理ページ）の末尾からはみ出すか否かを判定し（１２０１）、はみ出さなければそのままそのオブジェクトのレイアウトを完了する。はみ出す場合は、指定されている印刷条件がＮ−ｕｐ又は両面印刷であるかどうかを判定する（１２０２）。Ｎ−ｕｐでも両面印刷でもなければ、そのオブジェクト全体を次のページ（Ｎ−ｕｐの場合は論理ページ）にレイアウトする（１２０５）。ステップ１２０２でＮ−ｕｐ又は両面印刷であると判定した場合は、更にオブジェクトを分割しても、そのオブジェクトが一覧できるような出力結果となるかどうかを判定する（１２０３）。当該オブジェクトがＮ−ｕｐの同一物理ページ内の最後以外の論理ページからはみ出る場合、及び両面印刷の裏面からはみ出る場合は、そのオブジェクトを分割しても一覧できると判定される。この場合、そのオブジェクトを分割し、はみ出た部分を次のページにレイアウトする（１２０４）。一方、当該オブジェクトがＮ−ｕｐの同一物理ページ内の最後の論理ページからはみ出る場合、及び両面印刷の表面からはみ出る場合は、ステップ１２０３では、オブジェクトを分割すると一覧不可能となると判定される。この場合、そのオブジェクト全体を次のページ（Ｎ−ｕｐの場合は論理ページ）にレイアウトする（１２０５）。
【００５１】
なお、同じ２ｕｐ印刷でも、２つ折り製本を行う場合は、２つ折り製本の場合、同じ用紙上に印刷された２つの論理ページは製本後は違う見開きになるので、上述とは逆の取り扱いになる。すなわちこの場合、用紙上の１番目の論理ページからオブジェクトがはみ出す場合は、オブジェクト全体を次の論理ページに送り、用紙上の２番目の論理ページからオブジェクトがはみ出す場合は、オブジェクトを分割してはみ出した部分を次のページに送るようにする。したがって、ユーザの指定した印刷条件が通常の２ｕｐ印刷か、２つ折り製本のための２ｕｐ印刷かを判別し、それに応じた処理を行えばよい。
【００５２】
なお、より体裁を優先する場合には、上述の２ｕｐや両面印刷の場合の処理をテーブルやリストにのみ適用し、絵や写真などの連続した画像がページ末尾に係った時は分割せずに次のページに送る、といったオブジェクト種別に応じた処理を行えばよい。
【００５３】
以上説明したＮ−ｕｐ等の画像形成条件を考慮したページ分割アルゴリズムは、レイアウトしたオブジェクトがページの末尾からはみ出す場合の処理を示していたが、レイアウトしたオブジェクトがページの横方向にはみ出す場合にも、同様のアルゴリズムが適用できる。すなわち、このアルゴリズムでは、図１３の（Ａ）に示すように、２ｕｐ印刷の場合において、オブジェクト１３５０が用紙１３１０の１番目の論理ページ１３１２から横（右）にはみ出る場合、そのはみ出た部分をそのまま２番目の論理ページ１３１４にレイアウトする。これにより、オブジェクト１３５０全体を一覧することができる。この場合、２番目の論理ページ１３１４の表示内容が、はみ出したオブジェクト１３５０と重なることを避けるため、２番目の論理ページ１３１４の表示内容を次の用紙１３２０の１番目の論理ページ１３２２にずらしてレイアウトすることが好適である。またこのアルゴリズムでは、図１３の（Ｂ）に示すように、オブジェクト１３５０が用紙１３１０の２番目の論理ページ１３１４から横（右）にはみ出る場合は、従来の一般的なＨＴＭＬ文書印刷と同様オブジェクト１３５０のはみ出した部分はカットして印刷しないようにする（Ｂ１）か、論理ページ１３１４に収まる大きさまでオブジェクト１３５０を縮小し、縮小されたオブジェクト１３５４をレイアウトする（Ｂ２）か、のいずれかの処理を行う。いずれを選ぶかは、ユーザが設定できるようにすることが望ましい。
【００５４】
また、図１４（Ａ）に示すように、オブジェクト１４５０がページ１４１０から横にはみ出す場合に対する別の対策として、（Ｂ）に示すように、ページからはみ出した部分１４５４を分割し、ページ内に収まった部分１４５２の下段の空きスペースに折り返してレイアウトするアルゴリズムも好適である。この場合、本来空きスペースにレイアウトするはずだったオブジェクトは、はみ出した部分１４５４の高さだけ繰り下げてレイアウトする。このように、横にはみ出した部分を同一ページ内に折り返してレイアウトすれば、オブジェクト全体を一覧することが可能になる。例えば、２ｕｐ印刷で１番目の論理ページでオブジェクトが横にはみ出した時は上述のごとくオブジェクトを２番目の論理ページにはみ出した形でレイアウトし、２番目の論理ページからオブジェクトがはみ出した場合は、この同一ページ内での折り返しを用いる、といった処理が可能である。また、この同一ページ内での折り返しは、２ｕｐでない通常の片面印刷の場合にも適用可能である。
【００５５】
このようなＮ−ｕｐや両面印刷などの条件を考慮した処理を実現するには、例えば、概略分割ポリシーと詳細ポリシーの組合せとの対応付け情報に対し、更に２ｕｐや両面印刷製本の場合と、そうでない場合とで個別に対応付けの情報を登録しておき、文書印刷の際にユーザが選択した印刷条件に従って、対応する対応付け情報を用いるようにすればよい。例えば、「体裁優先」という概略分割ポリシーに対し、Ｎ−ｕｐでも両面印刷でもない印刷条件が指定された場合の詳細ポリシーの組合せとして、「テーブルを分割しない」、「リストを分割しない」、「画像を分割しない」などの組合せを対応づけておき、Ｎ−ｕｐ又は両面印刷が指定された場合の詳細ポリシーの組合せとして、上述のような処理に対応した設定の組合せを対応づけておけばよい。
【００５６】
また、以上の例では、本発明をプリンタに適用した場合を例にとったが、以上の説明から明らかなように、本発明は、プリントサーバに適用することもできるし、パーソナルコンピュータ等にインストールされるプリンタドライバに適用することもできる。
【００５７】
また、以上の例では、ＨＴＭＬ文書を処理する場合を例にとったが、明らかなように、本発明は、ＸＭＬやＸＨＴＭＬ−ｐｒｉｎｔなどを含む、ページ概念のない記述言語で記述された文書一般に適用可能である。
【図面の簡単な説明】
【図１】本発明が適用されるプリンタのハードウエア構成の一例を示すブロック図である。
【図２】本発明が適用されるネットワーク環境の一例を示す図である。
【図３】実施形態のＨＴＭＬ文書の印刷処理のための機構を示す機能ブロック図である。
【図４】実施形態のページ分割指定用のユーザインタフェース画面の一例を示す図である。
【図５】実施形態のページ分割指定用のユーザインタフェース画面の一例を示す図である。
【図６】実施形態におけるページ分割処理の手順を示すフローチャートである。
【図７】分割設定テーブルの一例を示す図である。
【図８】テーブルがページ末尾にかかる場合の処理の一例を示すフローチャートである。
【図９】分割ポリシーの違いによる分割結果の違いを説明するための図である。
【図１０】２ｕｐ印刷における、論理ページ末尾からはみ出すオブジェクトの処理の仕方を説明するための図である。
【図１１】両面刷における、ページ末尾からはみ出すオブジェクトの処理の仕方を説明するための図である。
【図１２】Ｎ−ｕｐ又は両面印刷において、ページからはみ出したオブジェクトの処理手順を示す図である。
【図１３】２ｕｐ印刷における、論理ページから横にはみ出すオブジェクトの処理の仕方を説明するための図である。
【図１４】論理ページから横にはみ出すオブジェクトについての別の処理の仕方を説明するための図である。
【符号の説明】
３０１  ユーザインタフェース部、３０２  主制御部、３０３  文書解析部、３０４  ページ分割処理部、３０５  分割アルゴリズム指定部、３０６  ページデータ生成部、３０７  印刷プレビュー制御部。
【図１】
2004175095.tif 000003
【図２】
2004175095.tif 000004
【図３】
2004175095.tif 000005
【図４】
2004175095.tif 000006
【図５】
2004175095.tif 000007
【図６】
2004175095.tif 000008
【図７】
2004175095.tif 000009
【図８】
2004175095.tif 000010
【図９】
2004175095.tif 000011
【図１０】
2004175095.tif 000012
【図１１】
2004175095.tif 000013
【図１２】
2004175095.tif 000014
【図１３】
2004175095.tif 000015
【図１４】
2004175095.tif 000016