在PPT中,可以操作很多种元素,如形状、图形、文字、图片、表格等,也可以插入视频或者音频文件,来丰富幻灯片的内容呈现方式。下面将介绍在Java程序中如何来添加视频、音频文件到PPT幻灯片,读取和删除幻灯片中的视频、音频文件。

程序环境:导入Spire.Presentation.jar(免费版) ;  jdk1.8.0

jar文件导入效果入下:

1. 添加视频、音频文件到幻灯片

  1. import com.spire.presentation.*;
  2. import java.awt.*;
  3.  
  4. public class AddVideoAudio {
  5. public static void main(String[] args) throws Exception{
  6. //加载测试文档
  7. Presentation ppt = new Presentation();
  8. ppt.loadFromFile("test.pptx");
  9.  
  10. //获取第一张幻灯片
  11. ISlide slide = ppt.getSlides().get(0);
  12.  
  13. //添加视频文件到指定位置
  14. slide.getShapes().appendVideoMedia("Transition.mp4",new Rectangle(550, 100, 180, 100));
  15. //添加音频文件到指定位置
  16. slide.getShapes().appendAudioMedia("Myheartwillgoon.mp3",620, 300, true);
  17.  
  18. //保存文档
  19. ppt.saveToFile("result.pptx",FileFormat.PPTX_2010);
  20. }
  21. }

2. 获取幻灯片中的视频、音频文件

  1. import com.spire.presentation.*;
  2.  
  3. public class ExtractVideoAudio {
  4. public static void main(String[]args) throws Exception{
  5. //加载包含视频、音频文件的PPT文档
  6. Presentation ppt = new Presentation();
  7. ppt.loadFromFile("result.pptx");
  8.  
  9. //获取第一张幻灯片
  10. ISlide slide = ppt.getSlides().get(0);
  11.  
  12. IVideo video = null;
  13. IAudio audio = null;
  14.  
  15. //遍历幻灯片中的shape,判断是否包含视频
  16. for(int i = 0; i< slide.getShapes().getCount(); i++) {
  17. IShape shape = slide.getShapes().get(i);
  18. if ((shape instanceof IVideo)) {
  19. //保存视频
  20. video = (IVideo) shape;
  21. video.getEmbeddedVideoData().saveToFile("提取的视频" + i + ".mp4");
  22. }
  23. }
  24. //遍历幻灯片中的shape,判断是否包含音频
  25. for(int j = 0; j< slide.getShapes().getCount(); j++)
  26. {
  27. IShape shape = slide.getShapes().get(j);
  28. //保存音频
  29. if ((shape instanceof IAudio)){
  30. audio =(IAudio) shape;
  31. audio.getData().saveToFile("提取的音频"+ j +".mp3");
  32. }
  33. }
  34. }
  35. }

3. 删除幻灯片中的视频、音频文件

  1. import com.spire.presentation.*;
  2.  
  3. public class DeleteVideoAndAudio {
  4. public static void main(String[] args) throws Exception{
  5. //加载包含视频、音频文件的PPT文档
  6. Presentation ppt = new Presentation();
  7. ppt.loadFromFile("result.pptx");
  8.  
  9. //获取第一张幻灯片
  10. ISlide slide = ppt.getSlides().get(0);
  11.  
  12. //遍历幻灯片中的shape,判断是否包含视频
  13. for(int i = 0; i< slide.getShapes().getCount(); i++) {
  14. IShape shape = slide.getShapes().get(i);
  15. if ((shape instanceof IVideo)) {
  16. //保存视频
  17. IVideo video = (IVideo) shape;
  18. slide.getShapes().remove(video);
  19. }
  20. }
  21. //遍历幻灯片中的shape,判断是否包含音频
  22. for(int j = 0; j< slide.getShapes().getCount(); j++)
  23. {
  24. IShape shape = slide.getShapes().get(j);
  25. //保存音频
  26. if ((shape instanceof IAudio)){
  27. IAudio audio = (IAudio) shape;
  28. slide.getShapes().remove(audio);
  29. }
  30. }
  31.  
  32. //保存文档
  33. ppt.saveToFile("DeleteVideoAndAudio.pptx",FileFormat.PPTX_2013);
  34. ppt.dispose();
  35. }
  36. }

