Java jfreechart itext:将多个图表放在一个pdf中

Java jfreechart itext:将多个图表放在一个pdf中,java,itext,jfreechart,Java,Itext,Jfreechart,如何将多个JfreeCharts放入一个pdf中?有很多例子可以说明如何将1个JfreeChart放入pdf,但我找不到任何关于如何将多个JfreeChart放入1个pdf的例子 一些JfreeCharts应该放在彼此的旁边,其他的应该放在彼此的下面 在我的书中有一个例子: 如你所见,我有两个不同的图表,一个饼图和一个条形图。我将这些图表绘制到PdfTemplate对象。然后,我使用X,Y坐标将模板添加到画布中(这允许您将它们彼此相邻或彼此下方添加) 另一个选项是将PdfTemplate对象包装

如何将多个JfreeCharts放入一个pdf中?有很多例子可以说明如何将1个JfreeChart放入pdf,但我找不到任何关于如何将多个JfreeChart放入1个pdf的例子


一些JfreeCharts应该放在彼此的旁边,其他的应该放在彼此的下面

在我的书中有一个例子:

如你所见,我有两个不同的图表,一个饼图和一个条形图。我将这些图表绘制到
PdfTemplate
对象。然后,我使用X,Y坐标将模板添加到画布中(这允许您将它们彼此相邻或彼此下方添加)


另一个选项是将
PdfTemplate
对象包装在
图像
对象中,并根据Lowagie的答案使用
PdfPTable
定位这些图像。最好使用
PdfPCellEvent
接口

public class JFreeChartEvent implements PdfPCellEvent {
    private JFreeChart chart;

    public JFreeChartEvent(final JFreeChart chart){
        this.chart = chart;
    }

    @Override
    public void cellLayout(PdfPCell arg0, Rectangle arg1, PdfContentByte[] arg2) {
        PdfContentByte cb = arg2[PdfPTable.TEXTCANVAS]; //optional, can be other canvas
        PdfTemplate pie = cb.createTemplate(arg1.getWidth(), arg1.getHeight());
        Graphics2D g2d1 = new PdfGraphics2D(pie, arg1.getWidth(), arg1.getHeight());
        Rectangle2D r2d1 = new Rectangle2D.Double(0, 0, arg1.getWidth(), arg1.getHeight());
        chart.draw(g2d1, r2d1);
        g2d1.dispose();
        cb.addTemplate(pie, arg1.getLeft(), arg1.getBottom());
    }
}
使用
PdfPCell

PdfPCell cell = new PdfPCell();    
cell.setCellEvent(new JFreeChartEvent(getChart());
cell.setFixedHeight(300.f);   //height must be set if its row's height is not defined yet

请问,我如何编辑您的代码,将一个图表放在一页上,将第二个图表放在第二页上?非常感谢。链接已断开;是否有其他URL用于访问上述示例?