JP2008536200A - ページ分割されたコンテンツを表示し、それと対話するための方法およびシステム - Google Patents

ページ分割されたコンテンツを表示し、それと対話するための方法およびシステム Download PDF

Info

Publication number
JP2008536200A
JP2008536200A JP2007557990A JP2007557990A JP2008536200A JP 2008536200 A JP2008536200 A JP 2008536200A JP 2007557990 A JP2007557990 A JP 2007557990A JP 2007557990 A JP2007557990 A JP 2007557990A JP 2008536200 A JP2008536200 A JP 2008536200A
Authority
JP
Japan
Prior art keywords
document
data
page
content
command
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007557990A
Other languages
English (en)
Inventor
ディー.セラーズ ティモシー
エル.グランサム へザー
ダーシュ ジョシュア
ダブリュ.ジェイ.ニュートン−スミス ジェレミー
グレッグ ブラウン ニコラス
ケイ.リーディ アネット
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2008536200A publication Critical patent/JP2008536200A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • User Interface Of Digital Computer (AREA)
  • Document Processing Apparatus (AREA)

Abstract

本発明に係る文書閲覧コントロール(204)は、別のコンピュータプログラムによってホストされて、そのプログラムに、コンテンツとのユーザ対話を可能にすることを含む文書閲覧機能を提供する。インタフェースが、スクロール(441)、ズーム(442)、発見(443)、レイアウト(444)、コピーなどを含む文書閲覧機能へのプラグインアクセスをプログラムに提供する。本発明では、前記インタフェースを介してプロパティを取り出し、設定することができ、コマンドを発行することができる。結果として、任意のプログラムが一貫性のある方式で文書閲覧機能を提供することができる。さらに、スタイルなどを介して、プログラム開発者は、デフォルト機能を非アクティブ化および/またはオーバーライドして、所与のプログラムに対して望むように文書ビューアをカスタマイズおよび/または拡張することができる。

Description

本発明は、一般にコンピュータに関し、より詳細には、コンピュータシステム上でコンテンツを表示することに関する。
コンピュータシステムの最も一般的な使用法の1つは、文書のコンテンツを表示することである。現代のコンピュータシステムおよびプログラムは、文書の閲覧において大きなフレキシビリティを提供する。これには、文書中のハイパーリンクされた位置へのジャンプ、コンテンツのズームインおよびズームアウト、ユーザが所望のページ番号を示すことによって所望のページにジャンプできるようにすること、スクロールおよびキーボードキーの使用によって文書をナビゲートできるようにすること、ならびにその他多くの文書閲覧オプションを実施できるようにすることが含まれる。
しかし、ページ分割されたコンテンツを表示したいアプリケーションプログラム開発者は、通常、独自の文書閲覧機能を提供するためのコードを書く。これは、一部には、今までは一般に開発者がそのような閲覧機能を提供する方法が他になかったからだが、また、種々のタイプのアプリケーションプログラムおよびコンテンツがあり、アプリケーション開発者が自身の特定プログラムと表示コンテンツのタイプとに対して意味をなすフィーチャ(feature)を提供したいと思うからでもある。
同時に、コンテンツ閲覧コード(content-viewing code)が提供する機能(functionality)およびフィーチャの多くは、プログラム間で共通である。例えば、ズーム、スクロール、テキスト検索などは、ブラウザ、ワードプロセッサ、文書リーダ、および他のプログラムにみることができる。これらのフィーチャをあらゆるアプリケーション中に別個にコード化することは、非常に非効率的であり、また、多くのカスタムコードがあり、したがってより多くのバグがある可能性が高いという点で、一般に堅牢性が劣る。さらに、このことは、様々なアプリケーションがそれぞれ独自のコンテンツ閲覧方式を提供するという点で、不整合につながる。この結果、ユーザは、単にコンテンツを見るだけのために、多くの異なるタイプのプログラムおよびそれらのユーザインタフェースを学習しなければならない。ユーザには別のプログラムによって提供されるのと同じフィーチャに見えるものでも、実際にはまったく異なる動作をすることもある。同様に、キーの組合せおよび/またはファンクションキーはしばしば、あるプログラムと次のプログラムとでは異なる意味を有する。
文書閲覧機能およびフィーチャが複数のプログラムにわたって一貫性および堅牢性を有するように、プログラムが共通の文書閲覧機能およびフィーチャを備えるための方法が必要とされている。同時に、開発者が望むなら何らかのレベルのカスタマイズを追加して、文書閲覧が所与のプログラム中でどのように動作するかを変更できるように、このような解決法はいずれも拡張可能であるべきである。
簡潔に言えば、本発明は、文書ビューア(document viewer)がコントロール中で(in a control)提供される方法およびシステムを提供し、コントロールは、ホスティングプログラムが文書ビューアの機能を備え、それを拡張することができるようにするアプリケーションプログラミングインタフェースおよびメソッドを有する。文書ビューアコントロールは、ページレイアウトと、ナビゲーションと、適切にフォーマットされた任意のコンテンツに対する一般的なユーザ対話の管理とを担う。機能は、印刷、キーワード発見(keyword find)、プロポーショナルズーム、コンテンツフローのマルチパスレイアウト、および/または、コンテンツのナビゲーションを含む。ホスティングプログラムは、望まれないフィーチャのいずれかを選択的に非アクティブ化することができ、利用可能だがデフォルトではアクティブでないフィーチャをアクティブ化することができ、文書ビューアコントロールに追加のフィーチャを補うこともできる。
ホストプログラムは、文書閲覧コントロール(document viewing control)を使用して、その閲覧領域にコンテンツを表示する。ある文書閲覧コントロールはデフォルトのユーザインタフェースを提供するが、このユーザインタフェースは一般に、上部にツールバー領域を備え、その下にコンテンツ閲覧領域(ビューポート)を備える。ツールバー領域では、文書閲覧コントロールは、1つまたは複数のボタンや、文書閲覧方式を管理するための他の対話式項目(interactive item)など、ユーザインタフェース要素を表示することができる。スクロールバーもまた設けられる。デフォルトで、スクロール、ならびにズーム、発見(find)(テキスト検索)、およびコピーのために、共通の文書対話機能が、ツールバーまたはメニューを介してアクティブ化されるコマンドとして提供される。印刷を提供することもできる。ホスティングプログラムは、すべてのデフォルト文書ビューアフィーチャの一部を選択的に使用することができ、かつ/または、デフォルトで使用可になっていないフィーチャおよび機能をアクティブ化することができる。例示的なツールバー領域の1つは、メニューボタン、ズームインボタン、ズームコンボボックス、ズームアウトボタン、コピーボタン、および発見ボタンを提供する。
例示的な一実装形態では、文書閲覧コントロールは、パブリックメソッドを介していくつかのプロパティおよびコマンドを公開する。文書閲覧コントロールは、文書閲覧機能を実施するための他のコントロールを含むことができる。例えば、スクロール動作を扱うためのスクロールコントロール、ズームを扱うためのズームコントロール、合致するテキストをテキストコンテンツ中で検索するための発見コントロール、ユーザがナビゲートできるようにページのグリッドをレイアウトするためのレイアウトコントロール、および、メニュー関連の機能を扱うためのメニューコントロールを含むことができる。
プログラムに返すことのできるプロパティは、コンテンツ関連データ、ページカウントデータ、最初の可視ページのデータ、最後の可視ページのデータ、水平オフセットデータ、垂直オフセットデータ、エクステント横幅データ、エクステント縦幅データ、ビューポート横幅データ、ビューポート縦幅データ、ページ境界が表示されるかどうかを示すデータ、ズームパーセンテージデータ、グリッド列カウントデータ、垂直ページ間隔データ、水平ページ間隔データ、文書の最初かどうかを示すデータ、文書の最後かどうかを示すデータ、文書をズームインできるかどうかを示すデータ、文書をズームアウトできるかどうかを示すデータ、および、ツールバー状態を示すデータを含むことができる。プログラムによって設定することのできるプロパティは、コンテンツ関連データ、最初の可視ページのデータ、水平オフセットデータ、垂直オフセットデータ、ページ境界表示データ、ズームパーセンテージデータ、グリッド列カウントデータ、垂直ページ間隔データ、水平ページ間隔データ、および、ツールバー状態を変更するためのデータを含むことができる。コマンドは、ツールバートグル(toggle)コマンド、グリッド列カウントに合わせるコマンド、文書リフロー(reflow)コマンド、サムネイルビューコマンド、横幅に合わせたビューコマンド、および、縦幅に合わせたビューコマンドを含む。
文書閲覧コントロールは、コンテンツを表示する必要があるときは常にデフォルトで自動的に文書ビューアとして提供することができる。プログラムは、デフォルトの文書閲覧コントロールを、それ自体のカスタマイズされた文書閲覧コントロールでオーバーライドすることができる。文書閲覧コントロールはスタイル化(styled)することができ、したがって、望むように文書ビューアを表示させるには、文書ビューアの特性を1度指定するだけでよい。アプリケーションプログラムは、単にスタイルを介してどのフィーチャが欲しいかを記述すればよく、そのスタイルを備えた文書ビューアが指定どおりに表示される。スタイルには名前を付けることができ、それによりプログラムは、文書ビューアの種々のスタイルを定義することができ、次いで、プログラム実行中の適時にどのスタイルが使用されるかを変えることができる。
その他の態様は、以下の詳細な記述を図面と共に読めば明らかになるであろう。
(例示的な動作環境)
図1に、本発明を実施することのできる適切なコンピューティングシステム環境100の例を示す。コンピューティングシステム環境100は、適切なコンピューティング環境の一例に過ぎず、本発明の使用または機能の範囲についてどんな限定を意味するものでもない。またコンピューティング環境100は、この例示的な動作環境100に示すコンポーネントのいずれか1つまたは組合せに関してどんな依存や要件を有するとも解釈されるべきではない。
本発明は、その他多くの汎用または専用コンピューティングシステム環境または構成でも機能する。本発明と共に使用するのに適するであろう周知のコンピューティングシステム、環境、および/または構成の例には、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドデバイスまたはラップトップデバイス、マルチプロセッサシステム、マイクロコントローラベースのシステム、セットトップボックス、プログラム可能な家庭用電子機器、ネットワークPC、ミニコンピュータ、メインフレームコンピュータや、これらのシステムまたはデバイスのいずれかを含む分散コンピューティング環境などが含まれるが、これらに限定されない。
本発明は、プログラムモジュールなど、コンピュータによって実行されるコンピュータ実行可能命令の一般的なコンテキストで述べることができる。一般に、プログラムモジュールは、特定のタスクを実施するか特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。本発明は分散コンピューティング環境で実施することもでき、その場合、タスクは通信ネットワークを介してリンクされたリモート処理デバイスによって実施される。分散コンピューティング環境では、プログラムモジュールは、メモリ記憶デバイスを含めたローカルとリモートの両方のコンピュータ記憶媒体に位置することができる。
図1を参照すると、本発明を実施するための例示的なシステムは、コンピュータ110の形の汎用コンピューティングデバイスを含む。コンピュータ110のコンポーネントには、処理ユニット120と、システムメモリ130と、システムメモリを含めた様々なシステムコンポーネントを処理ユニット120に結合するシステムバス121とを含めることができるが、これらに限定されない。システムバス121は、様々なバスアーキテクチャのいずれかを用いた、メモリバスまたはメモリコントローラ、周辺バス、ローカルバスを含めて、いくつかのタイプのバス構造のいずれかとすることができる。限定ではなく例として、このようなアーキテクチャには、ISA(Industry Standard Architecture)バス、MCA(Micro Channel Architecture)バス、EISA(Enhanced ISA)バス、VESA(Video Electronics Standards Association)ローカルバス、および、メザニンバスとも呼ばれるPCI(Peripheral component Interconnect)バスが含まれる。
コンピュータ110は通常、様々なコンピュータ可読媒体を備える。コンピュータ可読媒体は、コンピュータ110からアクセスできる任意の利用可能な媒体とすることができ、揮発性と不揮発性の媒体、取外し可能と取外し不可能の媒体の両方がこれに含まれる。限定ではなく例として、コンピュータ可読媒体には、コンピュータ記憶媒体および通信媒体を含めることができる。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を記憶するための任意の方法または技術で実現された、揮発性と不揮発性、取外し可能と取外し不可能の媒体が含まれる。コンピュータ記憶媒体には、RAM、ROM、EEPROM、フラッシュメモリ、または他のメモリ技術、CD−ROM、ディジタル多用途ディスク(DVD)、または他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、または他の磁気記憶デバイスが含まれ、あるいは、所望の情報を記憶するのに使用できコンピュータ110からアクセスできる他の任意の媒体が含まれるが、これらに限定されない。通信媒体は通常、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを、搬送波や他のトランスポート機構などの被変調データ信号に組み入れるものであり、任意の情報送達媒体がこれに含まれる。用語「被変調データ信号」は、信号中の情報が符号化される形で1つまたは複数の特性が設定または変更される信号を意味する。限定ではなく例として、通信媒体には、有線ネットワークや直接有線接続などの有線媒体と、音響(acoustic)、無線周波数、赤外線などの無線媒体および他の無線媒体とが含まれる。以上のいずれかの組合せも、コンピュータ可読媒体の範囲に含まれるべきである。
システムメモリ130は、読取り専用メモリ(ROM)131やランダムアクセスメモリ(RAM)132など、揮発性および/または不揮発性メモリの形のコンピュータ記憶媒体を含む。ROM131には通常、起動中などにコンピュータ110内の要素間で情報を転送するのを助ける基本ルーチンを含むBIOS(basic input/output system)133が記憶されている。RAM132は通常、処理ユニット120からすぐにアクセス可能な、かつ/または処理ユニット120が現在作用している、データおよび/またはプログラムモジュールを含む。限定ではなく例として、図1には、オペレーティングシステム134、アプリケーションプログラム135、その他のプログラムモジュール136、およびプログラムデータ137を示す。
コンピュータ110は、その他の取外し可能/取外し不可能、揮発性/不揮発性コンピュータ記憶媒体を備えることもできる。例に過ぎないが図1には、取外し不可能な不揮発性の磁気媒体に対して読み書きするハードディスクドライブ141と、取外し可能な不揮発性の磁気ディスク152に対して読み書きする磁気ディスクドライブ151と、CD ROMや他の光媒体など取外し可能な不揮発性の光ディスク156に対して読み書きする光ディスクドライブ155を示す。この例示的な動作環境で使用できる他の取外し可能/取外し不可能、揮発性/不揮発性コンピュータ記憶媒体には、磁気テープカセット、フラッシュメモリカード、ディジタル多用途ディスク、ディジタルビデオテープ、固体RAM、固体ROMなどが含まれるが、これらに限定されない。ハードディスクドライブ141は通常、インタフェース140などの取外し不可能メモリインタフェースを介してシステムバス121に接続され、磁気ディスクドライブ151および光ディスクドライブ155は通常、インタフェース150などの取外し可能メモリインタフェースでシステムバス121に接続される。
上述し、図1に示したドライブおよびそれらに関連するコンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、およびその他のデータの記憶をコンピュータ110に提供する。例えば図1には、ハードディスクドライブ141がオペレーティングシステム144、アプリケーションプログラム145、その他のプログラムモジュール146、およびプログラムデータ147を記憶しているのが示されている。これらのコンポーネントは、オペレーティングシステム134、アプリケーションプログラム135、その他のプログラムモジュール136、およびプログラムデータ137と同じものとすることもでき、異なるものとすることもできることに留意されたい。ここでは、オペレーティングシステム144、アプリケーションプログラム145、その他のプログラムモジュール146、およびプログラムデータ147が少なくとも異なるコピーであることを示すために、異なる番号を付けてある。ユーザは、キーボード162やポインティングデバイス161(マウス、トラックボール、またはタッチパッドと一般に呼ばれる)などの入力デバイスを介して、コンピュータ110にコマンドおよび情報を入力することができる。その他の入力デバイス(図示せず)には、マイクロホン、ジョイスティック、ゲームパッド、衛星受信アンテナ、スキャナ、ハンドヘルドPCまたは他の筆記タブレットのタッチセンシティブスクリーンなどを含めることができる。これらおよび他の入力デバイスは、システムバスに結合されたユーザ入力インタフェース160を介して処理ユニット120に接続されることが多いが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス(USB)など、他のインタフェースおよびバス構造で接続されてもよい。モニタ191または他のタイプの表示デバイスも、ビデオインタフェース190などのインタフェースを介してシステムバス121に接続される。モニタに加えて、コンピュータは、スピーカ197やプリンタ196など、その他の周辺出力デバイスも備えることができ、これらは出力周辺インタフェース195を介して接続することができる。
コンピュータ110は、リモートコンピュータ180など1つまたは複数のリモートコンピュータへの論理接続を用いて、ネットワーク化された環境で動作することができる。リモートコンピュータ180は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイス、または他の一般的なネットワークノードとすることができ、図1にはメモリ記憶デバイス181しか示されていないが通常は、コンピュータ110に関して上述した要素の多くまたはすべてを備える。図1に示す論理接続は、ローカルエリアネットワーク(LAN)171およびワイドエリアネットワーク(WAN)173を含むが、他のネットワークを含むこともできる。このようなネットワーキング環境は、オフィス、企業規模のコンピュータネットワーク、イントラネット、およびインターネットでよくみられる。
LANネットワーキング環境で使用されるときは、コンピュータ110は、ネットワークインタフェースまたはアダプタ170を介してLAN171に接続される。WANネットワーキング環境で使用されるときは、コンピュータ110は通常、インターネットなどのWAN173を介した通信を確立するためのモデム172または他の手段を備える。モデム172は内蔵でも外付けでもよく、ユーザ入力インタフェース160または他の適切な機構を介してシステムバス121に接続することができる。ネットワーク化された環境では、コンピュータ110に関して示したプログラムモジュールまたはその一部をリモートのメモリ記憶デバイスに記憶することができる。限定ではなく例として、図1には、リモートアプリケーションプログラム185がメモリデバイス181上にあるのが示されている。図示したネットワーク接続は例であり、コンピュータ間で通信リンクを確立するための他の手段を使用してもよいことは理解されるであろう。
(ページ分割されたコンテンツの表示および対話)
本発明は一般に、コントロールとして提供される文書ビューアを対象とし、これは本質的に、別のプログラムによってホストされてそのプログラムに一定の機能を提供することのできるオブジェクトである。文書ビューアコントロールは、ページレイアウトと、ナビゲーションと、適切にフォーマットされた任意のコンテンツに対する一般的なユーザ対話の管理とを担う対話式閲覧解決(interactive viewing solution)を提供する。例えば一実施形態では、文書ビューアコントロールは、iDocumentPaginatorインタフェースを実装する任意のコンテンツの閲覧、ならびに、文書ビューアコントロールを実装するカスタム解決を可能にする。
本発明の様々な態様によれば、文書ビューアコントロールは、オブジェクトとして、適切に構成された任意のアプリケーションプログラムに追加することができる。プログラムは、文書ビューアコントロールを自動的にまたは明示的に、例えばマークアップを介して呼び出すことができる。文書ビューアが追加されると、文書ビューアは、フィーチャのコアセットを提供する。フィーチャのコアセットは、ページグリッドを使用した(サイズ、ならびに/あるいは、固定コンテンツ、および/または利用可能な空間に基づいて調節(例えばテキストラップ)するリフロー可能コンテンツについての)混合フォーマットレイアウト、印刷、キーワード発見、プロポーショナルズーム、コンテンツフローのマルチパスレイアウト、および/または、コンテンツのナビゲーションを含む。ホスティングプログラムは、望まれないフィーチャのいずれかを選択的に非アクティブ化することができ、利用可能だがデフォルトではアクティブでないフィーチャをアクティブ化することができ、文書ビューアコントロールに追加のフィーチャを補うこともできる。
理解されるであろうが、本発明を実施するための多くの方法が実現可能であり、本明細書ではいくつかの代替方法のみについて述べる。例えば、本発明を主に複合コントロールオブジェクトモデルに関して以下に述べるが、このモデルでは、文書閲覧コントロールはその機能のいくらかを提供するために他のコントロールオブジェクトを含む。しかし、このことは本発明に必須ではなく、文書ビューアが他のオブジェクトを含まず直接に閲覧機能、フィーチャ、および論理を含むモデルなど、他のモデルも実現可能である。したがって本発明は、本明細書に述べるいずれか特定の実施例または実装形態に限定されず、コンピューティング一般における利益および利点を提供する様々な方法で使用することができる。
図2に移ると、本発明の様々な態様により本発明が動作することのできる例示的な構成を表すブロック図が示されている。この構成は、ホスト(例えばアプリケーション)プログラム200と文書閲覧コントロール204とを備え、文書閲覧コントロール204は、ビューポート210と呼ばれるその閲覧領域にコンテンツを表示する。本明細書では、文書は本質的にどんなタイプの可視コンテンツをも含み、したがってテキスト、グラフィックス、動画(animated)テキストおよび/またはグラフィックス、ビデオ、あるいはこれらの任意の組合せを含むことができる。ホストプログラム200は、図1のコンピュータシステム110などのコンピュータシステム上で実行されるコンピュータプログラムを含み、従来のアプリケーションプログラム、オペレーティングシステムコンポーネントまたはユーティリティ、別のコントロールなどとすることができる。
文書閲覧コントロール204は、一実装形態では文書ビューア(DocumentVewer)という名称であり、デフォルトのユーザインタフェースを提供する。このユーザインタフェースは一般に、上部にツールバー領域212を備え、その下にコンテンツ閲覧領域(ビューポート210)を備える。ツールバー領域212では、文書閲覧コントロール204は、1つまたは複数のボタンや、文書閲覧方式を管理するための他の対話式項目など、ユーザインタフェース要素を表示することができる。図2の例示的な文書ビューアスクリーンショットにはまた、スクロールバーユーザインタフェース要素214も示されており、これは、ユーザがビューポート210内でコンテンツをスクロールできるようにする。
例示的な一実装形態では、文書閲覧コントロール204は、例えばナビゲート、発見(テキスト検索)、コピー、およびズームのために、いくつかの共通の文書対話機能をデフォルトで提供する。印刷は、デフォルトで提供することのできるユーザ対話機能の別の例である。本発明の様々な態様に従って、アプリケーションプログラムは、後述するように、単にコントロールを「プラグイン」すればそのデフォルト機能を有することができる。ホストプログラム200は、例えばデフォルトを除去したり、隠したり、使用不可にしたり、かつ/またはオーバーライドしたりすることによって、すべてのデフォルト文書ビューアフィーチャの一部を選択的に使用することができる。ホストプログラム200はまた、デフォルトで使用可になっていないフィーチャおよび機能をアクティブ化することもできる。
いくつかのデフォルトフィーチャの例として、図3は、本発明の様々な態様により動作する文書閲覧コントロール204の例示的なビューの1つを示すスクリーンショットである。この表現では、文書閲覧コントロール204のツールバー領域212はツールバー項目320〜325を含み、これらにはメニューボタン320、ズームインボタン321、ズームコンボボックス322、ズームアウトボタン323、コピーボタン324、および発見ボタン325が含まれる。他のボタン(印刷ボタンなど)は表示されていないことに留意されたい。というのは、それらのボタンはデフォルトで提供されないからであり、あるいはデフォルトで提供されるとしても、対応する機能を提供したくないホストプログラムによって非アクティブ化されているからである。さらに、文書閲覧コントロール204および/またはホストプログラム200は、例えば追加のツールバー項目を加えたり、いずれかの既存のツールバー項目を除去したりできるようにすることによって、ユーザがツールバーをカスタマイズするのを可能にするインタフェースを提供することができることにも留意されたい。
図4に一般に表す例示的な一実装形態では、文書閲覧コントロール204は、インスタンス化されホストされ実行されたときにパブリックメソッド440を使用していくつかのプロパティおよびコマンドを公開することのできるオブジェクトを含む。パブリックメソッド440を使用して、文書閲覧コントロール204は、それ自体の機能へのアクセスを提供することができ、また、他の文書閲覧機能を実施するための、含まれている他のコントロール441〜446へのアクセスを提供することもできる。例えば、文書閲覧コントロール204は、スクロール動作を扱うためのスクロールコントロール441、ズームを扱うためのズームコントロール442、合致するテキストをテキストコンテンツ中で検索するための発見コントロール443、ユーザがナビゲートできるようにページのグリッドをレイアウトするためのレイアウトコントロール444、および、ツールバーが最小化されているときを含めてユーザが対話式にコマンドを発行するための代替方法を提供するなど、メニュー関連の機能を扱うためのメニューコントロール445を含むことができる。スクロール、ズーム、およびレイアウトは、それぞれ、「Method and System for Navigating Paginated Content in Page-Based Increments」、「Method and System for Zooming in and out of Paginated Content」、及び「Method and System for Laying Out Paginated Content for Viewing」という名称の同時係属の米国特許出願において一般に述べられており、これらの各出願は、本発明の譲受人に譲渡され、本出願と同時に出願され、参照により本明細書に組み込まれる。図4でブロック446によって表すように、その他のコントロール(例えば「コピー」操作を扱うためのコントロール)が文書閲覧コントロール204に含まれてもよい。図4には特に示していないが、これらのコントロール441〜446のいくつかまたはすべては、それ自体でパブリックに公開されてもよいことに留意されたい。
図3に表す例示的な実装形態に戻ると、文書ビューアのツールバー領域212は、ズーム、コピー、および発見などの文書閲覧コントロールを公開するユーザインタフェース項目を提供する。これらのいくつかは、文書閲覧コントロール204がネイティブに扱うコマンドに結び付けられるが、ズームなどのいくつかは、文書閲覧コントロール204のプロパティにデータバインドされる。ツールバーは、例えば「ToggleToolbar」コマンドを介して、最小化および最大化することができる。ツールバーは、最大化されたときは、ツールバーコントロールを内部に有するパネルを備える。最小化された状態では、メニュー項目以外は見えなくなる。
ツールバー中の各コントロールボタンには、アクセシビリティ(accessibility)およびテスティング(testing)を容易にするために、識別子および「タブ」順序付けが与えられる。例示的な左から右への順序付けでは、ツールバー中の第1のユーザインタフェース要素はメニューボタンであり、メニューボタンは、最小化されたとき、最大化されたツールバー中で通常利用可能なものと同じコマンドセットを公開する。これらのメニュー項目(およびそれらに関連するコマンド)には、コピー−ApplicationCommands.Copyと、発見−ApplicationCommands.Findと、印刷−ApplicationCommands.Printと、ズームイン−NavigationCommands.IncreaseZoom.と、ズームアウト−NavigationCommands.DecreaseZoomと、表示/非表示ツールバー−document viewing control.ToggleToolbarとを含めることができる。メニューボタンは、メニューコントロールのプロパティ(例えばIsMouseOverおよびIsMousePressed)に対してPropertyTriggersを使用することによって、マウスアクティビティに基づいて外観を変更することができる。これらのコマンドのいくつかまたはすべては、標準コマンドのライブラリに結び付けることができる。
ズームアウトボタンがクリックまたはメニューを介して作動されると、文書閲覧コントロールは現在の文書をズームアウトする。同様に、ズームインボタンが作動されると、文書閲覧コントロールは現在の文書をズームインする。ズームコンボボックスは、様々な事前定義済みの「ズームストップ」および他のズーム関連設定(例えば「100%」、「50%」、「1ページ」など)を含む。文書閲覧コントロールのズームコンボボックスは、DocumentViewerのStyle中で実装することができ、DocumentViewerのDocumentLayoutプロパティをコンボボックスのSelectedItemValueプロパティにデータバインドする。あるいは、開発者は単に、コマンドまたはプロパティを使用して、グリッド列の数を直接設定し、かつ/またはズームパーセンテージを設定してもよい。コンボボックス中の各エントリは、型DocumentLayoutのスタイル化されたデータ項目とすることができ、それにより、コンボボックス中の項目が選択されたとき、文書閲覧コントロールのページレイアウトを更新することができる。
発見ボタンを作動すると、文書閲覧コントロールの発見ダイアログが呼び出される。コピーは、テキストエディタ(例えば、文書閲覧コントロール204に付属のもの)が、ユーザの現在マークされている選択をクリップボードにコピーするようにする。印刷は、印刷ダイアログを呼び出す。
ビューポート210と呼ばれる、文書閲覧コントロールのコンテンツ領域は、レイアウトコントロールによってグリッド中にレイアウトされた1つまたは複数のページ列の並びで文書のコンテンツを表示する。この領域中のユーザインタフェース要素には、水平および/または垂直スクロールバーを含めることができる。コンテキストメニュー、例えば、ツールバー中のメニューボタンと同じ項目を含み、同じコマンドに結び付けられたコンテキストメニューを設けることもできる。
文書閲覧コントロールは、一実装形態において、ScrollViewerと呼ばれるスクロールコントロール441を介して、文書閲覧コントロールのコンテンツにスクロール機能を提供する。(例えば、DocumentGridという名称の)レイアウトコントロール444は、文書閲覧コントロールのScrollViewerによって使用されるIScrollInfoオブジェクトであり、文書コンテンツをフレキシブルな方式で表示することを担う。DocumentGridは内部コントロールであって、文書閲覧コントロールのStyle中で直接指定することはできないことに留意されたい。図5に一般に表すように、DocumentGridは、IDocumentScrollInfo(これはIScrollInfoを実装する)を実装し、ScrollViewerの子としてセットアップされる。ScrollViewerは、スクロールに基づく情報を、IScrollInfoインタフェースを介してDocumentGridに通信する。同様に、文書閲覧コントロールは、ページナビゲーション/レイアウトに基づく情報を、IDocumentScrollInfo(またはIDocumentPresentationInfo)インタフェースを介してDocumentGridに通信する。文書閲覧コントロールは、IDocumentPresentationInfoプロパティを設定して、DocumentGridのズームやオフセットなどを更新し、DocumentGridは、DocumentGrid上で変化したプロパティに文書閲覧コントロールを同期させておくために、文書閲覧コントロールのInvalidatePresentationInfo()メソッドを呼び出す。
本発明の様々な態様により、文書閲覧コントロールはいくつかのプロパティおよびコマンドを公開する。以下の表は、文書閲覧コントロール204の一実装形態により公開することのできるいくつかの例示的なプロパティおよびコマンドを含む。
Figure 2008536200
文書閲覧コントロール204のプロパティおよびコマンドへは、アプリケーション200からアクセスすることができる。「get」を示すプロパティは読取り可能である。「get」および「set」を示すプロパティは、読取り可能と書込み可能の両方である。本発明の趣旨および範囲を逸脱することなく、他のプロパティおよびコマンドを含めることもでき、かつ/または上記のプロパティおよびコマンドのいくつかを削除または修正することもできることは、容易に理解されるであろう。さらに、前述のプロパティおよびコマンドは例であり、本発明の趣旨および範囲を逸脱することなく他のデータ構造、定義、技法、および方法を使用して文書閲覧コントロール204の様々な態様を実施することができることは、容易に理解されるであろう。
以下に、プロパティおよびコマンドについての追加の詳細を提供する。
public int PageCount{get;}
PageCountは、文書閲覧コントロール(DocumentViewer)にロードされた現在ページ数を返す。この数は、ページ分割が完了するまで増加し、完了した時点で文書中の総ページ数を示すことになる。
public int FirstVisiblePage{get;set;}
FirstVisiblePageは、照会されると、画面上で見える最初のページを返す。これは、左から右へのコンテンツの場合は、一番左上の見えるページであり、あるいは右から左へのコンテンツの場合は、一番右上の見えるページである。設定されると、文書閲覧コントロールはIDocumentPresentationInfo.MakePageVisible()を呼び出し、これは、可能な場合に、指定されたページを、見える一番左上(または一番右上)のページにすることを試みる。これは常に可能なわけではなく(例えば文書の上部または下部で、あるいは複数列のレイアウトの場合)、したがって、FirstVisiblePageに割り当てられた値が、読み返された値と同じではないことになる状況があり得る。
FirstVisiblePageは、ユーザインタフェースへのデータバインドをより有用にするために、インデックスは1で始まる。1未満の値、またはPageCountよりも大きい値の場合は、値は範囲内に切り詰められる。FirstVisiblePageを設定すると、LastVisiblePageが更新される。
public int LastVisiblePage{get;}
LastVisiblePageは、照会されると、画面上で見える最後のページを返す。これは、左から右へのコンテンツの場合は、一番右下の見えるページであり、あるいは右から左へのコンテンツの場合は、一番左下の見えるページである。LastVisiblePageは、ユーザインタフェースへのデータバインドをより有用にするために、インデックスは1で始まる。1未満の値、またはPageCountよりも大きい値の場合は、値は範囲内に切り詰められる。
public double HorizontalOffset{get;set;}
HorizontalOffsetは、現在のページレイアウトが与えられた場合の、文書中の現在の水平位置をピクセル単位で示す。HorizontalOffsetは、インデックスは0で始まる。0未満の値、またはExtentWidthよりも大きい値は、範囲内に切り詰めることができる。
public double VerticalOffset{get;set;}
VerticalOffsetは、現在のページレイアウトが与えられた場合の、文書中の現在の垂直位置をピクセル単位で示す。VerticalOffsetは、インデックスは0で始まる。0未満の値、またはExtentHeightよりも大きい値は、範囲内に切り詰めることができる。
public double ExtentWidth{get;}
ExtentWidthは、文書レイアウトの現在の横幅を示す。
public double ExtentHeight{get;}
ExtentHeightは、文書レイアウトの現在の縦幅を示す。
public double ViewportWidth{get;}
ViewportWidthは、DocumentViewerのコンテンツ領域(ビューポート)の現在の横幅を示す。
public double ViewportHeight{get;}
ViewportHeightは、DocumentViewerのコンテンツ領域(ビューポート)の現在の縦幅を示す。
public bool ShowPageBorders{get;set;}
ShowPageBordersは、開発者が文書閲覧コントロール中で表示されているページの周りで「Drop Shadow」を使用可または使用不可にできるようにする。
public double ZoomPercentage{get;set:}
これは、UIへのデータバインドを単純なタスク(例えば、ユーザがズームを設定できるようにする単純なテキストボックスの生成)にするために公開される「便利(convenience)」プロパティである。最後のZoomPercentage設定またはページフィット呼出しに基づいて、有効なズームパーセンテージを返す。5%未満または1000%よりも大きい値は、範囲内に切り詰めることができる。
ZoomPercentageプロパティはまた、「%」符号付きの列を解析することのできるTypeConverterに関連付けられることになる。このようにして、データバインドされたUI(例えばTextBox)は、ZoomPercentageの値を「100」ではなく「100%」と表示することができる。さらに、「%」符号をマークアップ中で使用することも可能にする。すなわち、<DocumentViewer ZoomPercentage=”100%”/>となる。
public int GridColumnCount{get;set;}
これは、UIへのデータバインドを単純なタスク(例えば、表示されるページの表示列の数をユーザが設定できるようにする単純なテキストボックスの生成)にするために公開される「便利」プロパティである。表示されるページの列の数を返す。設定されると、指定数の列がレイアウトされるようにする(ただしビューには収まらない)。文書内の1未満またはページ数よりも大きい値は、範囲内に切り詰めることができる。
public IDocumentPaginator Content{get;set;}
コンテンツは、IAddChildインタフェースを介して文書閲覧コントロールにロードされた現在のIDocumentPaginatorコンテンツツリーを公開し、コンテンツの操作を可能にする。コンテンツが追加または除去されると、コンテンツは文書閲覧コントロールのLogicalTreeから追加または除去される。しかしこれは、文書閲覧コントロールがスタイル化を介して呼び出されたときには当てはまらない。その場合は何も行われず、文書閲覧コントロールがスタイル化を介して呼び出されたかどうか判定する現在のチェックは、「if(this.StyledParent==null)」である。
public bool IsAtStart{get;}
文書閲覧コントロール(DocumentViewer)が現在の文書の上部にあるかどうかを示す。PropertyTriggersを使用してナビゲーションボタンを使用可/使用不可にするために、DocumentViewerのStyle中で有用である。
public bool IsAtEnd{get;}
文書閲覧コントロールが現在の文書の最下部にあるかどうかを示す。PropertyTriggersを使用してナビゲーションボタンを使用可/使用不可にするために、DocumentViewerのStyle中で有用である。
public bool CanZoomIn{get;}
文書閲覧コントロールがこれ以上ズームインできる(すなわち現在、最高の「ズームストップ」でない)かどうかを示す。PropertyTriggersを使用してズームボタンを使用可/使用不可にするために、DocumentViewerのStyle中で使用される。
public bool CanZoomOut{get;}
文書閲覧コントロールがこれ以上ズームアウトできる(すなわち現在、最低の「ズームストップ」でない)かどうかを示す。PropertyTriggersを使用してズームボタンを使用可/使用不可にするために、DocumentViewer のStyle中で使用される。
public bool IsToolbarMaximized{get;set;}
ツールバーの現在状態、すなわち、最小化、最大化、または使用不可にされているかどうかを示す/設定する。ツールバーをその報告された状態に基づいて表示/非表示にするために、DocumentViewerのStyle中で使用される。
(コマンド)
public Command ToggleToolbar
このコマンドを呼び出すと、文書閲覧コントロール(DocumentViewer)は、「IsToolbarMaximized」プロパティを真と偽の間でトグルする。Styleの作成者がIsToolbarMaximizedプロパティを利用することを選択している場合、これは、DocumentViewerのStyle中のPropertyTriggersに基づいてUIの変化を引き起こす。
public Command FitToGridColumnCount
このコマンドは、現在の列レイアウト(GridColumnCountによって指定されている)が、ちょうど現在のビューポートに収まるようにする。
public Command ReflowDocument
このコマンドは、文書中の任意のリフロー可能コンテンツが再ページ分割されて現在のビューポートに収まるようにするとともに、現在指定されている列カウントを表示する。
public Command ViewThumbnails
DocumentViewer.DocumentLayoutを、DocumentLayout(DocumentLayoutType.Thumbnail)に設定する。
public Command ViewFitToWidth
DocumentViewer.DocumentLayoutを、DocumentLayout(DocumentLayoutType.FitToWidth)に設定する。
public Command ViewFitToHeight
DocumentViewer.DocumentLayoutを、DocumentLayout(DocumentLayoutType.FitToHeight)に設定する。
(外部コマンド)
文書閲覧コントロール(DocumentViewer)が扱うことになるがそれ自体では実装しない、様々なコマンドがある。例として以下のものが含まれる。
ApplicationCommands.Find
DocumentViewerのFindダイアログを呼び出す。
ApplicationCommands.Print
DocumentViewerのPrintダイアログを呼び出す。
ComponentCommands.ScrollPageUp/Down
DocumentViewerがViewportの上/下によってスクロールするようにする。
ComponentCommands.MoveUp/Down
DocumentViewerが16ピクセル上/下にスクロールするようにする。
ComponentCommands.MoveLeft/Right
DocumentViewerが16ピクセル左/右にスクロールするようにする。
ComponentCommands.MoveToHome/End
DocumentViewerが文書の最初/最後に移動するようにする。
ComponentCommands.ScrollByLine
DocumentViewerが指定行数分、上または下にスクロールするようにする。
NavigationCommands.Zoom
DocumentViewerのズームを指定レベルに設定する。
NavigationCommands.IncreaseZoom/DecreaseZoom
DocumentViewerがコンテンツ上でズームイン/ズームアウトするようにする。
NavigationCommands.GotoNextPage/GotoPreviousPage
DocumentViewerが次/前のページの並びにスクロールするようにする。
(DocumentViewerインタフェース実装)
IServiceProvider
文書閲覧コントロールのIServiceProvider実装は、DocumentGridのTextViewサービスを公開して、文書中の基礎をなすテキストへのアクセスを可能にする。
IAutomationPatternProvider
文書閲覧コントロールのIAutomationPatternProviderインタフェースは、UIAutomation TextPatternを求める要求を扱い、UIAutomation TextPatternは、表示されている文書のテキストコンテンツにAutomationシステムがアクセスできるようにする。
IEnsureVisible
IEnsureVisibleは、開発者が文書中の特定の要素を見えるようにすることを可能にする。これを使用して、ハイパーリンク付け(Hyperlinking)および何らかのアクセシビリティ機能をサポートすることができる。
IAddChild
IAddChildは、文書閲覧コントロールの論理ツリーに文書コンテンツを追加することを可能にする。子を1つだけ追加することができ、これはnullでないIDocumentPaginatorでなければならない。これらの基準が満たされない場合は、例外を投げることができる。
解釈された(interpreted)マークアップを介してユーザインタフェース要素が表示される一実装形態では、コンテンツを表示する必要があるときは常に、文書閲覧コントロール204はデフォルトで自動的に文書ビューアとして提供される。しかし、プログラムがそれ自体のカスタマイズ文書閲覧コントロールでデフォルト文書閲覧コントロール204をオーバーライドできるようにするための、大きなフレキシビリティが提供される。上記のAPIからわかるように、これは、APIのプロパティの多くを設定できることからもたらされる。
文書閲覧コントロールはスタイル化することができ、したがって、望むように文書ビューアを表示させるには、文書ビューアの特性を1度指定するだけでよい。例として、以下のマークアップを考えてみる(DVはDocumentViewerを表す)。
Figure 2008536200
一般に、デフォルトからの何らかの変更が望まれる場合、開発者は、文書ビューアが所望のプログラムリソースであることを指定して、所望の1つまたは複数の変更を示すだけでよい。上記のマークアップは、黄色の背景を有する、(主として)デフォルトの文書ビューアになる。ボタンやハイパーリンクなども同様に変更することができる。一実装形態では、コンテンツおよびレイアウトをスタイル化できない場合があり、有効な文書閲覧コントロールStyleは、document viewing control.ContentHost付属プロパティでマークされたScrollViewerコントロールを含む必要があることに留意されたい。Styleが適用されたことを文書閲覧コントロールが検出したとき、文書閲覧コントロールは、視覚ツリーを辿って、このマークされた要素を検索する。このマークされた要素を見つけることができなかった場合、またはこのマークされた要素がScrollViewerでない場合は、例外を投げる。正しいScrollViewerが見つかった場合は、文書閲覧コントロールはDocumentGridコントロールをインスタンス化し(レイアウトのために)、これをScrollViewerのContentにし、DocumentGridコントロールがScrollViewerに通信できるようにする。
このように、スタイルプロパティは、ユーザの望むように文書ビューアを表示させるために利用可能である。アプリケーションプログラムは、単にスタイルを介してどのフィーチャが欲しいかを記述すればよく、そのスタイルを備えた文書ビューアが指定どおりに表示される。ただし、コンテンツはスタイル化されないことに留意されたい。スタイルは、何らかのレベルのズームインおよびズームアウトをサポートするかどうかや、表示するページの列の数などのフィーチャを指定することができる。APIはこのようにする能力を提供するものの、所与のプログラムは、利用可能なすべてのフィーチャは使用しない場合もある。したがって例えば、スタイル化された文書閲覧コントロールをプログラム中で使用して限定されたフィーチャを提供し、カスタマイズされた文書ビューア、例えばズームオプションがなく「前」および「次」ボタンを備えた単一のページに、ユーザを向けさせることができる。
さらに、スタイルには名前を付けることができることにも留意されたい。したがって例えば、プログラムは、文書ビューアの種々のスタイルを定義することができ、次いで、適時にどのスタイルが使用されるかを変えることができる。これは例えば、プログラム中で、ある時は、ある文書ビューアスタイルが「XYZ」文書ビューアに等しいことを指定し、別の時は、使用する文書ビューアが「ABCD」文書ビューアに等しいことを指定するなどによって行うことができる。また、例えば、プログラムは、表示されているコンテンツのタイプによって、使用される文書ビューアを変えることができ、例えば、固定コンテンツはある文書ビューアスタイルを有し、利用可能な空間に基づいて調節(例えばテキストラップ)するリフロー可能コンテンツは異なるスタイル化がなされたビューアを介して表示されてよい。
以上の詳細な説明からわかるように、複数のプログラムがプログラムにわたって一貫性および堅牢性を有するようにして文書閲覧機能およびフィーチャを提供できるようにする方法およびシステムが提供される。この方法およびシステムは、カスタマイズ可能であり拡張可能である。
本発明は様々な修正および代替構造が可能であり、本発明の例示的ないくつかの実施形態を図面に示し、上に詳細に述べた。しかし、開示した特定の形に本発明を限定する意図はなく、反対に、本発明の趣旨および範囲の内に入るすべての修正、代替構造、および均等物をカバーするものである。
本発明を組み込むことのできるコンピュータシステムを表すブロック図である。 本発明の様々な態様による、文書閲覧コントロールをプログラムによってホストすることのできる例示的な構成を表す図である。 本発明の様々な態様による、文書閲覧コントロールとの対話で使用されるユーザインタフェース要素を示す例示的なスクリーンショット表現の図である。 本発明の様々な態様による、例示的な文書閲覧コントロールが様々な他のコントロールを含む構成を示すブロック図である。 本発明の様々な態様による、スクロール関連のインタフェースを含めたグリッドレイアウトに関する例示的なレイアウトクラスを表す図である。

