本教程展示了如何创建一个新的LEADDocument加载和合并文件从一个目录或流在c# Windows控制台应用程序使用LEADTOOLS SDK。
概述 | |
---|---|
总结 | 本教程介绍了如何合并文档在c#中使用LEADDocument Windows控制台应用程序 |
完成时间 | 30分钟 |
Visual Studio项目 | 下载教程项目(3 KB) |
平台 | c# Windows控制台应用程序 |
IDE | Visual Studio 2017中,2019年 |
开发许可 | 下载LEADTOOLS |
试试用另一种语言 |
熟悉基本的步骤创建一个项目的审查添加引用和设置一个许可证教程,在工作之前合并文件LEADDocument - c#控制台教程。
从项目中创建的副本添加引用和设置一个许可证教程。如果你没有这个项目,按照这个教程中的步骤创建它。
的引用需要取决于项目的目的。引用可以通过添加一个或另一个下面的两种方法(但不是全部)。对于这个项目,还需要以下引用:
如果使用NuGet引用,本教程需要以下NuGet包:
Leadtools.Document.Sdk
如果使用本地DLL的引用,下面的DLL是必要的。dll位于< INSTALL_DIR > \ LEADTOOLS22 \ Bin \ Dotnet4 \ x64
:
Leadtools.dll
Leadtools.Codecs.dll
Leadtools.Codecs.Cmp.dll
Leadtools.Codecs.Tif.dll
Leadtools.Document.dll
Leadtools.Document.Converter.dll
Leadtools.Document.Pdf.dll
Leadtools.Document.Writer.dll
Leadtools.Pdf.dll
Leadtools.Ocr.dll
Leadtools.Ocr.LEADEngine.dll
对于一个完整的列表的应用程序所需的DLL文件,请参考文件包含在您的应用程序。
许可解锁项目需要的特性。它必须设置工具箱函数被调用之前。详情,包括教程为不同的平台,请参考设置一个运行时许可。
有两种类型的运行时许可证:
请注意
添加LEADTOOLS NuGet和本地引用设置许可中会详细介绍添加引用和设置一个许可证教程。
与项目创建、添加引用,许可,可以开始编码。
在解决方案资源管理器,打开Program.cs
。添加一个新方法MemoryStream MergePdfFiles(字符串dir, IOcrEngine ocrEngine)
返回的流合并PDF文档。添加以下代码来创建一个新的LEADDocument,合并PDF文档,收集流从创建PDF文档。
/ /添加到使用块
使用系统;
使用先;
使用Leadtools;
使用Leadtools.Document;
使用Leadtools.Document.Converter;
使用Leadtools.Document.Writer;
使用Leadtools.Ocr;
静态无效主要(字符串[]参数)
{
字符串文件夹=@“C: \ LEADTOOLS22 \ Resources \图片”;
SetLicense ();
使用(IOcrEngine ocrEngine = OcrEngineManager.CreateEngine (OcrEngineType.LEAD))
{
ocrEngine.Startup (零,零,零,@“C: \ LEADTOOLS22 \ Bin \常见\ OcrLEADRuntime”);
MemoryStream = MergePdfFiles女士(文件夹,ocrEngine);
ms.Position = 0;
File.WriteAllBytes (@“C: \ LEADTOOLS22 \资源\ \ merged.pdf图像”ms.GetBuffer ());
}
Console.WriteLine (“按任意键退出……”);
Console.ReadKey ();
}
静态MemoryStream MergePdfFiles (字符串dir, IOcrEngine ocrEngine)
{
DocumentWriter DocumentWriter =新DocumentWriter ();
/ /获取当前PDF选项
PdfDocumentOptions pdfOptions = documentWriter.GetOptions (DocumentFormat.Pdf)作为PdfDocumentOptions;
/ /设置选项
documentWriter.SetOptions (DocumentFormat。Pdf, pdfOptions);
pdfOptions。ImageOverText =真正的;
varoutputStream =新MemoryStream ();
varcreateOptions =新CreateDocumentOptions ();
LEADDocument virtualDocument = DocumentFactory.Create (createOptions);
virtualDocument。AutoDisposeDocuments =真正的;
virtualDocument。Name =“虚拟”;
字符串[]= Directory.GetFiles (dir,文件“* . pdf”);
foreach(var文件在文件)
{
LEADDocument childDocument = DocumentFactory.LoadFromFile(文件,新LoadDocumentOptions ());
virtualDocument.Pages.AddRange (childDocument.Pages);
}
/ /转换virtualDocument使用DocumentConverter完成文档和收集流
DocumentConverter docConverter =新DocumentConverter ();
docConverter.SetOcrEngineInstance (ocrEngine假);
docConverter.SetDocumentWriterInstance (documentWriter);
varjobData =新DocumentConverterJobData
{
文档= virtualDocument,
OutputDocumentStream = outputStream,
DocumentFormat = Leadtools.Document.Writer.DocumentFormat.Pdf
};
var工作= docConverter.Jobs.CreateJob (jobData);
docConverter.Jobs.RunJob(工作);
如果(工作。状态= = DocumentConverterJobStatus.Success)
{
Console.WriteLine ($“成功了!”);
}
其他的
{
Console.WriteLine (“{0}错误”,job.Status);
foreach(var错误在job.Errors)
{
Console.WriteLine (“{0},{1},{2}”、错误。操作,错误。InputDocumentPageNumber error.Error.Message);
}
}
返回outputStream;
}
请注意
从孩子文档页面添加到一个虚拟的文档没有完成。这意味着从孩子文档源页面仍然只存在于他们最初加载位置。虚拟文件只包含其中每个页面的信息存在以及其他关于页面的元数据和文件。——可以显示在一个虚拟的文档文档查看器。——或者虚拟文档可以完成,可以通过创建一个新的文档文档转换器见本教程。这将创建一个合法的文档,其中包含源页的拷贝在自己的文档结构。
按运行项目F5,或通过选择调试- >开始调试。
如果是正确的步骤,应用程序运行并创建一个新的虚拟LEADDocument。应用程序然后需要每一个PDF文件从一个给定的目录,并将每一个PDF文件添加到虚拟LEADDocument。最后,它“总结”的虚拟文档发送到文档转换器。
本教程展示了如何创建一个新的LEADDocument, LEADDocument添加PDF文档,收集新LEADDocument流。还介绍了如何使用LEADDocument
和DocumentConverter
类。