LEADTOOLS 是一个综合工具包的集合,用于将识别、文档、医疗、成像和多媒体技术整合到桌面、服务器、平板电脑、网络和移动解决方案中,是一项企业级文档自动化解决方案,有捕捉,OCR,OMR,表单识别和处理,PDF,打印捕获,归档,注释和显示功能。利用业界领先的图像处理技术,能够智能识别文件,可以用来识别任何类型的扫描或传真形式的图像。

LEADTOOLS 最新下载(qun:731259648)https://www.evget.com/product/782/download

本教程展示了如何使用System.IO.FileSystemWatcher该类在创建目录中的文件时引发事件,以及如何使用DocumentConverter该类将文件转换并保存为可搜索的 PDF 文件格式。

概述
概括 本教程介绍如何在 C# .NET Core 控制台应用程序中使用DocumentConverter和System.IO.FileSystemWatcher类将文件转换为可搜索的 PDF。
完成时间 30分钟
视觉工作室项目 下载教程项目 (2 KB)
平台 C# .NET Core 控制台应用程序
集成开发环境 视觉工作室 2019、2022
开发许可 下载 LEADTOOLS
用另一种语言试试
  • C# :.NET 框架(控制台)、. NET 核心

所需知识

在使用文件观察器转换文件 - C# .NET Core教程之前,通过查看添加引用和设置许可证教程熟悉创建项目的基本步骤。

创建项目并添加 LEADTOOLS 引用

从添加引用和设置许可证教程中创建的项目副本开始。如果您没有该项目,请按照该教程中的步骤创建它。

所需的参考取决于项目的目的。可以通过 NuGet 包添加引用。

本教程需要以下 NuGet 包:

  • Leadtools.Document.Sdk

有关您的应用程序需要哪些 DLL 文件的完整列表,请参阅要包含在您的应用程序中的文件。

设置许可证文件

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

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

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

笔记

添加 LEADTOOLS NuGet 引用和设置许可证在添加引用和设置许可证教程 中有更详细的介绍。

添加 FileSystemWatcher 和 DocumentConverter 代码

创建项目、添加参考和设置许可证后,就可以开始编码了。

解决方案资源管理器中,打开Program.cs。将以下语句添加到using顶部的块中Program.cs。

【C#】

using System;
using System.IO;
using Leadtools;
using Leadtools.Document;
using Leadtools.Document.Converter;
using Leadtools.Document.Writer;
using Leadtools.Ocr;

将以下全局变量添加到Program类中。

【C#】

static string OutputDirectory;
static DocumentConverter docConverter;

在 Main 方法中添加以下代码以初始化OcrEngine、DocumentConverter和FileSystemWatcher对象。

【C#】

static void Main(string[] args)
{
if (args.Length != 1)
{
Console.WriteLine("Usage: Convert-Files-With-a-File-Watcher.exe <directory>");
return;
}if (!SetLicense())
Console.WriteLine("Error setting license");
else
Console.WriteLine("License file set successfully");using (IOcrEngine OcrEngine = OcrEngineManager.CreateEngine(OcrEngineType.LEAD))
{
OcrEngine.Startup(null, null, null, @"C:\LEADTOOLS22\Bin\Common\OcrLEADRuntime");docConverter = new DocumentConverter();
docConverter.SetOcrEngineInstance(OcrEngine, false);
docConverter.SetDocumentWriterInstance(new DocumentWriter());string watchFolder = args[0];OutputDirectory = Path.Combine(watchFolder, "ConvertedToPDF");
if (!Directory.Exists(OutputDirectory))
Directory.CreateDirectory(OutputDirectory);Console.WriteLine($"Watching folder {watchFolder}..");using (FileSystemWatcher systemWatcher = new FileSystemWatcher())
{
systemWatcher.Path = watchFolder;
systemWatcher.NotifyFilter = NotifyFilters.LastAccess
| NotifyFilters.LastWrite
| NotifyFilters.FileName
| NotifyFilters.DirectoryName;systemWatcher.Filter = "*.*";systemWatcher.Created += SystemWatcher_Created;systemWatcher.EnableRaisingEvents = true;Console.WriteLine("Press 'q' to quit.");
while (Console.Read() != 'q') ;
}
}
}

