LEADTOOLS使用教程:將多頁圖像文件拆分為單獨(dú)的文件
在上一篇文章中,我們分享了一個(gè)有關(guān)《如何從多個(gè)圖像創(chuàng)建多頁文件》的教程。但是,有時(shí)開發(fā)人員希望將多頁文件拆分為單獨(dú)的文件。在辦公室工作區(qū)中,總是需要打印和簽名。無論是用于批準(zhǔn)想法還是出于法律目的,這些文檔通常都超過一頁。簽名者不會(huì)只打印一頁文檔就打印出每一頁,那只會(huì)浪費(fèi)時(shí)間和紙張。拆分文檔將為您提供需要簽名的一頁。使用LEADTOOLS Imaging庫中的RasterCodecs保存方法可以輕松地將文件分開。
LEADTOOLS Imaging包括這些產(chǎn)品:LEADTOOLS Imaging Pro、LEADTOOLS Document Imaging Suite、LEADTOOLS Medical Imaging Suite等等。
分割多頁文件所需要做的一切工作是,首先獲取頁面總數(shù),其次,遍歷每個(gè)頁面并將其保存為多種LEADTOOLS支持的文件格式之一。下面的代碼將向您展示如何進(jìn)行拆分的核心代碼?;騾⒖嘉覀兺暾姆植浇坛蹋私馊绾螌⒍囗搱D像文件拆分為單獨(dú)的文件。(該分步教程如文章后面內(nèi)容)
// 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); } }
將多頁圖像文件拆分為單獨(dú)的文件-控制臺(tái)C#
本教程說明如何創(chuàng)建使用RasterCodecs類的C#Windows控制臺(tái)應(yīng)用程序,以將多頁圖像的每一頁保存到單獨(dú)的圖像文件中。
創(chuàng)建項(xiàng)目并添加LEADTOOLS參考
創(chuàng)建一個(gè)新的C#Windows Console項(xiàng)目,并添加以下必要的LEADTOOLS引用。
所需的參考取決于項(xiàng)目的目的。引用可以通過以下兩種方法中的一種或另一種添加(但不能同時(shí)添加)。對(duì)于此項(xiàng)目,需要以下參考:
如果使用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
設(shè)置許可證文件
許可證可解鎖項(xiàng)目所需的功能。必須在調(diào)用任何工具包功能之前進(jìn)行設(shè)置。
有兩種類型的運(yùn)行時(shí)許可證:
- 評(píng)估許可證,在下載評(píng)估工具包時(shí)獲得。它允許評(píng)估工具包。
- 部署許可證。
添加分割圖像代碼
創(chuàng)建項(xiàng)目,添加參考和許可證集后,即可開始編碼。
在解決方案資源管理器中打開Program.cs,然后使用Leadtools添加; 并使用Leadtools.Codecs; 聲明到頂部的using塊。
在Program類中添加一個(gè)名為SplitFile(string inputFile)的新方法,并在SetLicense()之后在Main方法中調(diào)用它。
注意:要嘗試以下代碼,請(qǐng)使用多頁文件,例如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); } } }
因?yàn)镽asterCodecs類實(shí)現(xiàn)IDisposable,所以請(qǐng)確保它在using語句中以進(jìn)行適當(dāng)處理。
運(yùn)行項(xiàng)目
按F5或選擇Debug- > Start Debugging運(yùn)行項(xiàng)目。
如果正確執(zhí)行了這些步驟,則該應(yīng)用程序?qū)⑦\(yùn)行并創(chuàng)建新文件。 merged.tif的每個(gè)頁面都應(yīng)創(chuàng)建為PNG圖像文件,并在名稱后附加頁碼。
相關(guān)內(nèi)容推薦: