翻譯|使用教程|編輯:莫成敏|2020-06-03 15:11:43.453|閱讀 262 次
概述:分割多頁(yè)文件所需要做的一切工作是,首先獲取頁(yè)面總數(shù),其次,遍歷每個(gè)頁(yè)面并將其保存為多種LEADTOOLS支持的文件格式之一。下面的代碼將向您展示如何進(jìn)行拆分的核心代碼。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
在上一篇文章中,我們分享了一個(gè)有關(guān)《如何從多個(gè)圖像創(chuàng)建多頁(yè)文件》的教程。但是,有時(shí)開發(fā)人員希望將多頁(yè)文件拆分為單獨(dú)的文件。在辦公室工作區(qū)中,總是需要打印和簽名。無(wú)論是用于批準(zhǔn)想法還是出于法律目的,這些文檔通常都超過(guò)一頁(yè)。簽名者不會(huì)只打印一頁(yè)文檔就打印出每一頁(yè),那只會(huì)浪費(fèi)時(shí)間和紙張。拆分文檔將為您提供需要簽名的一頁(yè)。使用LEADTOOLS Imaging庫(kù)中的RasterCodecs保存方法可以輕松地將文件分開。
LEADTOOLS Imaging包括這些產(chǎn)品:LEADTOOLS Imaging Pro、LEADTOOLS Document Imaging Suite、LEADTOOLS Medical Imaging Suite等等。
分割多頁(yè)文件所需要做的一切工作是,首先獲取頁(yè)面總數(shù),其次,遍歷每個(gè)頁(yè)面并將其保存為多種LEADTOOLS支持的文件格式之一。下面的代碼將向您展示如何進(jìn)行拆分的核心代碼。或參考我們完整的分步教程,了解如何將多頁(yè)圖像文件拆分為單獨(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); } }
將多頁(yè)圖像文件拆分為單獨(dú)的文件-控制臺(tái)C#
本教程說(shuō)明如何創(chuàng)建使用RasterCodecs類的C#Windows控制臺(tái)應(yīng)用程序,以將多頁(yè)圖像的每一頁(yè)保存到單獨(dú)的圖像文件中。
創(chuàng)建項(xiàng)目并添加LEADTOOLS參考
創(chuàng)建一個(gè)新的C#Windows Console項(xiàng)目,并添加以下必要的LEADTOOLS引用。
所需的參考取決于項(xiàng)目的目的。引用可以通過(guò)以下兩種方法中的一種或另一種添加(但不能同時(shí)添加)。對(duì)于此項(xiàng)目,需要以下參考:
如果使用NuGet引用,則本教程需要以下NuGet軟件包:
如果使用本地DLL引用,則需要以下DLL:
本地DLL位于 <INSTALL_DIR>\LEADTOOLS 20\Bin\Dotnet4\x64
設(shè)置許可證文件
許可證可解鎖項(xiàng)目所需的功能。必須在調(diào)用任何工具包功能之前進(jìn)行設(shè)置。
有兩種類型的運(yùn)行時(shí)許可證:
添加分割圖像代碼
創(chuàng)建項(xiàng)目,添加參考和許可證集后,即可開始編碼。
在解決方案資源管理器中打開Program.cs,然后使用Leadtools添加; 并使用Leadtools.Codecs; 聲明到頂部的using塊。
在Program類中添加一個(gè)名為SplitFile(string inputFile)的新方法,并在SetLicense()之后在Main方法中調(diào)用它。
注意:要嘗試以下代碼,請(qǐng)使用多頁(yè)文件,例如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語(yǔ)句中以進(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è)面都應(yīng)創(chuàng)建為PNG圖像文件,并在名稱后附加頁(yè)碼。
相關(guān)內(nèi)容推薦:
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: