我可以使用 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 似乎也不会)。 :-)
我有包含单个图像的 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 似乎也不会)。 :-)