使用Java生成的PowerPoint 2007/2010文件

问题描述 投票:18回答:5

有谁知道任何API(商业或开源的),可以通过生成的Java /编辑PowerPoint演示文稿2007/2010的。我在PowerPoint中2007/2010格式,我需要编辑/更新的模板。到目前为止,我已经转换的.pptx文件,XML,然后编辑并保存回为.PPTX。不过,在打开文件被损坏。

有没有人知道,在Java中做任何其他方法或API的?

java powerpoint presentationml
5个回答
11
投票

我们使用编程方式完成它(封闭源代码的那一刻,遗憾),所以也许能帮助,但有几个陷阱要小心处理。

其一是,POI项目(至少当我们看着它最后一年),是相当不完整的。它没有这样做PPTX图表 - 这是一个功能,我们想要的。逸岸的POI网站可能无法高达日期,但他们似乎不支持的PowerPoint格式20087(http://poi.apache.org/slideshow/index.html)。每个人都推荐这个项目,但我们的评价是,这是对通过Java产生的PowerPoint 2007个文件几乎无用。你milage可能会有所不同。

Apose也有一些显著的局限性,当我们看着它;没有做图表在PowerPoint 2007中作为阻塞问题我们。

另一个问题是,PowerPoint 2007中可以说是相当马车。我们有一些引起锁定UPS progammatically制作PPT文件,但在测试的时候,我们发现,我们可以瑞普崩溃和锁式UPS在PowerPoint 2007中创建简单的PPTX文件 - 即不是我们的代码。

最后,我们做了以下几点:解压后的一个“模板” PowerPoint文件到文件夹,然后在需要时,填充模板XML用新值,拉链拉上,重命名各种元素和它交付给用户作为一个有效的PPTX。工程确定,比奇数的PowerPoint崩溃时人编辑文件等。如果有它一个市场,我想我们可以打包的代码作为web服务(即XML / CSV - > PPTX),或者把一个商用软件包,但我们不会做免费的。


7
投票

docx4j(Apache许可证)现在包括一个pptx4j组件,它可以打开/编辑/保存PPTX文档。


5
投票

是。检查了这一点http://poi.apache.org/,他们刚刚发布了3.6版本现在支持Office 2007格式的文档。最好的部分是,它是免费的!


0
投票

为了从一个模板文件中的PowerPoint演示文稿,您可以使用PPT Templates

这个库提供一个流畅的API来代替PPT模板中的变量:

try(FileOutputStream out = new FileOutputStream("generated.pptx")) {
  new PptMapper()
    .text("variable", "Hello")
    .text("other_variable", "World!")
    .processTemplate(PptTemplateDemo.class.getResourceAsStream("/title.pptx"))
    .write(out);
}

有了这个库,你可以处理模板中的文字和图片。


0
投票

可能为你工作的另一个解决方案是Windward Reports(声明,我是创始人和CEO那里)。它使用作为PPTX所支持的模板格式之一和在数据合并到然后生成一个PPTX(或PDF等)输出。

如果你需要编辑/更新可以通过在迎风的数据标记来处理,这应该是平凡的你。如果你需要什么不能由标签来处理,那么这将不会为你工作。

© www.soinside.com 2019 - 2024. All rights reserved.