笔记

因为IOcrEngine接口实现了IDisposable,所以确保它在using声明中以便正确处理。

创建一个名为 的新方法ConvertFile(string input, string output)。此方法将在FileSystemWatcher.Create事件处理程序内部调用。在新方法中添加以下代码,将指定文件目录中的新文件转换为PDF。

【C#】

private static void ConvertFile(string input, string output)
{
var inputDocument = DocumentFactory.LoadFromFile(input, new LoadDocumentOptions());DocumentConverterJobData jobData = new DocumentConverterJobData()
{
Document = inputDocument,
OutputDocumentFileName = output,
DocumentFormat = DocumentFormat.Pdf,
};var job = docConverter.Jobs.CreateJob(jobData);
docConverter.Jobs.RunJob(job);if (job.Errors.Count > 0)
foreach (var converterJobError in job.Errors)
Console.WriteLine($"Error During Conversion:{converterJobError.Error.Message}");
else
Console.WriteLine($"Converted {input} to PDF. Save location: {output}");
}

创建FileSystemWatcher.Create事件处理程序。将此事件处理程序挂接到Main()方法中,如上所示。将以下代码添加到事件处理程序以收集输入文件路径、创建输出文件路径并调用ConvertFile()上面创建的方法。

【C#】

static void SystemWatcher_Created(object sender, FileSystemEventArgs e)
{
string file = e.FullPath;
string output = Path.Combine(OutputDirectory, Path.ChangeExtension(e.Name, "pdf"));ConvertFile(file, output);
}

运行项目

需要在Application arguments中指定要添加 File Watcher 的目录。要添加目录,请选择项目 ->特性,然后导航到“调试”选项卡。

一旦指定了要将文件观察器添加到的目录,按F5或选择Debug -> Start Debugging运行项目。

如果正确执行了这些步骤,则会出现控制台,并且应用程序会侦听添加到指定文件目录的任何新文件。添加文件后,应用程序会抓取该文件并将其转换为可搜索的 PDF。

以上便是 使用 AWS Lambda 转换文档 ,如果您还有其他疑问,欢迎咨询我们或者加入我们官方技术交流群。

