java - 如何使用java api合并两个具有图表和表格的pptx文件?

标签 java apache-poi docx4j

我尝试通过java API(Apache POI)合并两个pptx文件 它适用于仅包含文本内容的 PPTX。

我需要帮助来合并两个 PPTX 文件而不丢失图表、表格、图像、主题等。是否有任何开源 java API 可以实现此目的?

最佳答案

披露:我在 Plutext 工作

Plutext 的 Docx4j 企业版可以合并复杂的演示文稿。您可以决定输出是否采用第一个 pptx 的外观,或保留输入的单独外观/感觉。简单用法如下:

    String[] deck = {"deck1.pptx", "deck2.pptx"};               

    PresentationBuilder builder = new PresentationBuilder();            
    builder.setThemeTreatment(ThemeTreatment.RESPECT); // preserve appearance of each deck?

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

        // Create a SlideRange representing the slides in this pptx
        SlideRange sr = new SlideRange(
                (PresentationMLPackage)OpcPackage.load(
                                        new File(DIR_IN + deck[i])));

        // Add the slide range to the output
        builder.addSlideRange(sr);

    }

    builder.getResult().save(
            new File("OUT_MergeWholePresentations.pptx"));

Docx4j Enterprise Ed 是一个商业产品。我不知道有哪个开源解决方案可以通过高级 API 提供您想要的东西。与 POI 一样,您可以使用开源 docx4j/pptx4j 的低级 API 自行实现您想要的功能,但要做到这一点,您需要对 pptx 文件格式和 pptx4j 有充分的了解。 (docx4j/pptx4j 使用 JAXB;POI 使用 XML Bean)

关于java - 如何使用java api合并两个具有图表和表格的pptx文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42006934/

相关文章:

java - 搜索 "available hotel rooms"需要帮助的逻辑

java - 使用 java HSSF POI 填充 excel 中的字段 - excel 无法正确排序日期字段

java - 当某些行已经存在时,Excel POI 意外丢失行

java - 无法使用 Apache POI 将超过 7 页的 docx 读取为字符串

java - Docx4j - 使用 doc4j 将 xhtml 转换为 docx 时缺少水平线

Java & GUI : Builder, 框架、技术——最先进的?

Java Swing 旋转和缩放

java - 持久监听器/消费者的用例场景

java - Apache POI 读取 Excel 数据并将其放入 HashSet 中

java - 使用 docx4j 使用 Base64 图像从 HTML 生成 .docx