Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用apache poi获取pptx幻灯片注释文本?_Java_Apache Poi_Xslf - Fatal编程技术网

Java 如何使用apache poi获取pptx幻灯片注释文本?

Java 如何使用apache poi获取pptx幻灯片注释文本?,java,apache-poi,xslf,Java,Apache Poi,Xslf,到目前为止,我只有一个从ppt幻灯片笔记中检索文本的工作代码 try { FileInputStream is = new FileInputStream("C:\\sample\\test.ppt"); SlideShow ppt = new SlideShow(is); Slide[] slide = ppt.getSlides(); for (int i = 0; i < slide.length; i++) { System.ou

到目前为止,我只有一个从ppt幻灯片笔记中检索文本的工作代码

try {
    FileInputStream is = new FileInputStream("C:\\sample\\test.ppt");
    SlideShow ppt = new SlideShow(is);

    Slide[] slide = ppt.getSlides();
    for (int i = 0; i < slide.length; i++) {

        System.out.println(i);
        TextRun[] runs = slide[i].getNotesSheet().getTextRuns();
        if (runs.length < 1) {
            System.out.println("null");
        } else {
            for (TextRun run : runs) {
                System.out.println(" > " + run.getText());
            }
        }
    }

} catch (IOException ioe) {

}
试试看{
FileInputStream是=新的FileInputStream(“C:\\sample\\test.ppt”);
幻灯片ppt=新幻灯片(is);
Slide[]Slide=ppt.getSlides();
对于(int i=0;i”+run.getText());
}
}
}
}捕获(ioe异常ioe){
}

但是如何从pptx幻灯片笔记中检索文本呢?

经过不断的尝试和错误,找到了解决方案

try {

    FileInputStream fis = new FileInputStream("C:\\sample\\sample.pptx");
    XMLSlideShow pptxshow = new XMLSlideShow(fis);

    XSLFSlide[] slide2 = pptxshow.getSlides();
    for (int i = 0; i < slide2.length; i++) {
        System.out.println(i);
        try {
            XSLFNotes mynotes = slide2[i].getNotes();
            for (XSLFShape shape : mynotes) {
                if (shape instanceof XSLFTextShape) {
                    XSLFTextShape txShape = (XSLFTextShape) shape;
                    for (XSLFTextParagraph xslfParagraph : txShape.getTextParagraphs()) {
                        System.out.println(xslfParagraph.getText());
                    }
                }
            }
        } catch (Exception e) {

        }

    }
} catch (IOException e) {

}
试试看{
FileInputStream fis=新的FileInputStream(“C:\\sample\\sample.pptx”);
XMLSlideShow pptxshow=新的XMLSlideShow(fis);
XSLFSlide[]slide2=pptxshow.getSlides();
对于(int i=0;i
您是否尝试查看Apache POI中的代码和示例?例如,哪一个可以从幻灯片笔记中提取文本?嘿,Jigs,使用此代码,我发现了此错误
java.lang.VerifyError:org/apache/poi/xslf/usermodel/xmlsideshow
您有什么帮助吗?谢谢发布,apache-poi仍然可以运行!;-)