LEADTOOLS使用教程:将多页图像文件拆分为单独的文件
在上一篇文章中,我们分享了一个有关《如何从多个图像创建多页文件》的教程。但是,有时开发人员希望将多页文件拆分为单独的文件。在办公室工作区中,总是需要打印和签名。无论是用于批准想法还是出于法律目的,这些文档通常都超过一页。签名者不会只打印一页文档就打印出每一页,那只会浪费时间和纸张。拆分文档将为您提供需要签名的一页。使用LEADTOOLS Imaging库中的RasterCodecs保存方法可以轻松地将文件分开。
LEADTOOLS Imaging包括这些产品:LEADTOOLS Imaging Pro、LEADTOOLS Document Imaging Suite、LEADTOOLS Medical Imaging Suite等等。
分割多页文件所需要做的一切工作是,首先获取页面总数,其次,遍历每个页面并将其保存为多种LEADTOOLS支持的文件格式之一。下面的代码将向您展示如何进行拆分的核心代码。或参考我们完整的分步教程,了解如何将多页图像文件拆分为单独的文件。(该分步教程如文章后面内容)
// Split a Multipage Image into Single Files using (RasterCodecs codecs = new RasterCodecs()) { int totalPages = codecs.GetTotalPages(inputFile); for (int page = 1; page <= totalPages; page++) { string outputFile = $@"C:\Users\Public\Documents\LEADTOOLS Images {System.IO.Path.GetFileNameWithoutExtension(inputFile)}_page{page}.png"; using (RasterImage image = codecs.Load(inputFile, page)) codecs.Save(image, outputFile, RasterImageFormat.Png, 0); } }
将多页图像文件拆分为单独的文件-控制台C#
本教程说明如何创建使用RasterCodecs类的C#Windows控制台应用程序,以将多页图像的每一页保存到单独的图像文件中。
创建项目并添加LEADTOOLS参考
创建一个新的C#Windows Console项目,并添加以下必要的LEADTOOLS引用。
所需的参考取决于项目的目的。引用可以通过以下两种方法中的一种或另一种添加(但不能同时添加)。对于此项目,需要以下参考:
如果使用NuGet引用,则本教程需要以下NuGet软件包:
- Leadtools.Formats.Raster.Common
如果使用本地DLL引用,则需要以下DLL:
本地DLL位于 <INSTALL_DIR>\LEADTOOLS 20\Bin\Dotnet4\x64
- Leadtools.dll
- Leadtools.Codecs.dll
- Leadtools.Codecs.Png.dll
- Leadtools.Codecs.Tif.dll
设置许可证文件
许可证可解锁项目所需的功能。必须在调用任何工具包功能之前进行设置。
有两种类型的运行时许可证:
- 评估许可证,在下载评估工具包时获得。它允许评估工具包。
- 部署许可证。
添加分割图像代码
创建项目,添加参考和许可证集后,即可开始编码。
在解决方案资源管理器中打开Program.cs,然后使用Leadtools添加; 并使用Leadtools.Codecs; 声明到顶部的using块。
在Program类中添加一个名为SplitFile(string inputFile)的新方法,并在SetLicense()之后在Main方法中调用它。
注意:要尝试以下代码,请使用多页文件,例如TIFF或PDF。
C#
// Using block at the top using System; using System.IO; using Leadtools; using Leadtools.Codecs;
C#
static void Main(string[] args) { SetLicense(); string multipageFile = @"C:\Users\Public\Documents\LEADTOOLS Images\merged.tif"; SplitFile(multipageFile); }
C#
static void SplitFile(string inputFile) { using (RasterCodecs codecs = new RasterCodecs()) { int totalPages = codecs.GetTotalPages(inputFile); for (int page = 1; page <= totalPages; page++) { string outputFile = $@"C:\Users\Public\Documents\LEADTOOLS Images\{Path.GetFileNameWithoutExtension(inputFile)}_page{page}.png"; using (RasterImage image = codecs.Load(inputFile, page)) codecs.Save(image, outputFile, RasterImageFormat.Png, 0); } } }
因为RasterCodecs类实现IDisposable,所以请确保它在using语句中以进行适当处理。
运行项目
按F5或选择Debug- > Start Debugging运行项目。
如果正确执行了这些步骤,则该应用程序将运行并创建新文件。 merged.tif的每个页面都应创建为PNG图像文件,并在名称后附加页码。
相关内容推荐: