【问题标题】:Java - PDF outputstreamJava - PDF 输出流
【发布时间】:2012-07-13 13:49:50
【问题描述】:

大家好,感谢您抽出宝贵时间回答我的问题。

我正在尝试向客户端发送一个字节数组,以便他的浏览器可以在 e PDF 文件中重建。以下是我的代码:

        OutputStream out = response.getPortletOutputStream();

        response.setProperty("Content-Disposition", "attachment; filename=" + fileName + ".pdf");
        response.setContentType("application/pdf");

        out.write(pdfInvoice);
        out.flush();
        out.close();

我们正在使用 Liferay Portlets,但这不会产生影响。 pdfInvoice 是字节数组。执行此代码时没有任何反应。你能看出哪里不对吗?提前致谢!

【问题讨论】:

  • 你确定代码执行了吗?你能用注释和你的resourceURL标签显示整个处理方法吗?单击链接时会发生什么(是否返回任何响应?使用 HTTPFor 或类似工具)

标签: java file-io pdf-generation liferay


【解决方案1】:

您不能像这样在 Portlet 响应中提供 pdf,标准方法是创建一个 servlet,将 PDF 提供给客户端。

如果您想在 Portlet 中提供 PDF,本指南应该会有所帮助 http://www.liferay.com/community/wiki/-/wiki/Main/Generate+PDF+File+in+Portlet

【讨论】:

  • 嘿,马克。我在 ResourceMapping 方法中执行此操作。我以前对 Excel 做过同样的事情。从资源映射方法中返回并完美运行
  • 使用 servlet 已过时。资源阶段是正确的方法。
  • 我同意更复杂的用例,但提供像 PDF 这样简单的东西,它不会对 portlet 状态做任何事情。使用资源阶段将使解决方案变得不必要的复杂。 (个人意见)
猜你喜欢
  • 2015-07-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-09
  • 2012-07-19
  • 2012-11-17
  • 1970-01-01
  • 2017-02-23
相关资源
最近更新 更多