【问题标题】:Generating PDF report : jFreeChart and DynamicReports生成 PDF 报告:jFreeChart 和 DynamicReports
【发布时间】:2017-01-08 04:36:08
【问题描述】:

我需要生成如下所示的报告:

我在NetBeans中使用swing设计了一个GUI来输入细节:

我使用 jFreeChart 生成的绘图:

  JFreeChart chart = ChartFactory.createXYLineChart(
"Hysteresis Plot", // chart title
"Pounds(lb)", // domain axis label
"Movement(inch)", // range axis label
dataset, // data
PlotOrientation.VERTICAL, // orientation
false, // include legend
true, // tooltips
false // urls
);

输出:

我在网上搜索并得知我可以使用 iText 或 JasperReports 或 DynamicReports(基于 Jasper 报告)

http://www.dynamicreports.org/getting_started.html#step9

我发现使用动态报告更容易。我的问题是-我可以将 DynamicReports 用于我的目的吗(我想-是的,看看示例报告),如果是,那么我如何将我的 jFreeChart 导出到报告中。

请帮忙,因为我没有太多时间来完成这个项目。

谢谢

【问题讨论】:

    标签: java jfreechart dynamic-reports


    【解决方案1】:

    您可以直接在 DynamicReports 而不是 JFreeChart 中创建图表。使用 DynamicReports XYLineChartReport 组件来执行此操作。请参阅http://www.dynamicreports.org/examples/xylinechartreport.html 的示例代码。

    如果您想使用 JFreeChart 输出,请将图表导出为图像,然后使用 cmp.image() 将该图像包含在报告中:

    // Create the chart.
    JFreeChart chart = ChartFactory.createXYLineChart(
        "Hysteresis Plot", // chart title
        "Pounds(lb)", // domain axis label
        "Movement(inch)", // range axis label
        dataset, // data
        PlotOrientation.VERTICAL, // orientation
        false, // include legend
        true, // tooltips
        false // urls
    );
    
    // Export the chart to an image.
    BufferedImage image = chart.createBufferedImage( 300, 300);
    
    report()
        .title(cmp.text("XYZ HOSPITAL"))
        .columns(fieldNameColumn, fieldValueColumn)
        .summary(
            cmp.verticalList()
                .add(cmp.text("HYSTERISIS PLOT"))
                .add(cmp.text("A brief description of what this plot signifies"))
                .add(cmp.image(image))  // Add the exported chart image to the report.
                .add(cmp.text("REMARKS"))
        )
        .setDataSource(createDataSource())
        .toPDF(outputStream);
    

    【讨论】:

    • 我已经创建了如上图所示的GUI面板,现在我只需要将它导出到报表中。
    • 编辑答案以使用 JFreeChart 添加示例。
    • 我搜索过-我可以将 jFreeChart 保存为 .png 或 .jpeg 图像,然后将其包含在报告中,然后可以删除图像文件。所以基本上图像文件用作临时文件。我想知道我是否可以像 iText 那样直接导出?
    猜你喜欢
    • 1970-01-01
    • 2014-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多