本教程演示如何使用LEADTOOLS SDK将嵌入在PDF中的注释转换为WinForms c# . net 6应用程序中的LEADTOOLS注释对象。
请注意
这种转换是在使用Document Viewer控件时隐式完成的,该控件被配置为使用自动注释和加载嵌入式PDF注释。有关详细信息,请参见在文档上绘制和编辑注释教程。
概述 | |
---|---|
总结 | 本教程展示了如何在c# WinForms应用程序中将PDF注释转换为LEAD注释。 |
完成时间 | 30分钟 |
Visual Studio项目 | 下载教程项目(3kb) |
平台 | WinForms c#应用程序 |
IDE | Visual Studio 2022 |
开发许可 | 下载LEADTOOLS |
用另一种语言试试 |
|
步骤熟悉创建项目的基本步骤添加引用和设置License和在图像上绘制和编辑注释教程,在工作之前转换PDF注释到LEADTOOLS注释- WinForms c#教程。
中创建的项目的副本开始在图像上绘制和编辑注释教程。如果该项目不可用,请按照该教程中的步骤创建它。
所需要的参考资料取决于项目的目的。引用可以通过以下两种方法中的一种添加(但不能同时添加)。
如果使用NuGet引用,本教程需要以下NuGet包:
Leadtools.Annotations.WinForms
Leadtools.Pdf
Leadtools.Viewer.Controls.WinForms
如果使用本地DLL引用,则需要以下DLL。
dll位于< INSTALL_DIR > \ LEADTOOLS22 \ Bin \净
:
Leadtools.dll
Leadtools.Annotations.Automation.dll
Leadtools.Annotations.Designers.dll
Leadtools.Annotations.Engine.dll
Leadtools.Annotations.Rendering.WinForms.dll
Leadtools.Annotations.WinForms.dll
Leadtools.Codecs.dll
Leadtools.Codecs.Bmp.dll
Leadtools.Codecs.Fax.dll
Leadtools.Codecs.Png.dll
Leadtools.Codecs.Tif.dll
Leadtools.Controls.WinForms.dll
Leadtools.Pdf.dll
Leadtools.Pdf.Annotations.dll
有关应用程序需要哪些DLL文件的完整列表,请参阅你的申请中包含的文件。
许可证解锁项目所需的特性。它必须在调用任何工具箱函数之前设置。有关详细信息,包括针对不同平台的教程,请参阅设置运行时License。
有两种类型的运行时许可证:
请注意
中详细介绍了添加LEADTOOLS NuGet和本地引用以及设置许可添加引用和设置License教程。
随着项目的创建、引用的添加、许可的设置和自动注释代码的添加,编码就可以开始了。
在解决方案资源管理器,双击Form1.cs
显示设计师。右键单击设计师并选择视图代码,或按F7,以显示表单后面的代码。添加使用
语句下面到最上面Form1
类。
使用系统;
使用System.Windows.Forms;
使用Leadtools;
使用Leadtools.Controls;
使用Leadtools.Codecs;
使用Leadtools.Annotations.Automation;
使用Leadtools.Annotations.WinForms;
使用Leadtools.Pdf;
使用Leadtools.Pdf.Annotations;
基于本教程的目的,下面的代码片段将被添加到Form1_Load
事件处理程序。
中加载PDF时,避免在图像本身上呈现嵌入的注释imageview
控件,使用以下代码。
//初始化一个新的RasterCodecs对象
RasterCodecs codecs =新RasterCodecs ();
codecs.Options.Pdf.Load.HideAnnotations =真正的;
修改codecs.Load ()
方法中加载带注释的PDF文件imageview
。本教程利用了这一点PDF文件。
//加载带注释的PDF文件
字符串pdfFilename =“Annotated.pdf”;
//加载主图像到查看器
查看器。Image = codecs.Load(pdfFilename);
之后使用下面的代码自动化
容器已经创建并设置了它的大小,以解析嵌入在所加载的PDF中的注释对象并将它们添加到自动化
的容器作为LEADTOOLS注释对象。
//解析PDF注释
PDFDocument pdfDoc =新PDFDocument (pdfFilename);
pdfDoc.ParsePages (PDFParsePagesOptions。注释,1,-1);
//确保映射分辨率正确
automation.Container.Mapper.MapResolutions (viewer.Image。XResolution viewer.Image。YResolution viewer.Image。XResolution viewer.Image.YResolution);
//转换注释
AnnPDFConvertor.ConvertFromPDF (pdfDoc.Pages[0]。注释,自动化。容器,LeadSizeD.Create (pdfDoc.Pages[0]。宽度,pdfDoc.Pages [0] .Height));
来处理文件使用MemoryStream
,替换代码行查看器。Image = codecs.Load(pdfFilename);
与以下:
字节[] pdfData = File.ReadAllBytes(pdfFilename);
MemoryStream pdfStream =新MemoryStream (pdfData);
查看器。Image = codecs.Load(pdfStream);
然后替换代码行PDFDocument pdfDoc = new PDFDocument(pdfFilename);
与以下:
PDFDocument pdfDoc =新PDFDocument (pdfStream);
按下运行项目F5,或选择Debug ->开始调试。
如果正确地遵循了这些步骤,应用程序将运行,示例PDF将加载到查看器中,嵌入的PDF注释对象将被转换并作为LEADTOOLS注释对象加载。
方法的使用AnnPDFConvertor
和PDFDocument
类。