(57)【特許請求の範囲】
【請求項１】
電子文書内の参照を解決する方法であって、
電子文書内のアイテムへの参照を備える前記電子文書を取得する工程と、
前記電子文書に基づいて、レイアウトエンジンに入力するための中間文書を生成する工程と、
前記中間文書の外部にあるデータ構造内において、前記参照の初期値を備えるエントリーを特定する工程と、
前記レイアウトエンジンを用いて、前記電子文書の第１のレンダリング中に、前記中間文書と、前記参照と置き換えられた前記初期値に基づいて、前記アイテムを備える第１のページを算出する工程と、
前記第１のページに対応する第１のページ番号を前記エントリーに格納する工程と、
前記レイアウトエンジンを用いて、前記電子文書の第２のレンダリング中に、前記中間文書と、前記参照と置き換えられた前記第１のページ番号に基づいて、前記アイテムを備える第２のページを算出する工程と、
前記第２のページに対応する第２のページ番号を前記エントリーに格納する工程と、
前記レイアウトエンジンを用いて、前記エントリー内の前記第１のページ番号と前記第２のページ番号が等しい場合に、前記中間文書と、前記参照と置き換えられた前記第２のページ番号に基づいて、第１のレンダリング済み文書を生成する工程と、
を備え、
前記電子文書内で、ユーザーアプリケーションと関連するページ区切りの発生を特定する工程と、
前記第１のページを算出する前に、前記ページ区切りに基づいて、前記エントリー内に前記初期値を設定する工程と、
を更に備える方法。
【請求項２】
前記電子文書は、拡張可能マークアップ言語を用いて定義されることを特徴とする請求項１に記載の方法。
【請求項３】
前記電子文書は、ページレンダリングデバイスによって取得され、
前記ページレンダリングデバイスは、前記レイアウトエンジンと、前記データ構造と、を備えることを特徴とする請求項１又は２に記載の方法。
【請求項４】
前記第１のページ番号と前記第２のページ番号が等しい場合に、前記参照と置き換えられた前記第２のページ番号を含むように前記電子文書を修正する工程と、
前記第２のページ番号を前記初期値として用いて、前記電子文書の第２のレンダリング済み文書を生成する工程と、
を更に備える請求項１〜３のいずれか一項に記載の方法。
【請求項５】
前記データ構造は配列であることを特徴とする請求項１〜４のいずれか一項に記載の方法。
【請求項６】
前記電子文書は目次を備え、
前記目次は前記参照を備えることを特徴とする請求項１〜５のいずれか一項に記載の方法。
【請求項７】
電子文書内の参照を解決する指示を記憶する非一時的コンピューター読取可能記憶媒体であって、該指示は、
電子文書内のアイテムへの参照を備える前記電子文書を取得するための指示と、
前記電子文書に基づいて、レイアウトエンジンに入力するための中間文書を生成するための指示と、
前記中間文書の外部にあるデータ構造内において、前記参照の初期値を備えるエントリーを特定するための指示と、
前記電子文書の第１のレンダリング中に前記アイテムを備える第１のページを算出する前記レイアウトエンジンへ、前記中間文書と、前記参照と置き換えられた前記初期値を提出するための指示と、
前記第１のページに対応する第１のページ番号を前記エントリーに格納するための指示と、
前記電子文書の第２のレンダリング中に前記アイテムを備える第２のページを算出する前記レイアウトエンジンへ、前記中間文書と、前記参照と置き換えられた前記第１のページ番号を提出するための指示と、
前記第２のページに対応する第２のページ番号を前記エントリーに格納するための指示と、
前記レイアウトエンジンを用いて、前記第１のページ番号と前記第２のページ番号が等しい場合に、前記中間文書と、前記参照と置き換えられた前記第２のページ番号に基づいて、レンダリング済み文書を生成するための指示と、
を備え、
前記電子文書内で、ユーザーアプリケーションと関連するページ区切りの発生を特定するための指示と、
前記第１のページを算出する前に、前記ページ区切りに基づいて、前記エントリー内に前記初期値を設定するための指示と、
を更に備える非一時的コンピューター読取可能記憶媒体。
【請求項８】
前記電子文書は、拡張可能マークアップ言語を用いて定義されることを特徴とする請求項７に記載の非一時的コンピューター読取可能記憶媒体。
【請求項９】
前記電子文書は、ページレンダリングデバイスによって取得され、
前記ページレンダリングデバイスは、前記レイアウトエンジンと、前記データ構造と、を備えることを特徴とする請求項７又は８に記載の非一時的コンピューター読取可能記憶媒体。
【請求項１０】
前記第１のページ番号と前記第２のページ番号が等しい場合に、前記参照と置き換えられた前記第２のページ番号を含むように前記電子文書を修正するための指示と、
前記第２のページ番号を前記初期値として用いて、前記電子文書の第２のレンダリング済み文書を生成するための指示と、
を更に備える請求項７〜９のいずれか一項に記載の非一時的コンピューター読取可能記憶媒体。
【請求項１１】
前記データ構造は配列であることを特徴とする請求項７〜１０のいずれか一項に記載の非一時的コンピューター読取可能記憶媒体。
【請求項１２】
前記電子文書は目次を備え、
前記目次は前記参照を備えることを特徴とする請求項７〜１１のいずれか一項に記載の非一時的コンピューター読取可能記憶媒体。
【請求項１３】
電子文書内の参照を解決するシステムであって、
ハードウェアプロセッサーと、
前記ハードウェアプロセッサー上で、電子文書内のアイテムへの参照を備える前記電子文書に基づいて、中間文書を生成するように構成された変換モジュールと、
前記ハードウェアプロセッサー上で、前記電子文書の第１のレンダリング中に、前記中間文書と、前記参照と置き換えられた初期値に基づいて、前記アイテムを備える第１のページを算出し、前記電子文書の第２のレンダリング中に、前記中間文書と、前記参照と置き換えられた前記第１のページ番号に対応する第１のページ番号に基づいて、前記アイテムを備える第２のページを算出するように構成されたレイアウトエンジンと、
前記中間文書の外部にあり、前記初期値と、前記第１のページ番号と、前記第２のページに対応する第２のページ番号を記憶するエントリーを備えるデータ構造と、
を備え、
前記レイアウトエンジンは、更に、前記第１のページ番号と前記第２のページ番号が等しい場合に、前記中間文書と、前記参照と置き換えられた前記第２のページ番号に基づいて、レンダリング済み文書を生成するように構成されており、
前記電子文書におけるページ区切りの発生を記録するように構成されたユーザーアプリケーションを更に備え、
前記初期値は前記ページ区切りに基づいて設定されることを特徴とするシステム。
【請求項１４】
前記電子文書は、拡張可能マークアップ言語を用いて定義されることを特徴とする請求項１３に記載のシステム。
【請求項１５】
前記レイアウトエンジンは、更に、前記第１のページ番号と前記第２のページ番号が等しい場合に、前記参照と置き換えられた前記第２のページ番号を含むように前記電子文書を修正し、前記第２のページ番号を前記初期値として用いて、前記電子文書の第２のレンダリング済み文書を生成するように構成されていることを特徴とする請求項１３又は１４に記載のシステム。
【請求項１６】
前記変換モジュール、前記レイアウトエンジン及び前記データ構造は、ページレンダリングデバイス上にあることを特徴とする請求項１３〜１５のいずれか一項に記載のシステム。
【請求項１７】
前記電子文書は目次を備え、
前記目次は前記参照を備えることを特徴とする請求項１３〜１６のいずれか一項に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レイアウト依存文書内のページ参照を解決する方法、コンピューター読取可能媒体及びシステムに関する。
【背景技術】
【０００２】
オフィス生産性ベースのフォーマットで記憶されている文書は、一般的に、設定済みのページレイアウトを有しない。そのため、文書におけるアイテムの現れるページは、テキストデータをレイアウトするために用いられる方法に完全に依存する。更に、こうした文書の所定部分には、該文書のその他の部分への参照が含まれる。この参照を正確なものとするためには、参照が処理されるときに、該参照によって参照されるアイテムが現れるページを知る必要がある。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
オフィス生産性アプリケーションでは文書全体が常に処理可能な状態であるため、この情報は暗に知られている。しかし、プリンターでは文書は直線的に処理される。そのため、参照後に現れるアイテムへの参照は、参照されるアイテムを正確に特定しない場合がある。
【課題を解決するための手段】
【０００４】
主として、一側面において、本発明は、電子文書内の参照を解決する方法に関する。
該方法は、
電子文書内のアイテムへの参照を備える前記電子文書を取得する工程と、
前記電子文書に基づいて、レイアウトエンジンに入力するための中間文書を生成する工程と、
前記中間文書の外部にあるデータ構造内において、前記参照の初期値を備えるエントリーを特定する工程と、
前記レイアウトエンジンを用いて、前記電子文書の第１のレンダリング中に、前記中間文書と、前記参照と置き換えられた前記初期値に基づいて、前記アイテムを備える第１のページを算出する工程と、
前記第１のページに対応する第１のページ番号を前記エントリーに格納する工程と、
前記レイアウトエンジンを用いて、前記電子文書の第２のレンダリング中に、前記中間文書と、前記参照と置き換えられた前記第１のページ番号に基づいて、前記アイテムを備える第２のページを算出する工程と、
前記第２のページに対応する第２のページ番号を前記エントリーに格納する工程と、
前記レイアウトエンジンを用いて、前記エントリー内の前記第１のページ番号と前記第２のページ番号が等しい場合に、前記中間文書と、前記参照と置き換えられた前記第２のページ番号に基づいて、第１のレンダリング済み文書を生成する工程と、
を備え、
前記電子文書内で、ユーザーアプリケーションと関連するページ区切りの発生を特定する工程と、
前記第１のページを算出する前に、前記ページ区切りに基づいて、前記エントリー内に前記初期値を設定する工程と、
を更に備える。
【０００５】
主として、一側面において、本発明は、電子文書内の参照を解決する指示を記憶する非一時的コンピューター読取可能記憶媒体に関する。
該指示は、
電子文書内のアイテムへの参照を備える前記電子文書を取得するための指示と、
前記電子文書に基づいて、レイアウトエンジンに入力するための中間文書を生成するための指示と、
前記中間文書の外部にあるデータ構造内において、前記参照の初期値を備えるエントリーを特定するための指示と、
前記電子文書の第１のレンダリング中に前記アイテムを備える第１のページを算出する前記レイアウトエンジンへ、前記中間文書と、前記参照と置き換えられた前記初期値を提出するための指示と、
前記第１のページに対応する第１のページ番号を前記エントリーに格納するための指示と、
前記電子文書の第２のレンダリング中に前記アイテムを備える第２のページを算出する前記レイアウトエンジンへ、前記中間文書と、前記参照と置き換えられた前記第１のページ番号を提出するための指示と、
前記第２のページに対応する第２のページ番号を前記エントリーに格納するための指示と、
前記レイアウトエンジンを用いて、前記第１のページ番号と前記第２のページ番号が等しい場合に、前記中間文書と、前記参照と置き換えられた前記第２のページ番号に基づいて、レンダリング済み文書を生成するための指示と、
を備え、
前記電子文書内で、ユーザーアプリケーションと関連するページ区切りの発生を特定するための指示と、
前記第１のページを算出する前に、前記ページ区切りに基づいて、前記エントリー内に前記初期値を設定するための指示と、
を更に備える。
【０００６】
主として、一側面において、本発明は、電子文書内の参照を解決するシステムに関する。
該システムは、
ハードウェアプロセッサーと、
前記ハードウェアプロセッサー上で、電子文書内のアイテムへの参照を備える前記電子文書に基づいて、中間文書を生成するように構成された変換モジュールと、
前記ハードウェアプロセッサー上で、前記電子文書の第１のレンダリング中に、前記中間文書と、前記参照と置き換えられた初期値に基づいて、前記アイテムを備える第１のページを算出し、前記電子文書の第２のレンダリング中に、前記中間文書と、前記参照と置き換えられた前記第１のページ番号に対応する第１のページ番号に基づいて、前記アイテムを備える第２のページを算出するように構成されたレイアウトエンジンと、
前記中間文書の外部にあり、前記初期値と、前記第１のページ番号と、前記第２のページに対応する第２のページ番号を記憶するエントリーを備えるデータ構造と、
を備え、
前記レイアウトエンジンは、更に、前記第１のページ番号と前記第２のページ番号が等しい場合に、前記中間文書と、前記参照と置き換えられた前記第２のページ番号に基づいて、レンダリング済み文書を生成するように構成されており、
前記電子文書におけるページ区切りの発生を記録するように構成されたユーザーアプリケーションを更に備え、
前記初期値は前記ページ区切りに基づいて設定される。
【０００７】
本発明のその他の側面は、以下の説明及び添付の特許請求の範囲から明らかである。
【図面の簡単な説明】
【０００８】
【図１】本発明の一以上の実施形態に係るシステムを示す。
【図２】本発明の一以上の実施形態に係るフローチャートを示す。
【図３】本発明の一以上の実施形態に係る例を示す。
【図４Ａ】図４Ａは、本発明の一以上の実施形態に係る例を示す。
【図４Ｂ】図４Ｂは、本発明の一以上の実施形態に係る例を示す。
【図５】本発明の一以上の実施形態に係るコンピューターシステムを示す。
【発明を実施するための形態】
【０００９】
本発明の具体的な実施形態を添付の図面を参照して詳細に説明する。複数の図に示される同様の構成要素は、一貫性を保つために同様の参照符号で示す。
【００１０】
以下の本発明に係る実施形態の詳細な説明には、本発明のより完全な理解を提供するため、数多くの詳細を示す。しかし、当業者であれば、これらの詳細を用いずとも本発明の実施が可能であることは明らかである。他の例においては、不要に複雑な説明となるのを避けるため、周知の特徴に関しては詳細な説明は省略する。
【００１１】
主として、本発明の実施形態は、電子文書（ＥＤ）内の参照を解決するシステムおよび方法を提供する。具体的には、レイアウトエンジンで電子文書を処理する前に、参照を、事前に記録されたページ番号に置き換える。事前に記録されたページ番号は、電子文書の以前のレンダリング中に、参照アイテムが配置されたページに対応する。レイアウトエンジンによって電子文書が処理された後、参照アイテムが配置された最新のページのページ番号と、前述の置き換えられた値を比較する。これらが一致しない場合、最新のページ番号を参照の代わりに用いて、処理を繰り返す。
【００１２】
図１は、本発明の一以上の実施形態に係るシステム１００を示す。図１に示されるように、システム１００は、ページレンダリングデバイス１２５と、クライアントコンピューター１０５を含む、複数の構成要素を備える。ページレンダリングデバイス１２５は、例えば、プリンター、電子読取装置などである。クライアントコンピューター１０５は、パーソナルコンピューター（ＰＣ）、デスクトップコンピューター、汎用コンピューター、サーバー、電話、公共電話ボックス、ケーブルボックス、携帯情報端末（ＰＤＡ）、携帯電話、スマートフォンなどである。クライアントコンピューター１０５とページレンダリングデバイス１２５は、直接的に接続されてもよい（例えば、ユニバーサルシリアルバス（ＵＳＢ）接続など）。あるいは、クライアントコンピューター１０５とページレンダリングデバイス１２５は、有線部分及び／又は無線部分を有するネットワーク１２０を用いて接続されてもよい。本発明の一以上の実施形態において、ページレンダリングデバイス１２５は複写機（図示なし）の一部である。本発明の一以上の実施形態において、ページレンダリングデバイス１２５とクライアントコンピューター１０５は複写機（図示なし）の一部である。
【００１３】
本発明の一以上の実施形態において、ページレンダリングデバイス１２５はクライアントコンピューター１０５上に位置する。このような実施形態では、ページレンダリングデバイス１２５は、クライアントコンピューター１０５上の、電子文書をレンダリングするためのハードウェアとソフトウェアの組み合わせに対応する。
【００１４】
本発明の一以上の実施形態において、クライアントコンピューター１０５はユーザーアプリケーション１１０を実行する。ユーザーアプリケーション１１０はユーザーによって操作されるソフトウェアアプリケーションであり、あらゆるページ数のページを有する電子文書（ＥＤ）（例えば、電子文書１１５）を取得、入力、生成及び／又は印刷するように構成されている。したがって、ユーザーアプリケーション１１０は、ワードプロセッシングアプリケーション、表計算アプリケーション、デスクトップパブリッシングアプリケーション、グラフィックアプリケーション、写真印刷アプリケーション、インターネットブラウザーなどである。ユーザーアプリケーション１１０は、新たな電子文書を生成及び／又は事前に保存した電子文書を取得する。
【００１５】
本発明の一以上の実施形態において、電子文書１１５の一部分は、電子文書１１５内のアイテムへの参照を一以上含む。レンダリング済み文書１４５が電子文書１１５に基づいて生成されると、該一以上の参照は、ページ番号と置き換えられる。ページ番号とは、参照アイテムが配置されているレンダリング済み文書１４５のページの番号である。例えば、電子文書１１５は目次（ＴＯＣ）部分を含む。目次部分は、電子文書１１５の各副見出し及び各章の副題への参照を含む。電子文書１１５に基づいてレンダリング済み文書１４５が生成されると、参照は、各副見出し及び各章の副題が配置されているレンダリング済み文書１４５のページのページ番号と置き換えられる。
【００１６】
本発明の一以上の実施形態において、電子文書１１５は、文書マークアップ言語（例えば、ＯＤＦ、ＯＯＸＭＬなど）を用いて表される／定義される。したがって、参照は文書マークアップ言語のタグに属性として記録される。また、ユーザーアプリケーション１１０によって電子文書１１５に作成されるページ区切りも、文書マークアップ言語のタグに記録される。
【００１７】
本発明の一以上の実施形態において、ページレンダリングデバイス１２５はレイアウトエンジン１４０を含む。レイアウトエンジン１４０は、読取可能媒体（例えば、用紙、トランスペアレンシー、マイクロフィルム、コンピューターモニター、電子読取装置など）上での、電子文書１１５の列、段落、文、語、文字、副見出し、副題、画像などの位置／配置を算出するように構成されている。
【００１８】
本発明の一以上の実施形態において、ページレンダリングデバイス１２５は変換モジュール１３５を含む。変換モジュール１３５は、電子文書１１５を、レイアウトエンジン１４０による処理に適切な中間形式又は中間文書（ＩＤ）に変形（すなわち、変換）するように構成されている。また、変換モジュール１３５は、中間形式がレイアウトエンジン１４０によって処理される前に、中間形式内の参照をページ番号に置き換える。
【００１９】
本発明の一以上の実施形態において、データ構造１３０は複数のエントリーを備え、該エントリーは、電子文書１１５内の参照にそれぞれ対応する。一エントリーは、一参照に対する値を複数有してもよい。これら複数の値（例えば、ＰＮ0、ＰＮ1、ＰＮ2、ＰＮ3など）は、レイアウトエンジン１４０によって以前に実行された複数回のレンダリング中に、参照アイテムが配置されたページのページ番号と、それぞれ対応する。本発明の一以上の実施形態において、初期値（すなわち、ＰＮ0）は、ユーザーアプリケーション１１０によって設定されるページ区切りに基づいて推定される。
【００２０】
本発明の一以上の実施形態において、参照を正確なものとするために、レイアウトエンジン１４０によって参照が処理されるときに、参照アイテムが配置されるページを知る必要がある。しかし、ページレンダリングデバイス１２５において、電子文書１１５は直線的に処理される。そのため、参照の後に現れるアイテムへの参照（例えば、目次部分の後の副見出し）は、そのページ番号を正確に特定しない場合がある。そこで、レイアウトエンジン１４０によって参照が処理される際に、参照を、以前のレンダリング後にデータ構造１３０内に記録されたページ番号に置き換える。レイアウトエンジン１４０による文書のレンダリングが実行された後、前述の置き換えられた値と、参照アイテムが配置された実際のページ番号を比較する。これらが一致しない場合、参照の代わりに最新のページ番号を用いて、処理を繰り返す。
【００２１】
本発明の一以上の実施形態において、ページレンダリングデバイス１２５は、印刷処理に関連する情報を表示するためのグラフィカルユーザーインターフェース（ＧＵＩ）（図示なし）を更に含む。ＧＵＩは、ウェブブラウザ内、アプリケーションウィンドウ内、ページレンダリングデバイス１２５のディスプレイ上などで見られる。ＧＵＩは、こうした表示技術において、例えば、ユーザーアプリケーション１１０のユーザーによって見られる。ＧＵＩは、例えば、映像、音声及びテキストを含む標準表示要素と、インターフェース技術を含む。インターフェース技術は、複数の形式でのテキスト投稿、音声キャプチャー及びユーザージェスチャー解釈に限られるものではない。本発明の一以上の実施形態において、ＧＵＩは、その他種々の表示技術を用いて見られる。
【００２２】
図２は、本発明の一以上の実施形態に係るフローチャートを示す。図２に示される処理は、例えば、図１に示されるシステムで用いられ、電子文書内の参照を解決する。図２に示されるステップのシーケンスは、本発明の複数の実施形態間で異なってもよい。また、一以上のステップが同時及び／又は選択的に実行されても良い。
【００２３】
ステップ２０５において、電子文書（ＥＤ）を取得する。電子文書は、該電子文書内のアイテムへの参照を含む。例えば、参照は、電子文書内の章の題名や副見出しへのポインターである。参照は、電子文書の目次内にあってもよい。本発明の一以上の実施形態において、電子文書は文書マークアップ言語（例えば、ＯＤＦ、ＯＯＸＭＬなど）を用いて表される／定義される。したがって、電子文書の特性や電子文書内の参照は、文書マークアップ言語のタグに属性として記録される。
【００２４】
ステップ２１０において、中間文書（ＩＤ）を（例えば、図１を参照して説明した変換モジュール１３５によって）生成する。中間文書はレイアウトエンジンによる処理に適した文書である。中間文書は電子文書の内容を含んでいるが、参照は未解決の状態である。
【００２５】
ステップ２１５において、前記参照のためのエントリーをデータ構造内で特定する。データ構造は、電子文書及び中間文書の外部にある。エントリーは前記参照の初期値を含む。例えば、エントリーは初期値「３」を有する。本発明の一以上の実施形態において、初期値はユーザーアプリケーション（例えば、図１を参照して説明したユーザーアプリケーション１１０）によって設定されるページ区切りに基づいて推定される。
【００２６】
ステップ２２０において、カウンターＫを初期化して「Ｋ＝１」とし、ページ番号Ｋ−１（すなわち、ＰＮＫ−１）の値を「ＰＮＫ−１＝ＰＮ０＝初期値」と設定する。
【００２７】
ステップ２２５において、参照アイテムを有するページを算出する。具体的には、該算出は、（例えば、図１を参照して説明したレイアウトエンジン１４０によって）電子文書のＫ回目のレンダリング中に実行される。なお、参照は、Ｋ回目のレンダリングの前にＰＮＫ−１に置き換えられる。
【００２８】
ステップ２３０において、算出されたページに対応するページ番号を、エントリーに記録する。また、変数ＰＮＫを「ＰＮＫ＝ページ番号」と設定する。
【００２９】
ステップ２３５において、ＰＮＫとＰＮＫ−１は等しいか否かを判定する。ＰＮＫとＰＮＫ−１は等しいと判定された場合、処理はステップ２４５へ進む。一方、ＰＮＫとＰＮＫ−１は等しくないと判定された場合、処理はステップ２４０へ進む。ステップ２４０において、カウンターＫを「１」インクリメントする。その後、処理はステップ２２５に戻る。
【００３０】
ステップ２４５において、レンダリング済み文書を生成する。レンダリング済み文書は、中間文書と、参照と置き換えられたＰＮＫに基づいて、生成される。レンダリング済み文書の生成には、ページレンダリングデバイス（例えば、プリンター）によるレンダリング済み文書の印刷が含まれる。当業者であれば、上述のステップ以外にも実行可能な種々のステップがあることを理解するであろう。
【００３１】
図３は、本発明の一以上の実施形態に係るデータ構造３００を示す。データ構造３００は、本質的に、図１を参照して説明したデータ構造１３０と同じである。各エントリー３１０は電子文書内の異なる参照に対応する。また、各列は、レイアウトエンジンが実行する電子文書の各レンダリング（すなわち、図２に示される処理の各反復）に対応する。図３に示すように、１回目の反復（３０６）では、参照Ａによって参照されるアイテムは、レンダリング済み文書の３ページに位置すると算出された。Ｘ−１回目の反復（３０８）では、参照Ａによって参照されるアイテムは、レンダリング済み文書の４ページに位置すると算出された。Ｘ回目の反復（３０９）では、参照Ａによって参照されるアイテムは、再度、レンダリング済み文書の４ページに位置すると算出された。すなわち、参照Ａによって参照されるアイテムの位置を最終決定するまでに、Ｘ回の反復（すなわち、電子文書のＸ回のレンダリング）が必要であった。一方、参照Ｂによって参照されるアイテムを有するページと、参照Ｃによって参照されるアイテムを有するページは、１回目の反復から正確に特定されている。本発明の一以上の実施形態において、レンダリング済み文書（例えば、ハードコピー文書）は、参照によって参照されるアイテムの位置が最終決定された場合（すなわち、少なくとも最後の２回の反復でページ番号が同一であった場合）、又は、反復の回数が事前に定められた限度値（例えば、１１回反復）を超えた場合に生成される。
【００３２】
図４Ａは、本発明の一以上の実施形態に係る例を示す。図４Ａに示される例は、例えば、システム１００で用いられ、電子文書内の参照を解決する。図４Ａに示される部分は、本発明の複数の実施形態間で異なってもよい。また、一以上の部分が同時及び／又は選択的に実行されてもよい。
【００３３】
部分Ａ（４０５）において、スミス氏は、クライアントコンピューター上のユーザーアプリケーションで電子文書（ＥＤ）を作成する。電子文書は、例えば、ワード文書である。ユーザーアプリケーションは、例えば、ワードプロセッサーである。クライアントコンピューターは、例えば、スミス氏のデスクトップコンピューターである。
【００３４】
部分Ｂ（４０６）において、スミス氏は電子文書の印刷命令を提出する。印刷命令は、ユーザーアプリケーションによってネットワークを介してプリンター（すなわち、ページレンダリングデバイス）へ送信される。この例においては、レンダリングはクライアントコンピューター上で行われるのではなく、印刷命令によって印刷処理が開始されて、レンダリング処理がプリンターへオフロードされる。
【００３５】
部分Ｃ（４０７）において、プリンターは、電子文書に基づいて、電子文書内のアイテムへの参照を含む中間文書を生成する。アイテムは、中間文書内のどこにあってもよい。また、アイテムへの参照は、例えば、中間文書の目次内にある。
【００３６】
部分Ｄ（４０８）において、プリンターは、前記参照のためのエントリーを作成し、参照の初期値を記憶させる。エントリーは、プリンター上のデータ構造内に記憶される。また、初期値は、ランダムに生成された数値でも、定数値（例えば、「０」）であってもよい。この値は、１回目のレンダリング中に中間文書内の参照が置き換えられる最初の値である。
【００３７】
部分Ｅ（４０９）において、参照が初期値に置き換えられている中間文書の１回目のレンダリング中に、プリンターは、アイテムが配置されるページのページ番号（すなわち、ＰＮ１）を算出／特定し、そのページ番号をエントリーに記録する。ＰＮ１は、例えば、「３」である。
【００３８】
部分Ｆ（４１０）において、プリンターは、初期値はＰＮ１と等しくない（すなわち、初期値＝０≠ＰＮ１＝３）と判定する。初期値とＰＮ１が異なるのは、参照アイテムの位置するページが変わったためである。このようなケースは、例えば、コンテンツが拡張された場合、参照が一杯になった場合、及びその他の要素によって、レンダリング処理中に起こることがある。
【００３９】
部分Ｇ（４１１）において、参照がＰＮＸ−２に置き換えられているその後のレンダリング中に、プリンターは、ページ番号ＰＮＸ−１を有するページ上に配置される参照アイテムを特定する。その後、ＰＮＸ−１はエントリーに記録される。プリンターは、ＰＮＸ−１はＰＮＸ−２と等しくないと判定し、次のレンダリングを開始する。
【００４０】
部分Ｈ（４１２）において、参照がＰＮＸ−1に置き換えられているＸ回目のレンダリング中に、プリンターは、ページ番号ＰＮＸを有するページ上に配置される参照アイテムを特定する。その後、ＰＮＸはエントリーに記録される。部分Ｈ（４１２）に示されるように、ＰＮＸ−１＝ＰＮＸ＝６である。これは、参照アイテムの位置が最終決定した場合のシナリオに対応する。
【００４１】
図４Ｂは、本発明の一以上の実施形態に係る例を示す。図４Ｂに示される例は、例えば、システム１００で用いられ、電子文書内の参照を解決する。図４Ｂに示される部分は、本発明の複数の実施形態間で異なってもよい。また、一以上の部分が同時及び／又は選択的に実行されてもよい。
【００４２】
部分Ｉ（４１３）において、プリンターは、ＰＮＸ−１＝ＰＮＸ＝６であると判定する。これは、上述の通り、参照アイテムの位置が最終決定した場合のシナリオに対応する。
【００４３】
部分Ｊ（４１４）において、プリンターは、中間文書と、参照と置き換えられたＰＮＸに基づいて、ハードコピー文書（すなわち、レンダリング済み文書）を生成する。具体的には、この例では、ハードコピー文書は参照を「６」に設定して生成（及び印刷）される。
【００４４】
部分Ｋ（４１５）において、プリンターは、参照のポテンシャル値としてＰＮＸを含むように、電子文書を修正する。この例では、プリンターは、参照の値として「６」を含むように、電子文書を修正する。後にこの電子文書を印刷する時には、参照の初期値を「６」に設定してもよい。これにより、ハードコピー文書を生成するために必要とされる反復を削除したり、少なくとも反復の回数を減らしたりすることが可能となる。
【００４５】
プリンターは、参照の正確な値を即座に特定するために、その他の同様の方法を用いてもよい。例えば、プリンターは、電子文書内のページ区切りのセットを特定し、各参照の初期値を各ページ区切りの値に設定する。これにより、初期値は参照の最終的な値により近い値となり、参照の最終的な値を特定するために必要とされるレンダリング反復回数を少なくすることが可能となる。一般的にページ区切りは、レイアウト特性のわずかな変化にも非常に敏感であり、ユーザーアプリケーション毎に異なる。しかしページ区切りは、文書のいずれのページに、参照されるアイテムが含まれるのかについて、近似を提供する。レンダリング処理の一部として、又は、レンダリング処理の代わりに、ページ区切りを用いて初期値を設定してもよい。例えば、値を判定するにあたり、完全に正確であることが求められていない場合、レンダリング処理の間に参照の値を特定する代わりに、ページ区切りの値を用いてもよい。これにより、参照の値を特定するために、中間文書に対して反復を複数回行う必要がなくなる可能性がある。また、ページ区切りから算出される値を、レンダリング処理を開始させる初期値として用いてもよい。
【００４６】
本発明の複数の実施形態は、用いられているプラットフォームに係らず、実質的に、あらゆるタイプのコンピューターに実装可能である。例えば、図５に示されるように、コンピューターシステム５００は、一以上のプロセッサー５０２と、関連するメモリー５０４（例えば、ランダムアクセスメモリー（ＲＡＭ）、キャッシュメモリー、フラッシュメモリーなど）と、記憶デバイス５０６（例えば、ハードディスク、コンパクトディスクドライブやデジタルビデオディスク（ＤＶＤ）ドライブなどの光学ドライブ、フラッシュメモリースティックなど）と、その他多くの構成要素を含み、今日のコンピューター（図示なし）の有する一般的な機能を備える。本発明の一以上の実施形態において、プロセッサー５０２はハードウェアである。例えば、プロセッサーは集積回路であってもよい。コンピューターシステム５００は、キーボード５０８、マウス５１０、マイクロフォン（図示なし）などの入力手段も含んでもよい。また、コンピューターシステム５００は、モニター５１２（例えば、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、ブラウン管（ＣＲＴ）モニターなど）などの出力手段も含んでもよい。コンピューターシステム５００は、ネットワークインターフェース接続（図示なし）を介して、ネットワーク５１４（例えば、ローカルエリアネットワーク（ＬＡＮ）、インターネットなどの広域ネットワーク（ＷＡＮ）、その他のタイプのネットワーク）に接続してもよい。本発明の一以上の実施形態において、多くの異なるタイプのコンピューターシステムが存在して、前記の入力手段及び出力手段が他の形態を取ってもよい。概括して言えば、コンピューターシステム５００は、少なくとも、本発明の実施形態を実施するために必要な、必要最低限の処理と、入力手段及び／又は出力手段を備える。
【００４７】
また、本発明の一以上の実施形態において、上述したコンピューターシステム５００の一以上の構成要素は遠隔に位置し、ネットワークを介して、その他の構成要素と接続してもよい。また、本発明の複数の実施形態は、複数のノードを有する分散システムに実装されてもよく、本発明の各部（例えば、データ構造、変換モジュール、レイアウトエンジンなど）は、分散システム内の異なるノードに位置してもよい。本発明の一実施形態において、ノードはコンピューターシステムに対応する。あるいは、ノードは関連する物理メモリーを有するプロセッサーに対応する。または、ノードは共有メモリー及び／又は共有資源を有するプロセッサー又はプロセッサーのマイクロコアに対応する。また、本発明の実施形態を実行するための、コンピューター読取可能プログラムコード形式のソフトウェア指示を、非一時的コンピューター読取可能記憶媒体に一時的又は恒久的に記憶させてもよい。非一時的コンピューター読取可能記憶媒体としては、コンパクトディスク（ＣＤ）、ディスケット、パンチカード、テープ、メモリー、その他のコンピューター読取可能記憶デバイスがある。
【００４８】
限られた数の実施形態を用いて本発明を説明したが、本開示の恩恵に浴する当業者であれば、ここに開示された本発明の範囲から逸脱することなく、他の実施形態を考案できることを理解するであろう。したがって、本発明の範囲は、添付の特許請求の範囲によってのみ制限されるべきである。
【図１】
0005612552.tif 000002
【図２】
0005612552.tif 000003
【図３】
0005612552.tif 000004
【図４Ａ】
0005612552.tif 000005
【図４Ｂ】
0005612552.tif 000006
【図５】
0005612552.tif 000007