LEADTOOLS 入门教程: 使用文件观察器转换文件 - C# .NET Core相关推荐

  1. LEADTOOLS 入门教程: 使用 AWS Lambda 转换文档 - C# .NET Core

    LEADTOOLS 是一个综合工具包的集合,用于将识别.文档.医疗.成像和多媒体技术整合到桌面.服务器.平板电脑.网络和移动解决方案中,是一项企业级文档自动化解决方案,有捕捉,OCR,OMR,表单识别 ...

  2. LEADTOOLS 入门教程: 使用 OCR 将图像转换为可搜索的 PDF - C# .NET Core

    LEADTOOLS是一个综合工具包的集合,用于将识别.文档.医疗.成像和多媒体技术整合到桌面.服务器.平板电脑.网络和移动解决方案中,是一项企业级文档自动化解决方案,有捕捉,OCR,OMR,表单识别和 ...

  3. C#,入门教程(06)——解决方案资源管理器,代码文件与文件夹的管理工具

    上一篇: C#,入门教程(05)--Visual Studio 2022源程序(源代码)自动排版的功能动画图示https://blog.csdn.net/beijinghorn/article/det ...

  4. 【Unity3D入门教程】Unity着色器基本使用方法

    前言 "Shader即着色器,是一款运行在GPU上的程序,用来对三维物体进行着色处理.光与影的计算.纹理颜色的呈现等,从而将游戏引擎中的一个个作为抽象的几何数据存在的模型.场景和特效,以和真 ...

  5. LEADTOOLS 入门教程: 自动识别和处理表单 - C# .NET Core

    LEADTOOLS 是一个综合工具包的集合,用于将识别.文档.医疗.成像和多媒体技术整合到桌面.服务器.平板电脑.网络和移动解决方案中,是一项企业级文档自动化解决方案,有捕捉,OCR,OMR,表单识别 ...

  6. 医疗影像工具LEADTOOLS 入门教程: 在 Windows 服务器上部署 LEADTOOLS 文档服务 - .NET Framework

    LEADTOOLS是一个综合工具包的集合,用于将识别.文档.医疗.成像和多媒体技术整合到桌面.服务器.平板电脑.网络和移动解决方案中,是一项企业级文档自动化解决方案,有捕捉,OCR,OMR,表单识别和 ...

  7. Unix/Linux环境C编程入门教程(41) C语言库函数的文件操作详解

     上一篇博客我们讲解了如何使用Linux提供的文件操作函数,本文主要讲解使用C语言提供的文件操作的库函数. 1.函数介绍 fopen(打开文件) 相关函数 open,fclose 表头文件 #in ...

  8. Linux小小白入门教程(三):Linux文件夹

    学习一个操作系统的使用,最先应该搞清楚的是他的C盘.D盘.E盘. 一.Linux的文件夹 Linux和Windows最大的区别是,Windows有C盘.D盘的概念,但是在Linux上没有盘符的概念.L ...

  9. lol比赛服 服务器文件,LOL比赛服转换文件

    OL比赛服转换文件是一款可以将电脑中安装的lol英雄联盟客户端替换成比赛服,从而避免专门下载比赛服安装的麻烦,用户在使用此软件前请一定要仔细阅读下面的操作,防止游戏无法正常运行. 使用说明 1.把文件 ...

最新文章

  1. c语言输入学生成绩q退出,哭诉、拜求C语言学生成绩管理系统
  2. HashMap实现原理
  3. 剑指offer 面试题三 找出数组中重复的数字
  4. English trip M1 - AC6 How to make salad? Teacher:Patrick
  5. SVM 透彻理解与分析
  6. Codeforces 803E--Roma and Poker (DP)
  7. 《硝烟中的Scrum和XP》书摘(1)
  8. asp.net调用js方法小结
  9. JPA基本注解的使用
  10. BZOJ3711 PA2014Druzyny(动态规划+cdq分治+线段树)
  11. JAVA之day3对象
  12. 陕西师范大学远程教育学院计算机应用基础,陕西师范大学远程教育学院计算机应用基础机考备考试题.doc...
  13. 算法分析之二叉树遍历
  14. php中没有 simhei.ttf,linux虚拟主机jpgraph找不到simhei.ttf字体
  15. html5在线制作网站模板,快速建站 20个设计优秀的HTML网站模板(免费)
  16. 中国省份名称的映射字典
  17. 【量化课堂】风险模型
  18. 微信接入验证 php,php版微信公共平台开发者认证实例
  19. Excel 添加复选框
  20. 如何删除电脑计算机用户账户,怎么删除电脑账户密码 如何删除电脑开机账户密码...

热门文章

  1. 计算机启动时桌面没显示器,电脑开机显示器不亮,教您电脑显示器不亮怎么解决...
  2. OCR 开源软件 Tesseract 的下载和入门使用
  3. ubuntu 16字体安装
  4. Nikon Ai AF 20mm F2.8D
  5. StyleGAN v1 :用于生成高质量图像数据的生成对抗方法
  6. RSA 非对称加密算法详细介绍
  7. SpringBoot服务启动慢排查思路
  8. php 表情怎么存储位置,php保存emoji表情
  9. 硬盘提示拒绝访问要如何找回数据
  10. c语言程序设计中 编写韩束,详解C语言函数