ContentType是application / pdf但它仍然生成Excel工作表

时间:2009-10-07 06:40:06

标签: java jsp pdf

我使用以下代码从JSP生成PDF文档,但它会生成Excel工作表。

<%@ page buffer="7024kb" %>
<%@ page contentType="application/pdf"%>
<%
  String reportType=request.getParameter("reportType");
  String fileName=reportType;
  response.addHeader("Content-disposition", "attachment; filename="+fileName);
%>
<%= request.getParameter("file") %>

你能告诉我为什么会这样吗?我怎么能纠正这个?

1 个答案:

答案 0 :(得分:0)

从Servlet而不是JSP提供文件是一种更容易的方法。

将您的PDF转换为字节数组,然后您可以执行以下操作:

Servlet代码:

byte[] pdf = PDFObject.getBytes(); // You may need to use a ByteArrayOutputstream or similar depending on the PDF Object

out.write(pdf, 0, pdf.length);

您可以像往常一样将输出标头添加到HttpServletResponse。

但是,由于它作为Excel / CSV工作表而不是PDF提供,您确定您的对象实际上是PDF吗?是Excel中可读的内容吗?