我想使用Struts根据Mysql DB的传入值创建一个pdf。任何人都可以通过任何工具或如何处理来帮助我吗?
问问题
528 次
3 回答
0
Docmosis将让您以 Doc 或 ODT 格式创建文档的基础作为模板。然后,您可以在渲染 PDF 之前使用 mysql 数据来控制要对模板执行的操作(插入数据、删除数据、选择不同的模板等)。我不确定您的“具有复杂 UI 的 pdf”是什么意思。Docmosis 可让您对相当复杂的文档进行模板化(感谢 OpenOffice),但 Jasper 可让您编写几乎任何您可能需要的输出结果。
于 2010-05-13T03:50:37.613 回答
0
您可以使用iText - 一个用于创建 PDF 文档的成熟开源库。以下示例基于 Struts 1,但可能对您有所帮助:
public class PDF extends Action {
public ActionForward perform(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
try {
Document document = new Document();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
PdfWriter.getInstance(document, baos);
document.open();
document.add(new Paragraph("Hello World"));
//
// add your data here ...
//
document.close();
response.setContentType("application/pdf");
response.setContentLength(baos.size());
ServletOutputStream out = response.getOutputStream();
baos.writeTo(out);
out.flush();
} catch (Exception e2) {
System.out.println("Error in " + getClass().getName() + "\n" + e2);
}
return null;
}
}
于 2009-12-21T07:45:34.163 回答
0
除了 iText,您还可以使用JasperResports - 它建立在 iText 之上,但为您的报告提供了 GUI 设计器(然后可以导出为 pdf、excel、打印机等)。
但是无论哪种方式,您都必须阅读和学习很多东西;)
于 2009-12-21T08:28:37.337 回答