如何将数据库中的blob数据类型显示为pdf

发布于 2024-08-09 21:17:08 字数 154 浏览 2 评论 0原文

我正在以 BLOB 类型显示存储在数据库中的图像文件...现在我想调用该图像并将其显示在 pdf 中...我正在使用 jsp 和 servlet 作为 Web 客户端...我只需要如何解决问题的中心思想或症结。

任何帮助将不胜感激,

谢谢

阿南德

I am having with displaying an image file stored in a database as BLOB type.... now i want to call that image and display it in a pdf...i am using jsp and servlet for web client... i just need a central idea or crux of how to go about the problem.

Any help will be highly appreciated

Thank you

Anand

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

九厘米的零° 2024-08-16 21:17:08

您必须将字节与应用程序/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();
}

You have to stream the bytes back to the browser along with a content-type of application/pdf and choose a method of rendering it (inline or attachment).

For example:

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();
}
杯别 2024-08-16 21:17:08

我想知道为什么你要做这样的包装,这只是为用户做更困难的事情。

但是,我认为您想看看 iText 库。

I wonder why you want to do such wrapping, it is just doing things more difficult for the user.

But well, you want to look at the iText library, I think.

梦言归人 2024-08-16 21:17:08

Oracle Technology Net 有一篇关于此主题的好文章.

本文使用 .Net,但使用 Java 则非常相似。

Oracle Technology Net has a good article on this topic.

The article uses .Net, but using Java would be very similar.

Anand-

总体来说,您需要:

  1. 创建 PDF 对象
  2. 抓取图像并将其放入 PDF
  3. 将 PDF 对象发送到浏览器

Ocdecio 的答案告诉您如何执行最后一部分。从 PhiLho 的答案中获取 iText 库来创建 PDF 并将图像放入其中。阅读 jle 的答案,了解有关如何处理数据库中的 BLOB 的一些基础知识;该 BLOB 就是您的图像所在的位置。获取该斑点,将其转换为 iText 可以处理的图像对象,然后像这样滚动。

祝你好运!

Anand-

The big picture is you need to:

  1. Create a PDF object
  2. Grab the image and drop it in to the PDF
  3. Send the PDF object out to the browser

Ocdecio's answer tells you how to do the last part. Take the iText library from PhiLho's answer to create the PDF and drop the image in to it. Read up on jle's answer to learn some basics about how to deal with BLOBs in the database; that BLOB is where your image is. Take the blob, turn it in to an image object iText can handle, and roll like that.

Good luck!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文