JFreeChart,Java itext图形大小

JFreeChart,Java itext图形大小,java,swing,itext,jfreechart,Java,Swing,Itext,Jfreechart,我正在尝试使用Java iText API 2.1生成一个带有JFreeChart图表的PDF。当图形在JFrame中显示时,它有20个(x轴)点,一旦我将图形传递到PDF,它就会调低x轴(8-10)点 图形仍然是正确的,但我希望图形的显示方式与JFrame中的显示方式相同 在我的代码中,如果我增加大小,图形将从页面中消失 try { document.newPage(); float width = 500; float height = 330

我正在尝试使用Java iText API 2.1生成一个带有JFreeChart图表的PDF。当图形在JFrame中显示时,它有20个(x轴)点,一旦我将图形传递到PDF,它就会调低x轴(8-10)点

图形仍然是正确的,但我希望图形的显示方式与JFrame中的显示方式相同

在我的代码中,如果我增加大小,图形将从页面中消失

try {
        document.newPage();
        float width = 500;
        float height = 330;
        PdfContentByte contentByte = writer.getDirectContent();
        PdfTemplate template = contentByte.createTemplate(width, height);
        Graphics2D graphics2d = template.createGraphics(width, height, new DefaultFontMapper());
        Rectangle2D rectangle2d = new Rectangle2D.Double(0, 0, width, height);
        graphs.g1().draw(graphics2d, rectangle2d);
        graphics2d.dispose();
        Image chartImage = Image.getInstance(template);
        document.add(chartImage);
        //contentByte.addTemplate(template, 0, height);
    } catch (BadElementException ex) {
        Logger.getLogger(SavePDF.class.getName()).log(Level.SEVERE, null, ex);
    } catch (DocumentException ex) {
        Logger.getLogger(SavePDF.class.getName()).log(Level.SEVERE, null, ex);
    }

我回答这个问题是因为,没有其他可行的方法

由于宽度(500)和高度(330),图形将自动调整以适合尺寸。所以不可能在这个维度上显示所有的点