LEADTOOLS Leadtools.Topics.Documents.UI

フレームを表示

DocumentViewerは、ユーザーがアクションを監視、修正または中止でき、操作実行時にアプリケーションの状態を更新できる任意の操作を実行する前と後にDocumentViewer.Operationイベントを発生させます。

操作のメカニズムにより、アプリケーションから直接メソッドを呼び出すのでなく、エンドユーザーのドキュメントビューワとの対話を通してアクションが発生すると、アプリケーションにより動作を修正できます。

Operationイベントは、以下のメンバを格納する型DocumentViewerOperationEventArgsのデータを受け取ります:

メンバ 説明
操作 操作を識別するDocumentViewerOperation列挙体メンバ。
IsPostOperation 操作が実行しよう(false)としているかどうかについて、または、操作が実行された(true)ことを示します。
Data1 操作に関連づけられる最初のオプションの汎用的なデータオブジェクト。これの型と値は、操作に依存します。
Data2 操作に関連づけられる第2のオプションの汎用的なデータオブジェクト。これの型と値は、操作に依存します。
PageNumber この操作に関連づけられるページ番号。この操作が全部のドキュメントのためであるならば、0。
エラー 操作の実行中にエラーが発生した場合は例外オブジェクト。
Abort アプリケーションの実行を中止するよう設定できます。

サンプル

ユーザーがブックマークコンテナのエントリでマウスをクリックするとき、DocumentViewer.GotoBookmarkメソッドはDocumentViewerによって内部的に呼び出されます。アプリケーション自体が呼び出しを開始するわけではなく、操作メカニズムがなければユーザーの操作内容を知ることはありません。代わりに、操作は呼び出されます、そして、アプリケーションはアクションをログ記録するか、修正するか、中止さえする見込みがあります。

手順は、以下の通りです。

  1. ユーザーは、ブックマークコンテナのエントリをクリックします。

  2. 操作は、以下のメンバで発生します:

    メンバ 説明
    操作 DocumentViewerOperation.GotoBookmark 操作タイプは、何が起きようとしているかを示します。この場合、DocumentViewer.GotoBookmarkメソッドは、呼び出されようとしています。
    IsPostOperation false アクションは、まだ発生しませんでした。ドキュメントビューワは、それがGotoBookmarkを呼び出そうとしていることをアプリケーションに知らせています。
    PageNumber 0 これから、全部のドキュメントのための操作は、あります。
    Data1 DocumentBookmarkインスタンス これはGotoBookmarkに渡されているDocumentBookmarkオブジェクトですData1です、アプリケーションは任意のアクションをここで実行することができます。そして、特定のブックマークに基づく動作を修正することを含みます。
    Data2 null 使用されません。
    エラー null 無視されます。IsPostOperationfalseであるとき、エラーは値に決して設定されません。アクションは持っています。そして、エラーをスローするために、まだ起こりません。
    Abort false アプリケーションは、正常にこのアクションを中止する見込みがあります。これはユーザーを促すことの結果として全くそうすることができます、または、カスタムアクションと操作のデフォルト動作をオーバーライドすることは実行します。
  3. イベントがドキュメントビューワに返るとき、それはAbortの値を確認します、そして、それはfalseでありません、それはData1でブックマークオブジェクトを用いてGotoBookmarkを呼び出し始めます。

  4. メソッドが返ったあと、Operationイベントは以下のメンバで再び発生します:

    メンバ 説明
    操作 DocumentViewerOperation.GotoBookmark 以前と同じ操作型。ちょうど起こったアクションを示すこと
    IsPostOperation true アクションは実行しました。ドキュメントビューワは、GotoBookmarkが実行した、そして、ブックマークのコンテンツが適用されたアプリケーションに知らせています
    PageNumber 0 これが全部のドキュメントのための操作であるため、
    Data1 DocumentBookmarkインスタンス 同じDocumentBookmarkオブジェクトは、GotoBookmarkに渡されます
    Data2 null 使用されません。
    エラー nullまたは値 この値がnullであるならば、操作は正常に実行されました、さもなければ、それはエラーの詳細で例外オブジェクトを格納します。アプリケーションは、ユーザーにエラーメッセージを示すために、これを使うことができます
    Abort 使用されません。 操作は実行しました、そして、もうそれを中止することができません

