本教程展示如何使用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.dll
Leadtools.Codecs.dll
Leadtools.Document.dll
Leadtools.Document.Pdf.dll
Leadtools.Document.Writer.dll
Leadtools.Ocr.dll
Leadtools.Ocr.LEADEngine.dll
Leadtools.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
类。