1

XSLFChart在 a上创建 a时XSLFSlide,我似乎无法使锚定按预期工作。我生成图表如下

XSLFSlide slide = ppt.createSlide();
XSLFChart chart = ppt.createChart(slide);
slide.addChart(chart, new Rectangle(200, 200, 200, 200));
// Further styling and data

但是当我打开 Powerpoint 时,图表在左上角被卷起,就好像它被Rectangle一个高度和宽度为 0 的 at (0, 0) 锚定。使用函数的另一个重载创建图表 ( addChart(XSLFChart)) 也在角落创建它,但有一些高度和宽度。

4

1 回答 1

1

的位置XSLFChart需要设置为英制公制单位EMU,而不是其他锚点的点XSLFSimpleShape。有org.apache.poi.util.Units可以在不同的其他单位(点也)和EMU.

在你的情况下:

XSLFSlide slide = ppt.createSlide();
XSLFChart chart = ppt.createChart(slide);
Rectangle rect = new Rectangle(200*Units.EMU_PER_POINT, 200*Units.EMU_PER_POINT, 200*Units.EMU_PER_POINT, 200*Units.EMU_PER_POINT);
slide.addChart(chart, rect);
于 2020-01-22T06:31:11.140 回答