欢迎所有人。
我正在尝试创建一个PDF发送给用户,而不是先将文件保存在我的服务器上
我正在使用Hibernate + struts2。
我的样本代码:
CreatePDF.java
(生成pdf的类)
方法BuildPdf():
ByteArrayOutputStream baos = new ByteArrayOutputStream();
try {
document = new Document();
PdfWriter.getInstance(document,baos);
document.open();
buildPage(document, snippet, snippetContent);
document.close();
response.setContentType("application/pdf");
response.setContentLength(baos.size());
response.setHeader("Content-Disposition", "attachment;filename=document.pdf");
ServletOutputStream out = response.getOutputStream();
baos.writeTo(out);
out.flush();
response.flushBuffer();
} catch (Exception e) {
Log4jUtil.debug(logger, "Can not buid pdf-file", e);
}
我的示例动作: 方法索引():
pdf = new CreatePDF();
pdf.buildPdf(snippet, snippetContent);
return SUCCESS;
请检查我的代码是否有搜索错误?可能有错误.... 请帮我。需要想法或示例代码来解决我的任务。
答案 0 :(得分:1)
首先,Hibernate在这里完全无关紧要。 Struts2是相关的,但您没有使用它,您使用的是普通(低级)servlet API。这应该可行,但如果您的webapp是围绕Struts2构建的,那么这不是推荐的方式。您应该使用Stream result
答案 1 :(得分:0)
要创建PDF文档,您可以使用Smart PDF Creator。它只需点击几下即可创建专业的PDF。您可以在此处免费试用:http://www.smartpdfcreator.com