LEADTOOLS Leadtools.Documents.UI(Leadtools.Documents.UIアセンブリ)

フレームを表示

DocumentViewerViewクラス






メンバ 
このドキュメントビューワで主なコンテンツビューを管理します
オブジェクトモデル
構文
public class DocumentViewerView 
'Declaration
 
Public Class DocumentViewerView 
'Usage
 
Dim instance As DocumentViewerView
public ref class DocumentViewerView 
解説

DocumentViewerViewは、DocumentViewer.Viewプロパティによってアクセスできます。

このクラスは、ドキュメントビューワで現在の文書セットのページを表示するために、主なコンテンツを管理します。

クラスは、ページを表示するために、ImageViewerのインスタンスを作成します。仮想化は、アプリケーションユーザーインターフェースを敏感にしておいて、かなりの頁数でドキュメントをサポートして、使われる資源を最小にするために画像データをロードして、キャッシュに格納するのに用いられます。モードを表示しているラスターとSVGは、サポートされます。

クラスはページ、そのようなパン、ズームでもユーザーとの対話処理を処理します、そして、対話モード、惰性スクロール、ページレイアウトと合わせられたモードとレンダリングをアノテーションコンテナに拡大します。

ドキュメントビューワが作成されるとき、

  1. DocumentViewerViewの新しいインスタンスは、LTDocumentViewer.Viewプロパティで作成されて、設定されます。

  2. ImageViewerコントロールの新しいインスタンスは、作成されて、DocumentViewerCreateOptions.ViewContainerへの子コントロールとして追加されます。ドキュメントがビューワで設定されるとき、この画像ビューワはページのラスターまたはSVG画像データを表示するのに用いられます。このコントロールは、このクラスのImageViewerプロパティを用いてアクセスされることができます。情報については、このImageViewerがどのように初期化されるかの、プロパティをごらんください。

  3. 対話モードは、ImageViewer.InteractiveModesに初期化されて、追加されます。

ドキュメントビューワが破壊されるとき、

  1. ImageViewerコントロールは、ペアレントDocumentViewerCreateOptions.ThumbnailsContainerコンテナから削除されます。

  2. すべての資源は開放されます

新しいドキュメントが設定されるとき、

新しいDocumentオブジェクトがDocumentViewer.SetDocumentを用いてDocumentViewerで設定されるとき、以下は発生します。

1つ前のドキュメントがドキュメントビューワで設定されるならば:

新しい文書セットがnull(アプリケーションはちょうどこのドキュメントを閉じました)であるならば、更なるアクションは必要とされません。

新しいドキュメントオブジェクトが設定されるならば、以下は実行されます:

コマンド

DocumentViewerViewは、以下を処理します:

詳細は、上記と設定して、動作をカスタマイズする方法のドキュメントビューワのコマンドドキュメントビューワの操作をごらんください。

サンプル

DocumentViewerでサンプルを作成して開始して、例関数ですべてのcodeを削除して、下記のcodeを追加します。

ユーザーが例ボタンをクリックしたあと、各々のページの一番下でページ番号のためにラベルを描画します。

Copy Code  
Imports Leadtools
Imports Leadtools.Controls
Imports Leadtools.Documents
Imports Leadtools.Documents.UI
Imports Leadtools.Codecs
Imports Leadtools.Caching
Imports Leadtools.Annotations.Core
Imports Leadtools.Forms.Ocr

' Disable the example button, this should only run once
exampleButton.Enabled = False
' Get the view
Dim view As DocumentViewerView = _documentViewer.View
' Get its image viewer
Dim imageViewer As ImageViewer = view.ImageViewer
' Hook to the PostRender
AddHandler imageViewer.PostRenderItem,
   Sub(sender, e)
      ' Get the image viewer item for the page
      Dim item As ImageViewerItem = e.Item

      ' Get the current rectangle for the image
      Dim bounds As LeadRectD = imageViewer.GetItemViewBounds(item, ImageViewerItemPart.Image, False)

      ' Build the text we want. The page number is the item index + 1
      Dim pageNumber As Integer = imageViewer.Items.IndexOf(item) + 1
      Dim text As String = "Page " + pageNumber.ToString()

      ' Get the image transformation for this item
      Dim transform As LeadMatrix = imageViewer.GetItemImageTransform(e.Item)

      ' Apply it to the context
      Dim gstate As System.Drawing.Drawing2D.GraphicsState = e.Context.Save()
      Using matrix As New System.Drawing.Drawing2D.Matrix( _
         CType(transform.M11, Single), _
         CType(transform.M12, Single), _
         CType(transform.M21, Single), _
         CType(transform.M22, Single), _
         CType(transform.OffsetX, Single), _
         CType(transform.OffsetY, Single))
         e.Context.MultiplyTransform(matrix)
      End Using

      ' Render the text at the bottom of the bounds
      Dim flags As TextFormatFlags = TextFormatFlags.HorizontalCenter Or TextFormatFlags.Bottom
      Dim rc As New Rectangle(CInt(bounds.X), CInt(bounds.Y), CInt(bounds.Width), CInt(bounds.Height))
      TextRenderer.DrawText(e.Context, text, imageViewer.Font, rc, Color.White, Color.Black, flags)

      e.Context.Restore(gstate)
   End Sub

' Invalidate so our changes take effect the first time
view.Invalidate()
using Leadtools;
using Leadtools.Controls;
using Leadtools.Documents;
using Leadtools.Documents.UI;
using Leadtools.Codecs;
using Leadtools.Caching;
using Leadtools.Annotations.Core;
using Leadtools.Forms.Ocr;

// Disable the example button, this should only run once
exampleButton.Enabled = false;
// Get the view
var view = _documentViewer.View;
// Get its image viewer
var imageViewer = view.ImageViewer;
// Hook to the PostRender
imageViewer.PostRenderItem += (sender, e) =>
{
   // Get the image viewer item for the page
   var item = e.Item;

   // Get the current rectangle for the image
   var bounds = imageViewer.GetItemViewBounds(item, ImageViewerItemPart.Image, false);

   // Build the text we want. The page number is the item index + 1
   var pageNumber = imageViewer.Items.IndexOf(item) + 1;
   var text = "Page " + pageNumber.ToString();

   // Get the image transformation for this item
   var transform = imageViewer.GetItemImageTransform(e.Item);

   // Apply it to the context
   var gstate = e.Context.Save();
   using (var matrix = new System.Drawing.Drawing2D.Matrix(
      (float)transform.M11,
      (float)transform.M12,
      (float)transform.M21,
      (float)transform.M22,
      (float)transform.OffsetX,
      (float)transform.OffsetY))
   {
      e.Context.MultiplyTransform(matrix);
   }

   // Render the text at the bottom of the bounds
   var flags = TextFormatFlags.HorizontalCenter | TextFormatFlags.Bottom;
   var rc = new Rectangle((int)bounds.X, (int)bounds.Y, (int)bounds.Width, (int)bounds.Height);
   TextRenderer.DrawText(e.Context, text, imageViewer.Font, rc, Color.White, Color.Black, flags);

   e.Context.Restore(gstate);
};

// Invalidate so our changes take effect the first time
view.Invalidate();
必要条件

ターゲットプラットホーム

参照

参照

DocumentViewerViewメンバ
Leadtools.Documents.UI名前空間
LEADTOOLSドキュメントビューワの使用

Leadtools.Documents.UIは、DocumentまたはMedicalツールキットのライセンスと、解除キーが必要です。詳細は、以下を参照してください。Imaging Pro/Document/Medicalの機能