0

我想为 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 文件也不会显示任何内容)

String excelContent = "an html table..";
getServletResponse().setContentType("“application/pdf");
getServletResponse().setHeader("Content-Disposition","inline; filename=" + pageTitle + ".pdf");
PrintWriter ps = getServletResponse().getWriter();
ps.println(excelContent);

html表格不能在PDF中显示吗?

4

2 回答 2

1

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

这是一个 使用飞碟的xhtml 到 pdf servlet 的示例

于 2013-04-16T05:13:27.417 回答
0

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

您可以使用 iText 或 Apache FOP 等库来创建 PDF 格式。

于 2013-04-16T05:03:16.507 回答