Java 在浏览器中以PDF格式获取响应

Java 在浏览器中以PDF格式获取响应,java,content-type,Java,Content Type,我想设置PDF输出的响应。我如何做到这一点 我可以设置Excel输出,并成功地从浏览器中获得所需的Excel工作表,但对于PDF,我无法获得所需的输出 对于Excel,以下代码可以正常工作 String excelContent = "an html table.."; getServletResponse().setContentType("“application/vnd.ms-excel"); getServletResponse().setHeader("Content-Disposit

我想设置PDF输出的响应。我如何做到这一点

我可以设置Excel输出,并成功地从浏览器中获得所需的Excel工作表,但对于PDF,我无法获得所需的输出

对于Excel,以下代码可以正常工作

String excelContent = "an html table..";
getServletResponse().setContentType("“application/vnd.ms-excel");
getServletResponse().setHeader("Content-Disposition","inline; filename=" + pageTitle + ".xls");
PrintWriter ps = getServletResponse().getWriter();
ps.println(excelContent);
但对于PDF,我尝试将内容类型设置为PDF,但无法正确获取(即使在浏览器中打开PDF文件,也不会显示任何内容)


html表格是否不能以PDF格式显示?

您正在将html上下文写入响应流。您需要将pdf格式写入响应

您可以使用iText或ApacheFop之类的库来创建PDF格式。

渲染器非常简单。它接受HTML输入并返回PDF。您需要做的是将内容类型声明为PDF,将HTML生成为字符串,并从“飞碟”调用一个方法

这里有一个例子

是否有一种简单的方法可以将html响应作为PDF发送,使用这些库是唯一的方法吗?我不知道。您需要使用一些或其他库。有很多选项,所以如果您不需要其他高级功能,您可以通过谷歌搜索最简单的选项来完成此任务。
String excelContent = "an html table..";
getServletResponse().setContentType("“application/pdf");
getServletResponse().setHeader("Content-Disposition","inline; filename=" + pageTitle + ".pdf");
PrintWriter ps = getServletResponse().getWriter();
ps.println(excelContent);