如何使用Apache POI从Powerpoint中的Slide Diagram获取DataXML

时间:2015-06-04 16:20:47

标签: java xml apache-poi powerpoint openxml

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

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

enter image description here

我想从第一张幻灯片智能艺术图中检索数据(完成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();
    }


}

1 个答案:

答案 0 :(得分:0)

假设您知道自己总是想要/ppt/diagrams/data1.xml,那么您的代码会希望继续:

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

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

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