Claims (20)

  1. コンピューティング環境において、
    別のプログラムによってホストするための文書閲覧コントロールであって、少なくとも1つのインタフェースのインタフェースセットを含む前記文書閲覧コントロールを提供すること、
    前記文書閲覧コントロールの前記インタフェースセットにおいて、呼出しプログラムから関数呼出しを受け取ること、および、
    関数呼出しに応答して、前記呼出しプログラムが文書のコンテンツを表示できるようにするための文書閲覧機能を提供することを含むことを特徴とする方法。
  2. 前記文書閲覧機能を提供することは、表示コンテンツのズームレベルを変更することを含むことを特徴とする請求項1に記載の方法。
  3. 前記文書閲覧機能を提供することは、前記文書中でスクロールして、コンテンツが表示されている方式を変更することを含むことを特徴とする請求項1に記載の方法。
  4. 前記文書閲覧機能を提供することは、前記文書中の選択されたコンテンツをコピーすることを含むことを特徴とする請求項1に記載の方法。
  5. 関数呼出しに応答して、文書印刷機能を提供することをさらに含むことを特徴とする請求項1に記載の方法。
  6. 前記インタフェースセットにおいて、前記呼出しプログラムから前記関数呼出しを受け取ることは、プロパティ値を得る要求を受け取ることを含むことを特徴とする請求項1に記載の方法。
  7. 前記プロパティ値を得る前記要求を受け取ることは、セットのうちの少なくとも1つのプロパティの値の要求を受け取ることを含み、前記セットは、コンテンツ関連データ、ページカウントデータ、最初の可視ページのデータ、最後の可視ページのデータ、水平オフセットデータ、垂直オフセットデータ、エクステント横幅データ、エクステント縦幅データ、ビューポート横幅データ、ビューポート縦幅データ、ページ境界が表示されるかどうかを示すデータ、ズームパーセンテージデータ、グリッド列カウントデータ、垂直ページ間隔データ、水平ページ間隔データ、文書の最初かどうかを示すデータ、文書の最後かどうかを示すデータ、文書をズームインできるかどうかを示すデータ、文書をズームアウトできるかどうかを示すデータ、および、ツールバー状態を示すデータを含むことを特徴とする請求項6に記載の方法。
  8. 前記インタフェースセットにおいて、前記呼出しプログラムから前記関数呼出しを受け取ることは、プロパティ値を変更する要求を受け取ることを含むことを特徴とする請求項1に記載の方法。
  9. 前記プロパティ値を変更する前記要求を受け取ることは、セットのうち少なくとも1つのプロパティの値を変更する要求を受け取ることを含み、前記セットは、コンテンツ関連データ、最初の可視ページのデータ、水平オフセットデータ、垂直オフセットデータ、ページ境界表示データ、ズームパーセンテージデータ、グリッド列カウントデータ、垂直ページ間隔データ、水平ページ間隔データ、および、ツールバー状態を変更するためのデータを含むことを特徴とする請求項8に記載の方法。
  10. 前記インタフェースセットにおいて、前記呼出しプログラムから前記関数呼出しを受け取ることは、コマンドを受け取ることを含むことを特徴とする請求項1に記載の方法。
  11. 前記コマンドを受け取ることは、セットのうち少なくとも1つのコマンドを受け取ることを含み、前記セットは、ツールバートグルコマンド、グリッド列カウントに合わせるコマンド、文書リフローコマンド、サムネイルビューコマンド、横幅に合わせるビューコマンド、および、縦幅に合わせるビューコマンドを含むことを特徴とする請求項10に記載の方法。
  12. 実行されると請求項1に記載の方法を実施するコンピュータ実行可能命令を有することを特徴とするコンピュータ可読媒体。
  13. 実行可能コンピュータプログラムを有するコンピューティング環境において、
    文書のコンテンツを表示するための文書閲覧コントロールであって、表示コンテンツとのユーザ対話を可能にするための少なくとも1つのデフォルトフィーチャを提供する前記文書閲覧コントロールと、
    前記文書閲覧コントロールのインタフェースセットとを備えるシステムであって、前記インタフェースセットにより前記実行可能コンピュータプログラムは、前記コンピュータプログラムに文書閲覧機能を提供するよう前記文書閲覧コントロールに対して呼出しを行うことを特徴とするシステム。
  14. 前記コンピュータプログラムは、少なくとも1つのデフォルトフィーチャをオーバーライドすることによって、前記文書閲覧コントロールの少なくとも一部をカスタマイズすることを特徴とする請求項13に記載のシステム。
  15. 前記コンピュータプログラムは、スタイルを介して前記文書閲覧コントロールの少なくとも一部をカスタマイズすることを特徴とする請求項14に記載のシステム。
  16. 前記文書閲覧コントロールは、文書のコンテンツの表示に関連する少なくとも1つの他のコントロールのコントロールセットを含むことを特徴とする請求項13に記載のシステム。
  17. 前記コントロールセットは、スクロール関連コントロール、ズーム関連コントロール、発見関連コントロール、レイアウト関連コントロール、メニュー関連コントロール、およびコピー関連コントロールを含むことを特徴とする請求項16に記載のシステム。
  18. 前記インタフェースはプロパティおよびコマンドへのアクセスを提供し、前記プロパティは、
    コンテンツ関連データ、ページカウントデータ、最初の可視ページのデータ、最後の可視ページのデータ、水平オフセットデータ、垂直オフセットデータ、エクステント横幅データ、エクステント縦幅データ、ビューポート横幅データ、ビューポート縦幅データ、ページ境界が表示されるかどうかを示すデータ、ズームパーセンテージデータ、グリッド列カウントデータ、垂直ページ間隔データ、水平ページ間隔データ、文書の最初かどうかを示すデータ、文書の最後かどうかを示すデータ、文書をズームインできるかどうかを示すデータ、文書をズームアウトできるかどうかを示すデータ、および、ツールバー状態を示すデータを含むプロパティセットのうち少なくとも1つのメンバを含み、
    前記コマンドは、
    ツールバートグルコマンド、グリッド列カウントに合わせるコマンド、文書リフローコマンド、サムネイルビューコマンド、横幅に合わせるビューコマンド、および、縦幅に合わせるビューコマンドを含むコマンドセットのうち少なくとも1つのメンバを含むことを特徴とする請求項13に記載のシステム。
  19. コンピューティング環境において、
    別のプログラムによってホストするための文書閲覧コントロール手段であって、少なくとも1つのインタフェースのインタフェースセットを含む前記文書閲覧コントロール手段と、
    別のプログラムによってホストされている間に、前記インタフェースセットにおいて呼出しプログラムから関数呼出しを受け取って、前記文書閲覧コントロール手段を介して表示コンテンツとのユーザ対話を可能にする手段とを備えることを特徴とするシステム。
  20. 前記ユーザ対話は、コンテンツが表示される方式を変更することを特徴とする請求項19に記載のシステム。
