【问题标题】:Convert Group 3 compressed TIFF to png or pdf in .net [closed]在 .net 中将 Group 3 压缩 TIFF 转换为 png 或 pdf [关闭]
【发布时间】:2011-10-31 06:36:49
【问题描述】:

我正在寻找一种方法来使用 c#.net 将 Group 3 压缩 TIFF 转换为 png 或最好的 pdf。

【问题讨论】:

  • @Oded - 我不知道,我可以从哪里开始尝试:-(

标签: c# .net png tiff


【解决方案1】:

为此尝试LibTiff.Net 库。

该库附带tiff2pdf utility(您需要自己构建它),这可能正是您所需要的。您甚至可以将实用程序的代码合并到您的应用程序中。

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

免责声明:我是该库的维护者之一。

【讨论】:

    【解决方案2】:

    TIFF 转 PNG:

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

    TIFF 转 PDF:

    iTextSharp 是一个很好的库。我什至在a google search 上找到了一些关于这个特定主题的文章。 This one 似乎是满足您的需求的好方法。

    【讨论】:

      【解决方案3】:

      (免责声明 - 我为 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);
      }
      

      【讨论】:

        【解决方案4】:

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-04-03
          • 1970-01-01
          • 2010-09-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多