如何使用javaapi合并两个具有图表的pptx文件



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

我需要帮助合并两个PPTX文件,而不会丢失图表、表格、图像、主题等。有没有开源的java API-s?

披露:我为Plutext工作

Plutext的Docx4j Enterprise Edition可以合并复杂的演示文稿。您可以决定输出是采用第一个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使用XMLBeans)

最新更新