我尝试通过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/