•背景:將顏色帶應用於PDF中的TIFF
我們正在開發法新社至PDF工具。它涉及將AFP(高級函數處理)文件轉換爲PDF。
•詳細的問題陳述:
我們有嵌入式TIFF圖像的AFP文件。圖像對象在功能設置45描述,表示有點像這樣 -
Image Content Begin Tile Image Encoding Parameter – TIFF LZW Begin Transparency Mask Image Encoding Parameter – G4MMR Image Data Elements End Transparency Mask Image Data Elements (IDE Size 32) – 4 bands: CMYK End Tile End Image Content
我們希望這個平鋪圖像寫入到PDF無論是使用Java/iText的API。到目前爲止,我們可以編寫G4MMR圖像。但是,我們無法將CMYK色帶數據(藍色)應用於此圖像。
•解決方案嘗試:
的代碼編寫G4MMR圖像會如下 -
saveAsTIFF方法在這裏給出 - http://www.jpedal.org/PDFblog/2011/08/ccitt-encoding-in-pdf-files-converting-pdf-ccitt-data-into-a-tiff/ 如前所述,我們是不是可以申請CMYK 4頻段圖像顏色數據到這個G4MMR圖像。ByteArrayOutputStream decode = saveAsTIFF(<width>,<height>,<imageByteData>); RandomAccessFileOrArray ra=new RandomAccessFileOrArray(saveAsTIFF.toByteArray()); int pages = TiffImage.getNumberOfPages(ra); for(int i1 = 1; i1 <= pages; i1++){ img1 = TiffImage.getTiffImage(ra, i1); } img1.scaleAbsolute(256, 75); document.add(img1);
•技術堆棧的每個組件的版本:
1. JDK 1.6
2. itextpdf-5.1
- Umesh製作帕塔克
如何解密LZW加密的圖像? – UmeshPathak 2012-09-20 09:02:17
對不起,我說LZW加密時,我的意思是LZW編碼(我編輯答案)。一個簡單的LZW編解碼器應該這樣做。另一個選擇是使用libtiff(我不知道是否有一個java綁定),它揭示了TIFFWriteRawStrip方法,它允許存儲每個波段而不解碼它。如果你想這樣做,我可以發佈一些僞代碼,如果你喜歡 – 2012-09-25 07:27:38