本教程展示如何在WinForms c#应用程序中使用LEADTOOLS SDK的自动注释功能主题是
控制。
概述 | |
---|---|
总结 | 本教程介绍了在c# WinForms应用程序中使用文档查看器的自动注释功能。 |
完成时间 | 30分钟 |
Visual Studio项目 | 下载教程项目(9kb) |
平台 | WinForms c#应用程序 |
IDE | Visual Studio 2017, 2019 |
开发许可 | 下载LEADTOOLS |
用另一种语言试试 |
|
在开始之前在文档上绘制和编辑注释- WinForms c#本教程中,通过回顾添加引用和设置License和在文档查看器中显示文件教程。
中创建的项目的副本开始在文档查看器中显示文件教程。如果项目不可用,请按照该教程中的步骤创建它。
所需要的参考资料取决于项目的目的。引用可以通过以下两种方法中的一种添加(但不能同时添加)。本项目需要参考资料如下:
如果使用NuGet引用,本教程需要以下NuGet包及其依赖项:
Leadtools.Annotations.WinForms
Leadtools.Document.Sdk
Leadtools.Document.Viewer.WinForms
如果使用本地DLL引用,则需要以下DLL。dll位于< INSTALL_DIR > \ LEADTOOLS22 \ Bin \ Dotnet4 \ x64:
Leadtools.dll
Leadtools.Annotations.Automation.dll
Leadtools.Annotations.Engine.dll
Leadtools.Annotations.WinForms.dll
Leadtools.Caching.dll
Leadtools.Codecs.dll
Leadtools.Controls.WinForms.dll
Leadtools.Document.dll
Leadtools.Document.Pdf.dll
Leadtools.Document.Viewer.WinForms.dll
有关应用程序需要哪些DLL文件的完整列表,请参阅在你的申请中包含的文件.
许可证解锁项目所需的特性。它必须在调用任何工具箱函数之前设置。有关详细信息,包括针对不同平台的教程,请参阅设置运行时License教程。
有两种类型的运行时许可证:
请注意
中详细介绍了添加LEADTOOLS NuGet和本地引用以及设置许可添加引用和设置License教程。
创建项目、添加引用、设置许可和添加Document Viewer代码之后,就可以开始编码了。
去Form1.cs
在解决方案资源管理器.右键单击设计窗口并选择视图代码或按F7来显示表单后面的代码。
将下列语句添加到使用
顶部的块:
//在顶部使用块
使用Leadtools;
使用Leadtools.Document;
使用Leadtools.Caching;
使用Leadtools.Document.Viewer;
使用Leadtools.Controls;
使用Leadtools.Annotations.Automation;
使用Leadtools.Annotations.WinForms;
将下面的代码添加到InitUI ()
方法创建包含注释工具栏的面板:
varannToolbarPanel =新面板();
annToolbarPanel。Name =“annToolBarPanel”;
annToolbarPanel。宽度= 200;
annToolbarPanel。Dock = DockStyle.Right;
annToolbarPanel。BackColor = Color.LightBlue;
annToolbarPanel。BorderStyle = BorderStyle. fixedsingle;
这.Controls.Add (annToolbarPanel);
在InitDocumentViewer ()
方法,改变createOptions。UseAnnotations
价值真正的
并添加一个调用InitAnnotations ()
方法。
varcreateOptions =新DocumentViewerCreateOptions ();
//设置文档查看器显示的UI部分
createOptions。ViewContainer =这.Controls.Find (“docViewerPanel”,假) [0];
//设置显示缩略图的UI部分
createOptions。ThumbnailsContainer =这.Controls.Find (“thumbPanel”,假) [0];
//启用使用注释
createOptions。UseAnnotations=真正的;
//现在创建查看器
documentViewer = DocumentViewerFactory.CreateDocumentViewer(createOptions);
//初始化注释
InitAnnotations ();
使用下面的代码InitAnnotations ()
方法,以初始化自动化管理器,创建并填充工具栏,并启用上下文菜单,以便在右键单击Document Viewer中的注释时显示。
私人无效InitAnnotations ()
{
//注释工具栏将被添加到这里
varannToolbarPanel =这.Controls.Find (“annToolBarPanel”,真正的) [0];
//从文档查看器中获取自动化管理器
varautomationManager = documentViewer.Annotations.AutomationManager;
//创建manager helper。这将设置呈现引擎
varautomationManagerHelper =新AutomationManagerHelper (automationManager);
//告诉文档查看器自动化管理器helper已经创建
documentViewer.Annotations.Initialize ();
//创建工具栏
automationManagerHelper。ModifyToolBarParentVisiblity =真正的;
automationManagerHelper.CreateToolBar ();
varannToolBar = automationManagerHelper.ToolBar;
annToolBar。Dock = DockStyle.Fill;
annToolBar。AutoSize =真正的;
annToolBar。LayoutStyle = ToolStripLayoutStyle.Flow;
annToolbarPanel.Controls.Add (annToolBar);
annToolBar.BringToFront ();
//当用户右键单击注释对象时显示上下文菜单的处理程序
EventHandler
onShowContextMenu = (sender, e) => {
//如果没有单击注释对象
如果(e = =零)
返回;
//获取对象类型
varautomationObject = e.Object作为AnnAutomationObject;
如果(automationObject = =零)
返回;
//将点转换为客户端坐标
varimageViewer = documentViewer.View.ImageViewer;
varposition = imageViewer.PointToClient(Cursor.Position);
varautomation = documentViewer.Annotations.Automation;
//显示其上下文菜单
varcontextMenu = automationObject。快捷菜单作为ObjectContextMenu;
如果(快捷菜单! =零)
{
快捷菜单。自动化=自动化;
快捷菜单。显示(imageview、位置);
}
};
//显示对象属性对话框的处理程序
EventHandler
onShowObjectProperties = (sender, e) => {
//从文档查看器获取自动化对象
使用(vardlg =新AutomationUpdateObjectDialog ())
{
了解地理。用户名= documentViewer.UserName;
了解地理。自动=发送者作为AnnAutomation;
了解地理。ShowDialog (这);
e.Cancel = !
}
};
//使用操作事件处理额外的注释
主题是。操作+= (sender, e) =>
{
开关(e.Operation)
{
情况下DocumentViewerOperation。LoadingAnnotations:
//加载时禁用包含工具栏的面板,完成时启用
annToolbarPanel。Enabled = e.IsPostOperation;
打破;
情况下DocumentViewerOperation。CreateAutomation:
如果(e.IsPostOperation)
{
//自动化对象已经创建,使用它来执行未由
//默认为文档查看器
//当用户右键点击一个对象时,或者当用户点击一个对象时,我们将处理显示上下文菜单
//选择属性
documentViewer.Annotations.Automation.OnShowContextMenu += onShowContextMenu;
documentViewer.Annotations.Automation.OnShowObjectProperties += onShowObjectProperties;
}
打破;
情况下DocumentViewerOperation。DestroyAutomation:
如果(e.IsPostOperation !)
{
//自动化即将被破坏,删除我们使用的所有事件
documentViewer.Annotations.Automation.OnShowContextMenu -= onShowContextMenu;
documentViewer.Annotations.Automation.OnShowObjectProperties -= onShowObjectProperties;
}
打破;
默认的:
打破;
}
};
}
按下运行项目F5,或选择调试->开始调试.
如果正确地遵循了这些步骤,应用程序将运行,并且可以选择工具栏上的任何注释在加载的文档上绘制。下图显示了文档查看器,注释工具栏位于查看器的右侧。
方法的使用AutomationManager
,AutomationManagerHelper
而且AnnAutomation
类的主题是
控件绘制和编辑自动注释。