操作

以下は、発生時のドキュメントビューワ操作と、Data1およびData2の値のリストです。すべての操作は、下の論理的カテゴリーに分けられるDocumentViewerOperation列挙体のメンバです。

コマンド操作

操作 発生します Data1 Data2 PageNumber IsPostOperation falseアクション IsPostOperation trueアクション
RunCommand Commandsは、組み込みまたはカスタムのコマンドのいずれかを実行しています。 実行されているDocumentViewerCommandオブジェクト。 オプションのは、DocumentViewerCommands.Runに渡されます 使われません(0) Aborttrueに設定することは、コマンドを実行することをキャンセルします コマンドは実行されます

DocumentViewer操作

操作 発生します Data1 Data2 PageNumber IsPostOperation falseアクション IsPostOperation trueアクション
SetDocument DocumentViewer.SetDocumentは呼び出されます 新しいDocumentオブジェクトは、メソッドに渡されます 使用されません。 使われません(0) Aborttrueに設定することは、ビューワで新しいドキュメントを置換することをキャンセルします ドキュメントは、ビューワで設定されます
GotoPage DocumentViewer.GotoPageは、サムネイルコンテナをクリックしているユーザーの成績の通りです 使用されません。 使用されません。 ページ番号 Aborttrueに設定することは、現状のまま現在のページをそのままにします ビューは、新しいページに移動します

ビュー操作

操作 発生します Data1 Data2 PageNumber IsPostOperation falseアクション IsPostOperation trueアクション
GetPage ビューバーチュアライザはDocumentPage.GetImageまたはDocumentPage.GetSvgを呼び出して、視界に入ってくるページの画像データを取得します。 IsPostOperationがfalseであるときはNull。

IsPostOperationがTrueであるときは画像データ。

使用されません。 ページ番号 AbortをTrueに設定すると、この操作がキャンセルされます。このページの画像データはビューで使用されません。 ページ画像データは更新されます
RenderItemPlaceholder ビューバーチュアライザは、ロードされた画像データを持たないページのプレースホルダをレンダリングしています。デフォルト動作は、Data1で設定されるImageViewerRenderEventArgsを用いて、ImageViewerでページ項目に関してテキスト"Loading..."を提出しています 使われるレンダリングコンテキストを格納するImageViewerRenderEventArgs 使用されません。 ページ番号 Aborttrueに設定することは、デフォルト動作をキャンセルします。通常、アプリケーション用途は、プレースホルダのカスタムレンダリングをこんなに実行します レンダリング"Loading..."のデフォルト動作は、実行されます
RunLink ユーザーはDocumentViewerPageLinksInteractiveModeを使ってページ上のリンクをクリックし、DocumentViewer.RunLinkTargetが呼び出されようとしています。 DocumentLinkオブジェクト。RunLinkTargetハンドルは、同じドキュメントDocumentLinkType.TargetPageの場所である目標をリンクします。LinkTypeの値がDocumentLinkType.Valueであるならば、ドキュメントビューワは任意のアクションを実行しません。この操作でこの値、次にカスタムハンドルDocumentLink.Valueを確認できます。たとえば、ハイパーリンクであるかどうかを確認し、ハイパーリンクを指し示すウェブブラウザインスタンスを開始する、などです。 マウスまたはタッチの現在の位置とボタンのステータスを含むInteractiveEventArgs ページ番号 Aborttrueに設定することはこれをキャンセルします、そして、リンクは実行されません DocumentViewer.RunLinkTargetは呼び出されます
HoverLink ユーザーはもう一度マウスをマウスを重ねた(入力される)か、DocumentViewerPageLinksInteractiveModeを用いてページのを使用してリンク領域を(左)からマウスを重ねました マウスがリンクに重なる場合DocumentLinkオブジェクト。マウスがリンクに重ならない場合はNull。アプリケーションは、リンク値でツールチップなどの豊かなユーザー経験を示すために、この操作を使うことができます。 マウスまたはタッチの現在の位置とボタンのステータスを含むInteractiveEventArgs ページ番号 Aborttrueに設定すると、この操作はキャンセルされます。 なし。
ItemTypeChanged 新しいドキュメントがビューワに設定される、そして、DocumentViewerView.PreferredItemTypeが使われることができないとき、新しい値に設定されているDocumentViewerView.ItemTypeに終わります。LEADTOOLSドキュメントビューワは、更新するView As Imageために、この値を使います、そして、View As SVGメニュー項目 DocumentViewerView.ItemTypeのための新しい値 使用されません。 使われません(0) Aborttrueに設定することはこれをキャンセルします、そして、項目タイプは変更されません。 項目タイプは変更されます。

