首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用BIRT在数据库中保存pdf报告

使用BIRT在数据库中保存pdf报告
EN

Stack Overflow用户
提问于 2017-05-03 10:38:37
回答 1查看 218关注 0票数 0

因此,我试图使用服务方法将pdf报告保存在数据库中。我看到有一种方法可以通过调用:pdfOptions.setOutputStream(输出)来指定生成的报告的输出。但我怎么能这样称呼我的保存方法呢?

我看到了这个帖子,但我在持久化点堆叠

我接受任何建议

代码语言:javascript
运行
复制
    PDFRenderOption pdfOptions = new PDFRenderOption(options);
    pdfOptions.setOutputFormat(FORMAT_PDF);
    pdfOptions.setOption(IPDFRenderOption.PAGE_OVERFLOW, IPDFRenderOption.OUTPUT_TO_MULTIPLE_PAGES);
    pdfOptions.setOutputStream(response.getOutputStream());//opens report on browser
    runAndRenderTask.setRenderOption(pdfOptions);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-04 07:23:38

将输出直接流到客户端。

代码语言:javascript
运行
复制
pdfOptions.setOutputStream(response.getOutputStream());//opens report on browser

如果这样做,您的输出将被消耗,您将无法将其保存到数据库中。

我会使用一种类似"tee“的方法,你知道,它有一个输入流和两个输出流。

你可以自己写,我们的- Apache TeeOutputStream

这个看起来可能是这样的:

代码语言:javascript
运行
复制
OutputStream blobOutputStream = ...; // for writing to the DB as BLOB.
OutputStream teeStream = TeeOutputStream(response.getOutputStream(), blobOutputStream);
pdfOptions.setOutputStream(teeStream);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43757685

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档