将组3压缩的TIFF转换为.net中的png或pdf

时间:2011-08-20 16:22:39

标签: c# .net png tiff

我搜索了一种方法,将第3组压缩的TIFF转换为png或使用c#.net转换为pdf的最佳方式。

4 个答案:

答案 0 :(得分:1)

TIFF到PNG:

System.Drawing.Image将允许您打开Group3 TIFF并将其保存为PNG,只需将TIFF作为普通图片加载(例如Image.FromFileImage.FromStream等),然后保存它使用Image.Save方法和ImageFormat.Png参数。由于TIFF变化很大,有时我遇到了一个模糊的TIFF,System.Drawing无法打开,但这是不寻常的。如果发生这种情况,您需要从opensource中寻找第三方库(例如iText有一个复杂的图像库),或者有商业选项,如Lead Tools或Atalasoft。

TIFF到PDF:

iTextSharp是一个很棒的图书馆。我甚至在a google search找到了一些关于这个特定主题的文章。 This one似乎是一个很好的开始,以满足您的需求。

答案 1 :(得分:1)

请尝试使用LibTiff.Net库。

该库附带tiff2pdf utility,可能完全符合您的需要。您甚至可以在应用程序中包含该实用程序的代码。

库和实用程序是免费的开源软件。许可证(新BSD许可证)允许任何修改。您可以在商业应用程序中使用库和实用程序。

免责声明:我是图书馆的维护者之一。

答案 2 :(得分:1)

(免责声明 - 我为Atalasoft工作) 如果你使用dotImage,两次转换都是微不足道的。

for tiff to pdf:

using (outputStream = new FileStream(pathToPdf, FileMode.Create)) {
   PdfEncoder encoder = new PdfEncoder();
   encoder.Save(outputStream, new FileSystemImageSource(pathToTiff, true), null); // true = do all pages
}

for tiff to png:

FileSystemImageSource source = new FileSystemImageSource(pathToTiff, true);
int page = 0;
while (source.HasMoreImages()) {
   AtalaImage image = source[page];
   using (FileStream stm = new FileStream("output_page_" + page + ".png", FileMode.Create)) {
       PngEncoder encoder = new PngEncoder();
       encoder.Save(stm, image, null);
   }
   source.Release(image);
}

答案 3 :(得分:0)

使用ghostscript,我曾经从PDF中提取图像并创建缩略图,lib也可以从图像转换为PDF,它是开源的。

一个人为ghostscript API创建一个包装器: http://www.mattephraim.com/blog/2009/01/06/a-simple-c-wrapper-for-ghostscript/