我可以使用 iTextpdf 库将 TIFF 转换为 PNG 吗?

Can i Use iTextpdf lib to convert a TIFF to a PNG?

我有包含单个图像的 TIFF 文件。 我需要能够在我们的 Java 应用程序中将它们转换为 PNG。 几乎每个搜索都说使用 JAI - 它似乎不再存在了。

我们目前的系统中有 itextpdf 库,看起来它可以读取 TIFF 并写入 PNG。

有人知道怎么做吗?或者可以指出文档的正确部分吗? 我看到有一个 TIFFImage class 看起来可以读取 TIFF,还有一个 PNGWriter 可以写入 PNG - 但我一直无法弄清楚如何获取 TIFFImage 的结果(一个图像对象)并将该数据传递给 PNGWriter。

您可以使用标准 ImageIO 和我的 TwelveMonkeys ImageIO TIFF plugin 读取 TIFF 并将其写回 PNG。在大多数情况下,该插件可以直接替代 JAI ImageIO TIFF 插件。

安装插件后,你的TIFF是单页的,你只关心像素数据,代码可以简单地是:

BufferedImage image = ImageIO.read(tiffFile);
if (!ImageIO.write(image, "PNG", pngFile)) {
    // Handle file not written
}

我不建议为此使用 iText(Bruno Lowagie 似乎也不会)。 :-)