2012-11-09 91 views
2

我有一些tif文件,我想將其轉換爲單個長頁的多個頁面。即包括兩個分別爲8.5×11的頁面的文件將被轉換爲尺寸爲8.5×22的結果文件。有什麼方法可以刪除分頁符?刪除多頁tif中的分頁符做一個長頁

我是不是詢問如何將多個文件轉換爲單個文件。

回答

2

我已經解決了這個問題。以下代碼的一大部分來自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); 
       } 

      } 
     } 
+0

必須向System.Drawing中添加這個工作參考。 –