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

问题描述:

我搜索一种将c3组压缩的TIFF转换为png的方式,或者使用c#.net将PDF转换为pdf。将第3组压缩的TIFF转换为png或pdf中的.net

+0

@Oded - 我不知道,在那里我可以开始尝试:-( – BennoDual

尝试LibTiff.Net库为此。

该库附带tiff2pdf utility,可能确实是你需要的。您甚至可以将该实用程序的代码合并到您的应用程序中。

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

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

TIFF至PNG:

System.Drawing.Image将允许简单地通过加载TIFF作为一个正常的图像(如Image.FromFileImage.FromStream等),然后保存它,你打开一个组3 TIFF并保存为PNG使用Image.Save方法和ImageFormat.Png参数。由于TIFF差别很大,有时候我遇到了一个模糊的TIFF,System.Drawing不会打开,但这是不寻常的。如果发生这种情况,您需要从开源中找出第三方库(例如iText有一个复杂的图像库),或者有商业选项,例如Lead Tools或Atalasoft。

TIFF到PDF:

iTextSharp是这样一个伟大的图书馆。我甚至在a google search上发现了一些关于这个特定主题的文章。 This one似乎是一个很好的开始为您的需求。

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

一个男人创造的Ghostscript的API的包装: http://www.mattephraim.com/blog/2009/01/06/a-simple-c-wrapper-for-ghostscript/

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

为TIFF为PDF格式:

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

为TIFF至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); 
}