本教程展示如何使用LEADTOOLS SDK从c# Windows控制台应用程序中的可搜索PDF文档中提取文本。
| 概述 | |
|---|---|
| 总结 | 方法解析PDF中的文本GetText ()方法。 |
| 完成时间 | 30分钟 |
| Visual Studio项目 | 下载教程项目(3kb) |
| 平台 | c# Windows控制台应用程序 |
| IDE | Visual Studio 2017, 2019 |
| 开发许可 | 下载LEADTOOLS |
步骤熟悉创建项目的基本步骤添加引用和设置License教程,在工作之前解析文档的文本-控制台c#教程。
中创建的项目的副本开始添加引用和设置License教程。如果该项目不可用,请按照该教程中的步骤创建它。
所需要的参考资料取决于项目的目的。引用可以通过以下两种方法中的一种添加(但不能同时添加)。
如果使用NuGet引用,本教程需要以下NuGet包:
Leadtools.Document.Sdk如果使用本地DLL引用,则需要以下DLL。
dll位于< INSTALL_DIR > \ LEADTOOLS22 \ Bin \ Dotnet4 \ x64:
Leadtools.dllLeadtools.Codecs.dllLeadtools.Document.dllLeadtools.Document.Pdf.dllLeadtools.Document.Writer.dllLeadtools.Ocr.dllLeadtools.Ocr.LEADEngine.dllLeadtools.Pdf.dll有关应用程序需要哪些DLL文件的完整列表,请参阅在你的申请中包含的文件.
许可证解锁项目所需的特性。它必须在调用任何工具箱函数之前设置。有关详细信息,包括针对不同平台的教程,请参阅设置运行时License.
有两种类型的运行时许可证:
请注意
中详细介绍了添加LEADTOOLS NuGet和本地引用以及设置许可添加引用和设置License教程。
随着项目的创建、引用的添加和许可的设置,编码就可以开始了。
在解决方案资源管理器,打开Program.cs.将以下语句添加到顶部的using块中Program.cs:
使用系统;使用先;使用Leadtools;使用Leadtools.Document;使用Leadtools.Ocr;
在里面创建一个新方法Program.cs命名ExtractDocumentText ().方法中的方法Main ()方法,在set license调用下,如下所示。
静态无效主要(字符串[]参数){试一试{SetLicense ();ExtractDocumentText ();}抓(异常交货){Console.WriteLine (ex.ToString ());}控制台。WriteLine (“按任意键退出…”);控制台。ReadKey (真正的);}
将下面的代码添加到ExtractDocumentText ()方法从给定文档中提取文本并将文本显示到控制台。
静态无效ExtractDocumentText (){字符串_documentFile =@“C: \ LEADTOOLS22 \资源\ \ leadtools.pdf图像”;使用(LEADDocument _document = DocumentFactory.)LoadFromFile (_documentFile新LoadDocumentOptions ())){IOcrEngine _ocrEngine = OcrEngineManager.CreateEngine(ocrengintype . lead);_ocrEngine。启动(零,零,零,@“C: \ LEADTOOLS22 \ Bin \常见\ OcrLEADRuntime”);_document.Text。OcrEngine = _ocrEngine;foreach(DocumentPage _page在_document.Pages){DocumentPageText _pageText = _page.GetText();_pageText.BuildText ();字符串_text = _pageText.Text;控制台。WriteLine ($"页码:{_page. "PageNumber} \ n”);控制台。WriteLine ($“{_text} \ n”);}}}
来处理文件使用MemoryStream,替换DocumentFactory。LoadFromFile打电话给ExtractDocumentText ()方法DocumentFactory。LoadFromStream如下:
静态无效ExtractDocumentText (){字符串_documentFile =@“C: \ LEADTOOLS22 \资源\ \ leadtools.pdf图像”;字节[] _documentData = File.ReadAllBytes(_documentFile);使用(MemoryStream _documentStream =新MemoryStream (_documentData))使用(LEADDocument _document = DocumentFactory.)LoadFromStream (_documentStream新LoadDocumentOptions ())){IOcrEngine _ocrEngine = OcrEngineManager.CreateEngine(ocrengintype . lead);_ocrEngine。启动(零,零,零,@“C: \ LEADTOOLS22 \ Bin \常见\ OcrLEADRuntime”);_document.Text。OcrEngine = _ocrEngine;foreach(DocumentPage _page在_document.Pages){DocumentPageText _pageText = _page.GetText();_pageText.BuildText ();字符串_text = _pageText.Text;控制台。WriteLine ($"页码:{_page. "PageNumber} \ n”);控制台。WriteLine ($“{_text} \ n”);}}}
按下运行项目F5,或选择Debug ->开始调试.
如果正确执行了上述步骤,则应用程序将指定的文档作为LEADDocument,迭代每一个DocumentPage在LEADDocument,提取文本,然后将文本字符串显示到控制台。
本教程展示了如何从文档文件中提取文本并将文本输出到控制台。还介绍了如何使用IOcrEngine接口和LEADDocument,DocumentPage,DocumentPageText类。