サムネイル操作

操作 発生します Data1 Data2 PageNumber IsPostOperation falseアクション IsPostOperation trueアクション
LoadingThumbnails サムネイルはドキュメントからサムネイル画像を取得する背景スレッドを開始する 使用されません。 使用されません。 使われません(0) Aborttrueに設定することはスレッドを開始することをキャンセルします、そして、サムネイルはロードされません すべてのサムネイルはロードされます、そして、背景スレッドが存在します。DocumentViewerThumbnails.IsLoadingは、falseであるでしょう。
GetThumbnail サムネイル背景スレッドは、ページのためにDocumentPage.GetThumbnailImageを呼び出しています IsPostOperationfalseであるとき、使われません

IsPostOperationtrueであるサムネイル画像

使用されません。 ページ番号 Aborttrueに設定することはこれをキャンセルします、そして、ページはサムネイルコンテナに関連づけられるimageを持っていません ページサムネイル画像は更新されます

ブックマーク操作

操作 発生します Data1 Data2 PageNumber IsPostOperation falseアクション IsPostOperation trueアクション
LoadingBookmarks ブックマークは、ドキュメントを解析して、ブックマーク項目を取得するために、背景スレッドを開始しています 使用されません。 使用されません。 使われません(0) Aborttrueに設定することはスレッドを開始することをキャンセルします、そして、ブックマークは解析されません すべてのブックマークは解析されます、そして、背景スレッドが存在します。DocumentViewerBookmarks.IsLoadingは、falseであるでしょう。
GotoBookmark DocumentViewer.GotoBookmarkは、直接、または、ブックマークコンテナで項目をクリックしているユーザーの結果として呼び出されています DocumentBookmarkオブジェクト。 使用されません。 使われません(0) Aborttrueに設定することは操作をキャンセルします、そして、ブックマークターゲットは適用されません ブックマークターゲットは適用されます

アノテーション操作

操作 発生します Data1 Data2 PageNumber IsPostOperation falseアクション IsPostOperation trueアクション
LoadingAnnotations アノテーションはドキュメントからページごとにアノテーションコンテナをロードする背景スレッドを開始する 使用されません。 使用されません。 使われません(0) CreateAutomationが発生するまで、アプリケーションはすべてのアノテーションユーザーインターフェースを無効にしなければなりません。

Aborttrueに設定することはスレッドを開始することをキャンセルします、そして、アノテーションコンテナはロードされません。DocumentViewerAnnotations.IsLoadingtrueでしょう

すべてのアノテーションコンテナはあって、読みます。CreateAutomation操作は、次に発生します。DocumentViewerAnnotations.IsLoadingは、falseであるでしょう
GetAnnotations アノテーション背景スレッドは、ページのためにDocumentPage.GetAnnotationsを呼び出しています IsPostOperationがfalseであるときはNull。

IsPostOperationtrueであるアノテーションコンテナ

使用されません。 ページ番号 Aborttrueに設定することはこれをキャンセルします、そして、ページは関連づけられるアノテーションコンテナを持っていません ページのためのアノテーションコンテナは、内部的に保存されます
CreateAutomation アノテーションすべてのページのためにアノテーションコンテナをロードすること完了した、そして、自動オブジェクトを作成しようとしている、 IsPostOperationがfalseであるときはNull。

