2015-10-15 94 views
-2

我有包含單個圖像的TIFF文件。 我需要能夠將它們轉換爲我們的Java應用程序中的PNG。幾乎每個搜索都說要使用JAI - 這似乎不再存在。我可以使用iTextpdf lib將TIFF轉換爲PNG嗎?

我們目前在我們的系統中已經有了itextpdf庫,看起來它可以讀取TIFF並編寫PNG。

任何人都知道如何?或者可以將我指向正確的文檔部分? 我看到有一個TIFFImage類,它看起來像它可以讀取一個TIFF和一個可以寫PNG的PNGWriter - 但我一直無法弄清楚如何獲取TIFFImage(一個Image對象)的結果,並將這些數據傳遞給PNGWriter。

+0

iText是PDF文件創建,操作和分析的庫。這意味着它有許多類專注於解析圖像並將圖像序列化爲某些位圖圖像格式。但這並不意味着這些功能可用於位圖圖像格式轉換。 – mkl

回答

1

您可以使用標準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的這個(既不看起來布魯諾洛瓦吉)。 :-)

+0

PS:如果當前版本(3.1.2)無法讀取您的TIFF文件,請嘗試從源代碼構建3.2-SNAPSHOT,因爲我最近添加了不少新的壓縮和其他功能。 3.2版本即將發佈。 – haraldK