本教程展示如何在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.WinFormsLeadtools.Document.SdkLeadtools.Document.Viewer.WinForms如果使用本地DLL引用,则需要以下DLL。dll位于< INSTALL_DIR > \ LEADTOOLS22 \ Bin \ Dotnet4 \ x64:
Leadtools.dllLeadtools.Annotations.Automation.dllLeadtools.Annotations.Engine.dllLeadtools.Annotations.WinForms.dllLeadtools.Caching.dllLeadtools.Codecs.dllLeadtools.Controls.WinForms.dllLeadtools.Document.dllLeadtools.Document.Pdf.dllLeadtools.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 ();//当用户右键单击注释对象时显示上下文菜单的处理程序EventHandleronShowContextMenu = (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、位置);}};//显示对象属性对话框的处理程序EventHandleronShowObjectProperties = (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类的主题是控件绘制和编辑自动注释。