IsPostOperationtrueであるAnnAutomationオブジェクト

使用されません。 使われません(0) trueへのAbortがキャンセルする設定は自動オブジェクトを作成します、そして、アノテーションオートメーションサポートは機能しません 自動オブジェクトは作成されたと、ページのためのアノテーションコンテナはそれに追加されます、そして、すぐに使えます。アプリケーションはアノテーションユーザーインターフェース要素を有効にしなければならなくて、必要ならばAnnAutomationイベントを使わなければなりません
DestroyAutomation ビューワの現在のDocumentオブジェクトは、置換されたか、nullに設定されました IsPostOperationfalseであるAnnAutomationオブジェクト

IsPostOperationtrueであるnull

使用されません。 使われません(0) アプリケーションはCreateAutomationでサブスクライブされるすべてのイベントのためにホックが外れなければなりません、そして、アノテーションユーザーインターフェース要素は無効にされなければなりません。

Aborttrueに設定することは操作をキャンセルします、そして、自動オブジェクトは破壊されません

AnnAutomationは破壊されます
AutomationStateChanged AnnAutomationのカレントデザイナまたはユーザモードは、変更されました 使用されません。 使用されません。 使われません(0) 中止されることができません アプリケーションはAnnAutomationの値を確認することができて、ユーザーインターフェース要素をアップデートすることができます

テキスト操作

操作 発生します Data1 Data2 PageNumber IsPostOperation falseアクション IsPostOperation trueアクション
GetText テキストは、ページのためにDocumentPageTextオブジェクトを取得するために、DocumentPage.GetTextを呼び出しています IsPostOperationがfalseであるときはNull。

IsPostOperationtrueであるとき、DocumentPageTextは反対します

使用されません。 ページ番号 Aborttrueに設定することは、ページのためにテキストを取得することをキャンセルします。

アプリケーションはユーザーにビジーダイアログを示すことができて、ユーザーインターフェースを無効にすることができます

アプリケーションはビジーダイアログを削除することができて、ユーザーインターフェースを再び有効にすることができます。このページのためのすべてのテキスト操作は、ここで利用できます
TextSelectionChanged ドキュメントの選択したテキストは、変更しています。 使用されません。 使用されません。 使われません(0) Aborttrueに設定することは、ドキュメント文字選択を変更することをキャンセルします ドキュメントビューワは、これまたはテキストを一度に選択できるためアノテーションオブジェクトの選択を解除します。
PageTextSelectionChanged ページの選択したテキストは、変更しました 使用されません。 使用されません。 ページ番号 Aborttrueに設定することは、ページ文字選択を変更することをキャンセルします ドキュメントビューワは、選択したテキストをハイライトするために、ビューにおけるページを無効にします
RenderSelectedText ページの選択したテキストは、ビューの上でハイライトされます テキストをハイライトするために使用にターゲットコンテキストを格納しているImageViewerRenderEventArgs 新しい選択したテキスト項目を格納するDocumentViewerTextItemのリスト ページ番号 Aborttrueに設定することは操作をキャンセルします、そして、デフォルトアクションは発生しません。アプリケーションは、選択したテキストのカスタムレンダリングを実行するために、これを使うことができます 選択したテキストは、ページの上でハイライトされます
SelectedTextToReviewObject ユーザーは、ページの上で新しいAnnTextReviewObjectから派生したアノテーションオブジェクトを描画しました AnnTextReviewObjectに由来するObject 使用されません。 ページ番号 Aborttrueに設定することは操作をキャンセルします、そして、デフォルトアクションは発生しません。 選択したテキスト項目長方形は、オブジェクトで設定されます。オブジェクトはページアノテーションコンテナに追加されて、選択されます
参照

参照

LEADTOOLSドキュメントビューワの使用
ドキュメントビューワのコマンド
ドキュメントライブラリ機能
LEADTOOLSドキュメントライブラリを使用したロード
LEADTOOLSドキュメントコンバーターの使用