Apache POI XSLF将幻灯片添加到幻灯片中

时间:2013-03-04 08:23:40

标签: java apache-poi powerpoint

我正在使用Apache POI库来创建带有Java的powerpoint幻灯片。 我们的客户对嵌入的文本,图像和视频感兴趣。没有花哨的 现在需要像图表等的东西。我知道XSLF仍然存在 正在开发中,尚未成熟的产品。

我已经使用Apache POI HSLF模型实现了我的目标,但唯一缺少的是嵌入的视频没有显示任何播放控件。经过一番研究后,我发现pptx和ppt文件标准正在使事情变得不同。所以现在要解决这个问题,我正在从HSLF迁移到XSLF。但遗憾的是XSLF库没有任何添加视频文件的方法(与HSLF addmovie方法不同)。

你们推荐什么方法?有没有其他方法来显示ppt文件(而不是pptx)上的播放控件?我的意思是通过额外的activex控件/媒体播放器。如果是,应该如何使用Java?

1 个答案:

答案 0 :(得分:4)

Beginning from Powerpoint 2010可以在PPTX文件中嵌入视频(...而不是链接它们或使用某种ActiveX / youtube组合)。如果您嵌入了MP4-videos you need to have the Quicktime plugin installed.

关于播放控件,当您将鼠标移到视频形状上时,我的PP 2010查看器会显示它们。当你直接点击图片而不是等待弹出窗口时,有时它们永远不会再出现。

以下代码......

  • 获取MPEG(也可以是本地文件)
  • 在第5秒创建帧的快照,用作预览图像。我在这里使用了Xuggle个库,但当然任何其他的库都可以(... JMF(没有扩展包)无法处理(这个)MPEGs)
  • 嵌入图片和视频
  • 并添加了一些任意的东西,PP需要实际播放视频

这是代码: https://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/AddVideoToPptx.java.txt

(更新2016-02-06:将代码移动到POI示例,因此在新功能的情况下只有一个地方需要修改。此外,POI 3.13中存在回归,因此无法在之后添加图片将电影添加到媒体目录 - 这在即将发布的POI 3.14中已得到修复