鳥毅公司的文件管理系統採用tiff檔案,由於某案子需要把某些檔案裏的幾篇抽出來轉成pdf,想一想用GDI+和.Net寫比較簡單。 先參考 A simple TIFF management class ,用他的TiffManager在JoinTiffImages這個method結合tiff檔時出現 "無效參數" (或Invalid Parameter )的錯誤訊息,是在 Image.SaveAdd 裏的 EncoderParameters 出錯。 查MSDN討論區有人問但都沒有解,最後查到 Save images into a multi-page TIFF file or add images to an existing TIFF file ,這位bijulsoni老大說: The most probable reason for this error is that the image on which you are trying to apply CCITT4 compression is not a bi-tonal image. The CCITT4 compression is applicable to bi-tonal images only. So I have given code for converting an image to a bi-tonal image. The code given in the sample application uses .NET GDI+ classes for storing images. 用人話說:Tiff的CCITT4 壓縮只能用在雙色影像檔(就是黑白啦),所以必須用bijulsoni寫的method轉成雙色。由於鳥毅還得做浮水印,所以只好用LZW壓成灰階(大約3~5倍大) 另外在轉檔的過程中,遇到記憶體不足。是因為Image物件的記憶體不會自動釋放,原因我不知 :P 我在不使用物件後加上 Bitmap.Dispose()就搞定。 所以TiffManager裏JoinTiffImages有些小地方要改: public void JoinTiffImages (string[] imageFiles, string outFile, EncoderVa...