2016-11-16 22 views
0

如何將字節數組轉換爲itext pdf格式的圖像並以pdf格式顯示。 這是我在做什麼,但是我得到空指針異常..如何使用itextPdf將字節數組轉換爲圖像並以pdf格式顯示

Base64 decoder = new Base64(); 
    byte[] imageByte = decoder.decode(imageInBase64EncodedString); 
     Image image = null; 
     try { 
      image = Image.getInstance(imageByte); 
     } catch (BadElementException e1) { 
      e1.printStackTrace(); 
     } catch (MalformedURLException e1) { 
      e1.printStackTrace(); 
     } catch (IOException e1) { 
      e1.printStackTrace(); 
     } 
     try { 
      image.scalePercent(15f); <-----Here i am getting NullPointer Exception 
      image.scaleAbsoluteWidth(520f); 
      image.setAbsolutePosition(40f,725f); 
      document.add(image); 
     }catch(Exception e){ 
      e.printStackTrace(); 
     } 

我不理解爲什麼不創建畫面,即使我通過他們字節。

+0

上面是否有任何'printStackTrace'調用觸發? – mkl

+1

可能的重複[什麼是NullPointerException,以及如何解決它?](http://stackoverflow.com/questions/218384/what-is-a-nullpointerexception-and-how-do-i-fix-it ) –

+0

Ty for reply guys @mkl no。 –

回答

2

問題很可能是您傳入的字符串值,因爲很可能您正在運行值錯誤格式化的異常。

我試過你的例子,使用PasteBin中的BASE64字符串示例(http://pastebin.com/bfc1E1NV),有人很友好地發佈,併成功地按照您提供的代碼運行腳本。

ItextPdf例

截圖1 enter image description here

截圖2(圖像對象不爲空) enter image description here

org.apache.commons.codec.binary。 Base64實例 enter image description here

+0

您使用ItextPdf圖像類。我使用import org.apache.commons.codec.binary.Base64進行解碼並獲取字節值。但在image.scalePercent(15f)我得到空... –

+1

我修改了示例,以包括您正在使用的庫和我的測試仍然通過。你能給我提供你想傳入的字符串值嗎? –

+0

我可以寄給你嗎? –

相關問題