当前位置: 首页 > news >正文

LEADTOOLS 23 使用OCr 将图像转换为可搜索的 PDF

使用 OCR 将图像转换为可搜索的 PDF - WinForms C# .NET 6

本教程演示如何创建一个 Windows WinForms C# .NET 6 应用程序,该应用程序设置 LEAD OCR 引擎来处理 OCR。

概述
概括本教程介绍了如何在 Windows WinForms C# .NET 6 应用程序中设置 LEAD OCR 引擎。
完成时间30分钟
Visual Studio 项目下载教程项目(9 KB)
平台C# Windows WinForms 应用程序
集成开发环境Visual Studio 2022
开发许可证下载 LEADTOOLS
尝试用其他语言
  • C#:. NET 6+(控制台)、.NET 6+(WinForms)

  • Swift:macOS 控制台

  • C API:C DLL(Windows)

  • Java: Java

所需知识

在学习“使用 OCR 将图像转换为可搜索的 PDF - WinForms C#”教程之前,请先查看“添加引用”、“设置许可证”和“在图像查看器中显示图像”教程,熟悉创建项目的基本步骤。

创建项目并添加 LEADTOOLS 引用

首先,请使用“在图像查看器中显示图像”教程中创建的项目副本。如果该项目不可用,请按照该教程中的步骤创建它。本教程不需要该教程中将加载的图像保存为 JPEG 格式的代码,因此可以省略。

所需的参考文献取决于项目的目的。可以通过以下两种方法中的一种(但不能同时使用两种方法)添加参考文献。本项目需要以下参考文献:

如果使用 NuGet 引用,本教程需要以下 NuGet 包及其依赖项:

  • Leadtools.Ocr
  • Leadtools.Viewer.Controls.WinForms

如果使用本地 DLL 引用,则需要以下 DLL 文件。这些 DLL 文件位于<INSTALL_DIR>\LEADTOOLS23\Bin\net

  • Leadtools.dll
  • Leadtools.Codecs.dll
  • Leadtools.Controls.WinForms.dll
  • Leadtools.Core.dll
  • Leadtools.Document.Writer.dll
  • Leadtools.Ocr.dll
  • Leadtools.Ocr.LEADEngine.dll

有关特定格式所需的编解码器 DLL 的完整列表,请参阅文件格式支持。

设置许可证文件

许可证用于解锁项目所需的功能。必须在调用任何工具包函数之前设置许可证。有关详细信息,包括不同平台的教程,请参阅“设置运行时许可证”。

运行时许可证有两种类型:

  • 评估许可证在下载评估工具包时获得。它允许对工具包进行评估。
  • 部署许可证。如果需要部署许可证文件和开发者密钥,请参阅“获取许可证”部分。

注意:有关添加 LEADTOOLS NuGet 和本地引用以及设置许可证的更多详细信息,请参阅“添加引用和设置许可证”教程。

初始化 IOcrEngine 代码

在解决方案资源管理器中打开Form1.cs。在设计器中右键单击并选择“查看代码”,或按F7键,以显示窗体背后的代码。确保已添加以下 using 语句和全局变量。

C#
using Leadtools;using Leadtools.Controls;using Leadtools.Codecs;using Leadtools.Ocr;using Leadtools.Document.Writer
C#
private ImageViewer _viewer;private IOcrEngine _ocrEngine;private IOcrPage _ocrPage;

在事件处理程序中添加代码Form1_Load来初始化IOcrEngine,使其如下所示:

