2
我有一些tif文件,我想將其轉換爲單個長頁的多個頁面。即包括兩個分別爲8.5×11的頁面的文件將被轉換爲尺寸爲8.5×22的結果文件。有什麼方法可以刪除分頁符?刪除多頁tif中的分頁符做一個長頁
我是不是詢問如何將多個文件轉換爲單個文件。
我有一些tif文件,我想將其轉換爲單個長頁的多個頁面。即包括兩個分別爲8.5×11的頁面的文件將被轉換爲尺寸爲8.5×22的結果文件。有什麼方法可以刪除分頁符?刪除多頁tif中的分頁符做一個長頁
我是不是詢問如何將多個文件轉換爲單個文件。
我已經解決了這個問題。以下代碼的一大部分來自this page上的Scott Hanselman。
此C#函數採用的文件名,源圖像和保存位置爲它的TIFF輸出:
public static void RemovePageBreaks(string fileInput, string fileOutput)
{
using (Image image = Image.FromFile(fileInput))
using (MemoryStream m = new MemoryStream())
{
int width = image.Width;
int height = 0;
int pageCount = image.GetFrameCount(FrameDimension.Page);
height = image.Height * pageCount;
int pasteFrom = 0;
using (Bitmap compositeImage = new Bitmap(width, height))
using (Graphics compositeGraphics = Graphics.FromImage(compositeImage))
{
compositeGraphics.CompositingMode = System.Drawing.Drawing2D.CompositingMode.SourceCopy;
for (int page = 0; page < pageCount; page++)
{
image.SelectActiveFrame(FrameDimension.Page, page);
image.Save(m, image.RawFormat);
Rectangle rect = new Rectangle(0, pasteFrom, image.Width, image.Height);
compositeGraphics.DrawImageUnscaledAndClipped(image, rect);
pasteFrom += image.Height;
}
compositeImage.Save(fileOutput, System.Drawing.Imaging.ImageFormat.Tiff);
}
}
}
必須向System.Drawing中添加這個工作參考。 –