如何从Struts中的Mysql创建搜索结果的pdf

时间:2009-12-21 07:40:32

标签: java pdf creation

我想根据来自Mysql DB的Incoming Value使用Struts创建一个pdf.Could任何人都可以通过任何工具或如何处理来帮助我?

3 个答案:

答案 0 :(得分: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;
    }
}

答案 1 :(得分:0)

除了iText之外,您还可以使用JasperResports - 它建立在iText的顶部,但为您的报告提供GUI设计器(然后可以导出为pdf,Excel,打印机等)。 / p>

但无论哪种方式,你都必须阅读和学习很多东西;)

答案 2 :(得分:0)

Docmosis可让您以Doc或ODT格式创建文档的基础作为模板。然后,您可以在呈现PDF之前使用mysql数据来控制要对模板执行的操作(插入数据,删除数据,选择其他模板等)。我不确定你的“具有复杂UI的pdf”是什么意思。 Docmosis允许您模拟相当复杂的文档(感谢OpenOffice),但Jasper允许您编写几乎任何您可能需要的输出结果。