Java 添加 、读取以及删除PPT幻灯片中的视频、音频文件的更多相关文章

  1. Java 添加、修改、读取、删除PPT备注

    概述 幻灯片中的备注信息是只提供给幻灯片演讲者观看的特定内容,在演讲者放映幻灯片时,备注信息可给演讲者提供讲解思路,起到辅助讲解的作用.本文将通过Java程序来演示如何操作PPT幻灯片中的备注信息,要 ...

  2. Java 添加、读取、删除PPT文档属性

    文档属性是一些描述性的信息,它未包含在文件的实际内容中,但提供了有关文件的信息,可用来帮助查找和整理文件.以下示例中将介绍通过Java程序来添加PPT文档属性.读取.删除PPT文档中已有属性的方法. ...

  3. C# 在PPT幻灯片中创建图表

    图表能够很直观的表现数据在某个时间段的变化趋势,或者呈现数据的整体和局部之间的相互关系,相较于大篇幅的文本数据,图表更增加了我们分析数据时选择的多样性,是我们挖掘数据背后潜在价值的一种更为有效地方式. ...

  4. Java 添加、修改PPT幻灯片中的表格

    本文将介绍通过Java编程在PPT操作表格的方法.包括添加表格到PPT幻灯片,并设置表格样式.单元格对齐方式.单元格背景色.边框样式.字体.字号.合并单元格等:同时,通过加载已有表格的幻灯片也可以对表 ...

  5. C# 添加、修改、删除PPT中的超链接

    本文介绍通过C# 编程如何在PPT幻灯片中添加超链接的方法,添加链接时,可给文本或者图片添加超链接,链接对象可指向网页地址.邮件地址.指定幻灯片等,此外,也可以参考文中编辑.删除幻灯片中已有超链接的方 ...

  6. Java 添加、读取、删除Excel文档属性

    在文档属性中,可以设置诸多关于文档的信息,如创建时间.作者.单位.类别.关键词.备注等摘要信息以及一些自定义的文档属性.下面将通过Java程序来演示如何设置,同时对文档内的已有信息,也可以实现读取和删 ...

  7. Java 添加、读取、删除Excel图片

    本文介绍在Java程序中如何添加图片到excel表格,添加图片时可设置图片大小.位置.旋转.超链接.可选文本等,以及如何读取.删除excel表格中已有的图片. 工具:Free Spire.XLS fo ...

  8. Java 添加、读取和删除 Excel 批注

    批注是一种富文本注释,常用于为指定的Excel单元格添加提示或附加信息. Free Spire.XLS for Java 为开发人员免费提供了在Java应用程序中对Excel文件添加和操作批注的功能. ...

  9. C# 添加、读取、删除Excel文档属性

    在文档属性中,可以设置诸多关于文档的信息,如创建时间.作者.单位.类别.关键词.备注等摘要信息以及一些自定义的文档属性.下面将通过C#程序来演示如何设置,同时对文档内的已有信息,也可以实现读取或删除等 ...

随机推荐

  1. Java——定时任务调度工具

    一.什么是定时任务调度? 1.常用的定时调度工具:Timer和Quartz 二.Timer简介 1.Timer的定义以及架构 2.Timer示例 三.Timer的定时调度函数 1.schedule的四 ...

  2. eclipse下执行maprdeuc程序报错 java.lang.ClassNotFoundException

    最近遇到一个问题,不知怎么突然运行hadoop的map程序报错,困扰了我很久,现在来给大家分享分享.. 错误信息 2017-05-18 21:34:22,104 INFO [main] client. ...

  3. 3. Linux常用系统状态检测命令

    1.ifconfig :于获取网卡配置与网络状态等信息,如网卡名称.IP.MAC等 2.uname -a :完整地查看当前系统的内核名称.主机名.内核发行版本.节点名.系统时间.硬件名称.硬件平台.处 ...

  4. IPSec 专题----转自华为文档

    参考链接:https://support.huawei.com/enterprise/zh/doc/EDOC1000122878?section=j004 IPSec 特性全景 1.介绍 由于IP报文 ...

  5. MyBatis框架使用 —— 传递多个参数的方式

    引言 目前,MyBatis的使用越来越普遍,也有一些公司使用Hibernate.使用MyBatis需要我们自己书写SQL语句,面对各种复杂的场景,SQL传递多参是很普遍的.如何传递多参应对不同的场景也 ...

  6. 链表中head->next = p;和p=head->next;之间的区别

    最近这两天在看递归,然后,看了几个例子,其中有一个单链表反转的例子可以使用递归解决,但是这里却有一个问题让我迷惑了一会,就是链表操作中这两句话的含义: 以下图中的单向链表为例: Node preNod ...

  7. docker(9)Dockerfile制作镜像

    前言 如果我们已经安装了一个python3的环境,如果另一台机器也需要安装同样的环境又要敲一遍,很麻烦,这里可以配置Dockerfile文件,让其自动安装,类似shell脚本 Dockerfile编写 ...

  8. 用werkzeug实现一个简单的python web框架

    使用工具 Pycharm , Navicat , WebStorm等 使用库 Werkzeug用于实现框架的底层支撑,pymysql用于实现ORM,jinja2用于模板支持,json用于返回json数 ...

  9. 牛客网暑期ACM多校训练营(第二场)carpet

    传送门:carpet 题意 有一个n*m的地毯,aij表示地毯每格的元素,bij表示地毯每格的价格,要求选取一块价格最大值最小的地毯,并且这块地毯无限铺开之后,原地毯是其子矩阵. 题解 先找到这个矩阵 ...

  10. Luogu 2017 Autumn Camping 游记

    颓得不行的我到D2才想起来自己可以写一篇low得不能再low的游记,然后就动笔了...... Day0 愉快地看着三联,想着别人放一天我放四天的悠闲生活,内心甚是平静.然而晚上回到家就开始浪了,看完了 ...