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

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

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

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

从Powerpoint 2010开始,可以在PPTX文件中嵌入video(…而不是链接它们或使用某种ActiveX / youtube组合)。 如果您嵌入了MP4video,则需要安装Quicktime插件。

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

以下代码……

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

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

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