如何使用Xchart和VectorGraphics2D在同一个pdf文件中保存图表

时间:2018-03-20 09:13:02

标签: java itext

我使用Xchart创建图表并使用VectorGraphics2D将其另存为PDF文件,如下所示:

VectorGraphicsEncoder.saveVectorGraphic(chart, "chart_name", VectorGraphicsFormat.PDF);

但是我需要在同一PDF文件中保存多个图表。有没有办法用iText做到这一点?

ProcessingPipeline g = null;
g = new PDFGraphics2D(0.0, 0.0, chart.getWidth(), chart.getHeight());
chart.paint(g, chart.getWidth(), chart.getHeight());
FileOutputStream file1 = new FileOutputStream(addFileExtension("doc_name", VectorGraphicsFormat.PDF));
Document doc = new Document(PageSize.A4.rotate());
PdfWriter writer = PdfWriter.getInstance(doc, file1);
doc.open();

但是当我将g添加到文档时,我失败了。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

您可以使用以下方法将具有所需网格的图像保存在一张图像中:

BitmapEncoder.saveBitmap(
            Arrays.asList(new Chart[]{chart1, chart2, chart3, chart4}), 2,2, "./cumulative", BitmapEncoder.BitmapFormat.PNG);

其中 2,2 是行和列的大小。 获得带有 4 个图表的此图像后,您可以将其导出为 PDF。