C#
private void Form1_Load(object sender, EventArgs e){// Initialize Image Viewer object_viewer = new();_viewer.Dock = DockStyle.Fill;_viewer.BackColor = Color.DarkGray;_viewer.Zoom(ControlSizeMode.FitWidth, 1.0, new LeadPoint());Controls.Add(_viewer);_viewer.BringToFront();// Initialize the OCR engine_ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.LEAD);// Start up the engine_ocrEngine.Startup(null, null, null, @"C:\LEADTOOLS23\Bin\Common\OcrLEADRuntime");}

在事件处理程序中添加代码,以便在查看器中加载图像后OpenToolStripMenuItem_Click进行初始化:IOcrPage

C#
private void OpenToolStripMenuItem_Click(object sender, EventArgs e){try{using (RasterCodecs codecs = new RasterCodecs()){OpenFileDialog dlg = new OpenFileDialog();dlg.InitialDirectory = @"C:\LEADTOOLS23\Resources\Images";if (dlg.ShowDialog(this) == DialogResult.OK){_viewer.Image = codecs.Load(dlg.FileName);}}// Create IOcrPage from loaded image_ocrPage = _ocrEngine.CreatePage(_viewer.Image, OcrImageSharingMode.AutoDispose);}catch (Exception ex){MessageBox.Show(ex.ToString());}}

添加“另存为可搜索 PDF”代码

在解决方案资源管理器中,再次打开Form1.cs。在设计器中,向菜单栏的“文件”菜单添加一个新的菜单项。将此新菜单项的文本设置为“另存为可搜索的 PDF”。您可以将新菜单项的名称保留为“” 。SaveAsSearchablePDFToolStripMenuItem

双击Save as Searchable PDF菜单项以编辑其事件处理程序。在其中添加以下代码:

C#
private void SaveAsSearchablePDFToolStripMenuItem_Click(object sender, EventArgs e){try{// Create a documentusing (IOcrDocument ocrDocument = _ocrEngine.DocumentManager.CreateDocument(null, OcrCreateDocumentOptions.AutoDeleteFile)){// Create IOcrPage from loaded image_ocrPage = _ocrEngine.CreatePage(_viewer.Image, OcrImageSharingMode.AutoDispose);// Recognize Text_ocrPage.Recognize(null);// Add the pageocrDocument.Pages.Add(_ocrPage);// Save as PDFSaveFileDialog saveDlg = new SaveFileDialog();saveDlg.InitialDirectory = @"C:\LEADTOOLS23\Resources\Images";saveDlg.Filter = "Adobe Portable Document Format|*.pdf";if (saveDlg.ShowDialog(this) != DialogResult.OK)return;ocrDocument.Save(saveDlg.FileName, DocumentFormat.Pdf, null);MessageBox.Show($"OCR output saved to {saveDlg.FileName}");}}catch (Exception ex){MessageBox.Show(ex.ToString());}}

运行项目

按F5运行项目,或者选择“调试”->“开始调试”

如果步骤正确,应用程序即可运行,并能够加载和显示上述编解码器过滤器支持的任何图像。点击“另存为可搜索 PDF”按钮后,应用程序会识别已加载图像(例如 OCR1.TIF)中的文本,并将其保存到指定位置(保存为可搜索 PDF 文件)。

包起来

本教程演示了如何创建一个简单的 Windows Forms OCR 应用程序,该应用程序初始化 LEAD OCR 引擎,显示指定的输入文件,并将图像输出为可搜索的 PDF。

http://www.jsqmd.com/news/1353396/

相关文章:

  • 5分钟快速上手VinXiangQi:基于深度学习的智能象棋AI连线工具终极指南
  • Replit环境智能:AI如何实时生成CSS设计建议提升前端开发效率
  • 2026.8月漳州防水补漏维修,卫生间,阳台,外墙,屋顶,地下室漏水根治测评 - 超人防水
  • Input Leap终极指南:一套键鼠掌控多台电脑的免费开源神器
  • 2026报考提醒:合肥理工学校升学班,中考落榜生如何报名 - 最新资讯
  • 2026 年专业的土工布厂家推荐:****精选测评 - 思溯深度专栏
  • 5分钟快速上手:LX音乐源配置终极指南
  • 2026廊坊尼康回收就来毓典奢品汇18617962974全国连锁专业靠谱 廊坊尼康回收避坑干货:行情误区与同城交易指南 - 丽坤奢品汇
  • Fusion Pixel Font:像素字体多语言渲染架构深度解析与技术实现方案
  • iOS旧版应用归档指南:从抓取到安装的完整实践
  • 像素字体技术深度解析:Fusion Pixel Font的多语言与多尺寸实现方案
  • 筑宅安房屋修缮|百色防水补漏专业公司,解决雨季房屋渗水漏水 - 筑宅安
  • Unity开发Pico VR音频录制与实时回放:Android原生插件实战指南
  • 洛雪音乐音源配置终极指南:快速解锁全网无损音乐
  • Any-Listen:快速搭建个人私有音乐库的终极指南
  • 国家中小学智慧教育平台电子课本PDF下载工具:3分钟掌握离线教材获取技巧
  • 从“加油华为,加油Canada!”看AI指令工程:如何让机器听懂人话
  • 3分钟掌握Translumo:终极免费实时屏幕翻译工具完整指南
  • 2026上海房屋漏水维修哪家靠谱 亲测三家正规公司避坑指南 - 吉林同城获客
  • 5分钟极速配置:LX Music全网音乐聚合音源终极指南
  • 台州全屋漏水别瞎修!9大渗水场景一次讲透,省心修缮不踩坑 - 宅安选房屋修缮
  • 深度解析Cangaroo:开源CAN FD总线分析工具的完整实战指南
  • 终极指南:如何免费降级你的iPhone 5和iPad Air?LeetDown完整教程
  • FinalBurn Neo:专业级街机模拟器的高效配置与使用指南
  • 3个真实场景告诉你:为什么数学家都在用mathlib4验证数学证明
  • Harness Engineering:从AI代码生成到工程化驾驭LLM的实战指南
  • 5分钟搭建B站动态推送QQ机器人:告别错过UP主更新的烦恼
  • JMeter运行按钮无响应?从日志分析到线程转储的完整排查指南
  • 筑宅安房屋修缮|拉萨防水补漏专业公司,解决雨季房屋渗水漏水 - 筑宅安
  • Unity音频可视化实战:LASP插件与Spectrum To Texture组件深度解析