如何使用 Apache POI 从 Powerpoint 中的幻灯片图中获取 DataXML

How to get DataXML from Slide Diagram in Powerpoint using Apache POI

我在 Microsoft power point 演示幻灯片中添加了一个智能艺术形状。 我想使用 apache POI 在 Java 中获取该图表的数据。

如何从演示文稿的第一张幻灯片中检索完整的 data.xml。 我打开了演示文稿,下面是演示文稿的层次结构。

我想从XML中的第一张幻灯片智能艺术图表中检索数据(完成data1.xml)

以下是我目前开发的第一张幻灯片的代码。

public static void main(String[] args) {
    // TODO Auto-generated method stub
    final String filename = "resources/fptbenchmark/Powerpoint Import.pptx";

    try {
        XMLSlideShow ppt = new XMLSlideShow(new FileInputStream(filename));
        ppt.getSlides()[0]. //here first slide
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }


}

假设您知道您将始终需要 /ppt/diagrams/data1.xml,那么您的代码将希望继续:

OPCPackage pkg = ppt.getPackage();
PackagePart data1 = pkg.getPart(
       PackagingURIHelper.createPartName("/ppt/diagrams/data1.xml"));
InputStream data1Inp = data1.getInputStream();

然后将该 InputStream 传递给您的 XML 解析代码以进行处理

如果您需要根据幻灯片动态查找部件,您需要检查幻灯片部件上定义的关系,然后从那里开始