2009-11-04 93 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可以处理的图像对象,然后像这样滚动。

祝你好运!

相关问题