2009-11-04 181 views
2

我有顯示存儲在數據庫中的圖像文件作爲BLOB類型....現在我想調用該圖像並將其顯示在PDF中...我正在使用jsp和servlet的Web客戶端...我只需要一個核心思想或如何解決問題的癥結所在。如何從數據庫中顯示blob數據類型爲pdf

任何幫助將高度讚賞

謝謝

阿南德

回答

1

你要流式傳輸的字節返回給瀏覽器與內容類型的應用程序/ PDF沿和選擇的方法呈現它(內聯或附件)。

例如:

byte[] content = getByteArray(); 

try { 
ServletOutputStream outputStream = response.getOutputStream(); 
response.setContentType("application/pdf"); 
response.setHeader("Content-disposition","inline; filename=Example.pdf"); 
response.setHeader("Cache-Control","no-cache"); 
response.setHeader("Pragma","no-cache"); 
BufferedOutputStream bos = new BufferedOutputStream(outputStream); 
bos.write(content); 
bos.close(); 
} catch (Exception e) { 
e.printStackTrace(); 
} 
+1

我相信anand想要將某些圖像文件(未指定格式...)轉換爲PDF格式(未知原因!),而不是輸出從數據庫中獲取的PDF blob。除非我誤解。 – PhiLho 2009-11-04 14:19:45

+0

是完全的philho ...我想包裝一個圖像到pdf .. – anand 2009-11-04 15:51:16

1

我想知道爲什麼你想要做這樣的包裝,它只是爲用戶做更難的事情。

但是,你想看看iText庫,我想。

+0

+1:iText是要走的路,如果你想在飛行中創建PDF文件。 – BalusC 2009-11-04 20:57:12

0

Anand-

大的圖景是,你需要:

  1. 創建一個PDF對象
  2. 抓住圖像和拖放到PDF
  3. 發送PDF對象出去瀏覽器

Ocdecio的答案告訴你如何做最後一部分。從PhiLho的答案中獲取iText庫來創建PDF並將圖像放入其中。閱讀jle的答案,瞭解如何處理數據庫中的BLOB的一些基本知識; BLOB是你的形象的地方。把blob,把它轉換成iText可以處理的圖像對象,然後像這樣滾動。

祝你好運!