Объединение презентаций PowerPoint с использованием Apache-POI плохо работает с диаграммами - PullRequest
0 голосов
/ 06 февраля 2019

У нас есть одностраничные презентации (* .pptx), и мы хотели бы объединить их в одну презентацию.Попытка следовать решению поваренной книги из https://www.tutorialspoint.com/apache_poi_ppt/apache_poi_ppt_merging.htm не сработала.Он всегда создает ppt, который требует ремонта и никогда не имел диаграммы.

Чтобы воссоздать это, просто создайте две одностраничные презентации с диаграммой и поместите их в папку

    File folder = new File("<myFolder_path>");
    File[] listOfFiles = folder.listFiles();
    //creating empty presentation
    XMLSlideShow presentation = new XMLSlideShow();

    for (int i = 0; i < listOfFiles.length; i++) {

        File currentFile = listOfFiles[i];
        FileInputStream inputstream = new FileInputStream(currentFile);
        XMLSlideShow src = new XMLSlideShow(inputstream);
        inputstream.close();
        for (XSLFSlide srcSlide : src.getSlides()) {
            XSLFSlide newSlide = presentation.createSlide();
            newSlide.importContent(srcSlide);
        }

    }

    File pptxFile = File.createTempFile("xxx" + "_", ".pptx");

    FileOutputStream out = new FileOutputStream(pptxFile);
    presentation.write(out);
    out.close();
...