电子政务网站建设的实验体会,服务器租赁合同范本,办公系统,专做婚宴用酒是网站LEADTOOLS 是一个综合工具包的集合#xff0c;用于将识别、文档、医疗、成像和多媒体技术整合到桌面、服务器、平板电脑、网络和移动解决方案中#xff0c;是一项企业级文档自动化解决方案#xff0c;有捕捉#xff0c;OCR#xff0c;OMR#xff0c;表单识别和处理#…LEADTOOLS 是一个综合工具包的集合用于将识别、文档、医疗、成像和多媒体技术整合到桌面、服务器、平板电脑、网络和移动解决方案中是一项企业级文档自动化解决方案有捕捉OCROMR表单识别和处理PDF打印捕获归档注释和显示功能。利用业界领先的图像处理技术能够智能识别文件可以用来识别任何类型的扫描或传真形式的图像。
LEADTOOLS 最新下载qun731259648https://www.evget.com/product/782/download
本教程介绍如何使用 LEADTOOLS SDK 在 C# Windows 控制台应用程序中提取包含在 PDF 文件中的附件。
概括本教程介绍如何在 C# Windows 控制台应用程序中提取 PDF 附件并将它们转换为 PNG 文件。完成时间30分钟视觉工作室项目下载教程项目 (3 KB)平台C# Windows 控制台应用程序集成开发环境视觉工作室 2017、2019开发许可LEADTOOLS用另一种语言试试 C#. NET Framework控制台. NET 6爪哇
所需知识
在学习从 PDF 中提取附件 - 控制台 C#教程之前通过查看添加引用和设置许可证教程熟悉创建项目的基本步骤。
创建项目并添加 LEADTOOLS 引用
从添加引用和设置许可证教程中创建的项目副本开始。如果您没有该项目请按照该教程中的步骤创建它。
所需的参考取决于项目的目的。可以通过以下两种方法之一但不能同时使用添加引用。
如果使用 NuGet 引用本教程需要以下 NuGet 包
Leadtools.Document.Sdk
如果使用本地 DLL 引用则需要以下 DLL。
DLL 位于INSTALL_DIR\LEADTOOLS22\Bin\Dotnet4\x64
Leadtools.dllLeadtools.Caching.dllLeadtools.Codecs.dllLeadtools.Codecs.Cmp.dllLeadtools.Codecs.Png.dllLeadtools.Document.dllLeadtools.Document.Converter.dllLeadtools.Document.Pdf.dllLeadtools.Document.Raster.dllLeadtools.Document.Writer.dllLeadtools.Pdf.dll
有关您的应用程序需要哪些 DLL 文件的完整列表请参阅要包含在您的应用程序中的文件。
设置许可证文件
许可证解锁项目所需的功能。它必须在调用任何工具包函数之前设置。有关详细信息包括针对不同平台的教程请参阅设置运行时许可证。
有两种类型的运行时许可证
评估许可证在下载评估工具包时获得。它允许评估工具包。部署许可证。如果需要部署许可证文件和开发人员密钥请参阅获取许可证。
笔记
添加 LEADTOOLS NuGet 和本地引用以及设置许可证在添加引用和设置许可证教程中有更详细的介绍。
添加PDF附件提取和转换代码
创建项目、添加参考和设置许可证后就可以开始编码了。
在解决方案资源管理器中打开Program.cs。将以下语句添加到顶部的 using 块中Program.cs
[C] using System;
using System.Collections.Generic;
using System.IO;
using Leadtools;
using Leadtools.Caching;
using Leadtools.Codecs;
using Leadtools.Document;
using Leadtools.Document.Converter;
using Leadtools.Document.Writer; 将以下全局变量添加到类中Program。
[C] static FileCache cache;
static string OutputDir Output; Program.cs在named中创建一个新方法ExtractPDFAttachments()。在set license调用下调用方法中的方法Main()如下图。
[C] static void Main(string[] args)
{ try { SetLicense(); ExtractPDFAttachments(); } catch (Exception ex) { Console.WriteLine(ex.ToString()); } Console.WriteLine(Press any key to exit...); Console.ReadKey(true);
} 将下面的代码添加到ExtractPDFAttachments()方法中以从给定的 PDF 中提取附件。 static void ExtractPDFAttachments()
{ cache new FileCache { CacheDirectory \\cache }; ListLEADDocument documents new ListLEADDocument(); if (!Directory.Exists(OutputDir)) Directory.CreateDirectory(OutputDir); LoadDocumentOptions options new LoadDocumentOptions { Cache cache, LoadAttachmentsMode DocumentLoadAttachmentsMode.AsAttachments }; LEADDocument document DocumentFactory.LoadFromFile(FILE PATH TO PDF WITH ATTACHMENTS, options); if (document.Pages.Count 0) documents.Add(document); foreach (DocumentAttachment attachment in document.Attachments) { LoadAttachmentOptions attachmentOptions new LoadAttachmentOptions { AttachmentNumber attachment.AttachmentNumber, }; LEADDocument loadDocument document.LoadDocumentAttachment(attachmentOptions); documents.Add(loadDocument); } ConvertDocuments(documents, RasterImageFormat.Png);
} 在Program类中添加一个名为 的新方法ConvertDocuments(IEnumerableLEADDocument documents, RasterImageFormat imageFormat)。该方法将在方法内部调用ExtractPDFAttachments()如上所示。将下面的代码添加到ConvertDocuments()将 PDF 附件转换为 PNG 文件的方法中。 static void ConvertDocuments(IEnumerableLEADDocument documents, RasterImageFormat imageFormat)
{ DocumentConverter converter new DocumentConverter(); foreach (LEADDocument document in documents) { string name string.IsNullOrEmpty(document.Name) ? DocumentAttachment : document.Name; string outputFile Path.Combine(OutputDir, ${name}.{RasterCodecs.GetExtension(imageFormat)}); int count 1; while (File.Exists(outputFile)) outputFile Path.Combine(OutputDir, ${name}({count}).{RasterCodecs.GetExtension(imageFormat)}); DocumentConverterJobData jobData new DocumentConverterJobData { Document document, Cache cache, DocumentFormat DocumentFormat.User, RasterImageFormat imageFormat, RasterImageBitsPerPixel 0, OutputDocumentFileName outputFile, }; DocumentConverterJob job converter.Jobs.CreateJob(jobData); converter.Jobs.RunJob(job); if (job.Errors.Count 0) foreach (var error in job.Errors) Console.WriteLine($Error during conversion: {error.Error.Message}\n); else Console.WriteLine($Successfully Converted to {outputFile}...\n); }
} 运行项目
按F5或选择Debug - Start Debugging运行项目。
如果正确执行了这些步骤应用程序将运行并将给定 PDF 文件中的所有附件转换为单独的 PNG 文件。
以上便是从 PDF 中提取附件 - 控制台 C#如果您还有其他疑问欢迎咨询我们或者加入我们官方技术交流群。