JP2007557990A 2005-03-04 2005-08-25 ページ分割されたコンテンツを表示し、それと対話するための方法およびシステム Pending JP2008536200A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/073,140 US7512892B2 (en) 2005-03-04 2005-03-04 Method and system for displaying and interacting with paginated content
PCT/US2005/030634 WO2006096209A1 (en) 2005-03-04 2005-08-25 Method and system for displaying and interacting with paginated content

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2012081644A Division JP5284509B2 (ja) 2005-03-04 2012-03-30 ページ分割されたコンテンツを表示し、それと対話するための方法およびシステム

Publications (1)

Publication Number Publication Date
JP2008536200A true JP2008536200A (ja) 2008-09-04

Family

ID=36945465

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2007557990A Pending JP2008536200A (ja) 2005-03-04 2005-08-25 ページ分割されたコンテンツを表示し、それと対話するための方法およびシステム
JP2012081644A Expired - Fee Related JP5284509B2 (ja) 2005-03-04 2012-03-30 ページ分割されたコンテンツを表示し、それと対話するための方法およびシステム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2012081644A Expired - Fee Related JP5284509B2 (ja) 2005-03-04 2012-03-30 ページ分割されたコンテンツを表示し、それと対話するための方法およびシステム

Country Status (6)

Country Link
US (1) US7512892B2 (ja)
EP (1) EP1854026A4 (ja)
JP (2) JP2008536200A (ja)
KR (1) KR101159390B1 (ja)
CN (1) CN101128816B (ja)
WO (1) WO2006096209A1 (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101165647B (zh) * 2006-10-17 2010-12-15 北京书生国际信息技术有限公司 一种文档库系统和文档库系统功能的扩展方法
EP1758031A1 (en) * 2005-08-25 2007-02-28 Microsoft Corporation Selection and display of user-created documents
KR100725411B1 (ko) * 2006-02-06 2007-06-07 삼성전자주식회사 컨텐츠 검색을 위한 사용자 인터페이스, 사용자 인터페이스제공 방법, 및 컨텐츠 검색 장치
KR100787977B1 (ko) * 2006-03-30 2007-12-24 삼성전자주식회사 이동 단말기에서 사용자 데이터 크기 조절 장치 및 방법
JP2008041003A (ja) * 2006-08-10 2008-02-21 Fuji Xerox Co Ltd 文書表示処理装置および文書表示処理プログラム
US8849909B2 (en) * 2007-07-06 2014-09-30 Yahoo! Inc. Real-time asynchronous event aggregation systems
US8171388B2 (en) * 2007-11-15 2012-05-01 Yahoo! Inc. Trust based moderation
US7941400B2 (en) * 2007-12-10 2011-05-10 International Business Machines Corporation Systems, methods and computer program products for maintaining a state of a document in a document-centric model to maintain a task across systems with the document
US8432298B2 (en) * 2009-10-30 2013-04-30 Honeywell International Inc. Aircraft visual display system with direct page navigation
US20110289401A1 (en) * 2010-05-20 2011-11-24 Salesforce.Com, Inc. Multiple graphical annotations of documents using overlays
US9589253B2 (en) 2010-06-15 2017-03-07 Microsoft Technology Licensing, Llc Workflow authoring environment and runtime
US20120297335A1 (en) * 2011-05-17 2012-11-22 Microsoft Corporation Document glancing and navigation
US10467273B2 (en) * 2011-10-24 2019-11-05 Image Scan, Inc. Apparatus and method for displaying search results using cognitive pattern recognition in locating documents and information within
US8855427B2 (en) 2011-12-16 2014-10-07 Harris Corporation Systems and methods for efficiently and accurately detecting changes in spatial feature data
US8832593B2 (en) * 2011-12-16 2014-09-09 Harris Corporation Systems and methods for efficient spatial feature analysis
US8755606B2 (en) 2011-12-16 2014-06-17 Harris Corporation Systems and methods for efficient feature extraction accuracy using imperfect extractors
CN102662654A (zh) * 2012-03-09 2012-09-12 北京神州数码思特奇信息技术股份有限公司 一种数据分页插件的生成方法
KR102008916B1 (ko) * 2012-09-07 2019-08-08 삼성전자주식회사 미확인 콘텐츠 표시 방법 및 그 전자 장치
US9734527B2 (en) 2013-01-17 2017-08-15 Nike, Inc. Visual shopping
US20140215308A1 (en) * 2013-01-31 2014-07-31 Adobe Systems Incorporated Web Page Reflowed Text
US9570955B2 (en) 2013-03-14 2017-02-14 Nike, Inc. Overmold protection for vibration motor
US20140372935A1 (en) * 2013-06-14 2014-12-18 Microsoft Corporation Input Processing based on Input Context
JP5882272B2 (ja) * 2013-08-30 2016-03-09 京セラドキュメントソリューションズ株式会社 資料評価プログラムおよび資料評価装置
US10671252B2 (en) * 2014-09-04 2020-06-02 Home Box Office, Inc. Styling system
CN105528333B (zh) * 2015-12-15 2019-06-07 网易(杭州)网络有限公司 一种文档优化显示的方法和装置
CN107256209A (zh) * 2017-06-16 2017-10-17 江苏经贸职业技术学院 一种文档交互方法
CN107256211A (zh) * 2017-06-16 2017-10-17 江苏经贸职业技术学院 一种文档交互方法
CN107291670A (zh) * 2017-06-16 2017-10-24 江苏经贸职业技术学院 一种文档交互方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003005944A (ja) * 2001-03-09 2003-01-10 Heidelberger Druckmaschinen Ag 生産印刷ワークフローにおいてタブを視覚的に表現するシステムと方法
WO2004068303A2 (en) * 2003-01-21 2004-08-12 E-Book Systems Pte Ltd. A programmable virtual book system
JP2004288139A (ja) * 2003-03-24 2004-10-14 Microsoft Corp シェルブラウザにおける拡張可能オブジェクトプレビューア

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5818447A (en) * 1996-06-06 1998-10-06 Microsoft Corporation System and method for in-place editing of an electronic mail message using a separate program
US6332212B1 (en) * 1997-10-02 2001-12-18 Ltx Corporation Capturing and displaying computer program execution timing
US20050091576A1 (en) 2003-10-24 2005-04-28 Microsoft Corporation Programming interface for a computer platform
US6721921B1 (en) * 2000-07-26 2004-04-13 Itm Associates Method and system for annotating documents using an independent annotation repository
US20030097640A1 (en) * 2001-07-25 2003-05-22 International Business Machines Corporation System and method for creating and editing documents
US7823060B2 (en) * 2002-06-07 2010-10-26 Microsoft Corporation Undo/redo architecture across multiple files
US8561069B2 (en) 2002-12-19 2013-10-15 Fujitsu Limited Task computing
US9003295B2 (en) 2003-03-17 2015-04-07 Leo Martin Baschy User interface driven access control system and method
US7458081B2 (en) * 2003-03-27 2008-11-25 Microsoft Corporation Configurable event handling for an interactive design environment
US7331014B2 (en) * 2003-05-16 2008-02-12 Microsoft Corporation Declarative mechanism for defining a hierarchy of objects
CA2504118A1 (en) * 2004-04-09 2005-10-09 Opinionlab, Inc. Using software incorporated into a web page to collect page-specific user feedback concerning a document embedded in the web page

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003005944A (ja) * 2001-03-09 2003-01-10 Heidelberger Druckmaschinen Ag 生産印刷ワークフローにおいてタブを視覚的に表現するシステムと方法
WO2004068303A2 (en) * 2003-01-21 2004-08-12 E-Book Systems Pte Ltd. A programmable virtual book system
JP2004288139A (ja) * 2003-03-24 2004-10-14 Microsoft Corp シェルブラウザにおける拡張可能オブジェクトプレビューア

Also Published As

Publication number Publication date
US7512892B2 (en) 2009-03-31
WO2006096209A1 (en) 2006-09-14
JP5284509B2 (ja) 2013-09-11
EP1854026A4 (en) 2010-03-31
KR20070108176A (ko) 2007-11-08
US20060200760A1 (en) 2006-09-07
JP2012168959A (ja) 2012-09-06
CN101128816A (zh) 2008-02-20
KR101159390B1 (ko) 2012-06-28
CN101128816B (zh) 2012-06-06
EP1854026A1 (en) 2007-11-14

Similar Documents

Publication Publication Date Title
JP5284509B2 (ja) ページ分割されたコンテンツを表示し、それと対話するための方法およびシステム
US7434174B2 (en) Method and system for zooming in and out of paginated content
RU2383918C2 (ru) Представление элементов пользовательского интерфейса в упрощенном виде
US6278448B1 (en) Composite Web page built from any web content
US9104647B2 (en) System and method for reading multifunctional electronic books on portable readers
JP4972254B2 (ja) リフレッシュ可能なWebクエリを作成するための統合された方法
US8645849B2 (en) Method and apparatus for providing portioned web pages in a graphical user interface
US7676785B2 (en) Hosted application as a designer in an integrated development environment
US7469302B2 (en) System and method for ensuring consistent web display by multiple independent client programs with a server that is not persistently connected to client computer systems
US20100192066A1 (en) Method and system for a graphical user interface
US20140047409A1 (en) Enterprise application development tool
JP2006506698A (ja) マルチメディア・ファイルのツールチップ
Anderson et al. Pro business applications with silverlight 4
JP2012064207A (ja) ホスト装置及びホスト装置のコンテンツ表示方法
JP2009193196A (ja) Guiシステム、gui生成方法、プログラムおよび記録媒体
Luyten et al. Uiml. net: an open uiml renderer for the. net framework
JP2003099424A (ja) 文書のデータ構造、記憶媒体及び情報処理装置
MacDonald Silverlight 2 Visual Essentials
Lair Beginning Silverlight 3
Harwani The Android Tablet Developer's Cookbook
Kim et al. Multi-platform document-oriented guis
Software et al. Phone Controls
KR20190115401A (ko) 링크 뷰 방법, 링크 뷰 장치 및 링크 뷰 프로그램
CN112541139A (zh) 一种通用极简html超文本书签导入与导出的绿色程序
CN117406879A (zh) 一种可视化拖拉拽分栏布局控制方法、系统、设备及介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080814

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110204

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110506

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110513

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110701

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120330