Java 添加 、读取以及删除PPT幻灯片中的视频、音频文件
在PPT中,可以操作很多种元素,如形状、图形、文字、图片、表格等,也可以插入视频或者音频文件,来丰富幻灯片的内容呈现方式。下面将介绍在Java程序中如何来添加视频、音频文件到PPT幻灯片,读取和删除幻灯片中的视频、音频文件。
程序环境:导入Spire.Presentation.jar(免费版) ; jdk1.8.0
jar文件导入效果入下:
1. 添加视频、音频文件到幻灯片
- import com.spire.presentation.*;
- import java.awt.*;
- public class AddVideoAudio {
- public static void main(String[] args) throws Exception{
- //加载测试文档
- Presentation ppt = new Presentation();
- ppt.loadFromFile("test.pptx");
- //获取第一张幻灯片
- ISlide slide = ppt.getSlides().get(0);
- //添加视频文件到指定位置
- slide.getShapes().appendVideoMedia("Transition.mp4",new Rectangle(550, 100, 180, 100));
- //添加音频文件到指定位置
- slide.getShapes().appendAudioMedia("Myheartwillgoon.mp3",620, 300, true);
- //保存文档
- ppt.saveToFile("result.pptx",FileFormat.PPTX_2010);
- }
- }
2. 获取幻灯片中的视频、音频文件
- import com.spire.presentation.*;
- public class ExtractVideoAudio {
- public static void main(String[]args) throws Exception{
- //加载包含视频、音频文件的PPT文档
- Presentation ppt = new Presentation();
- ppt.loadFromFile("result.pptx");
- //获取第一张幻灯片
- ISlide slide = ppt.getSlides().get(0);
- IVideo video = null;
- IAudio audio = null;
- //遍历幻灯片中的shape,判断是否包含视频
- for(int i = 0; i< slide.getShapes().getCount(); i++) {
- IShape shape = slide.getShapes().get(i);
- if ((shape instanceof IVideo)) {
- //保存视频
- video = (IVideo) shape;
- video.getEmbeddedVideoData().saveToFile("提取的视频" + i + ".mp4");
- }
- }
- //遍历幻灯片中的shape,判断是否包含音频
- for(int j = 0; j< slide.getShapes().getCount(); j++)
- {
- IShape shape = slide.getShapes().get(j);
- //保存音频
- if ((shape instanceof IAudio)){
- audio =(IAudio) shape;
- audio.getData().saveToFile("提取的音频"+ j +".mp3");
- }
- }
- }
- }
3. 删除幻灯片中的视频、音频文件
- import com.spire.presentation.*;
- public class DeleteVideoAndAudio {
- public static void main(String[] args) throws Exception{
- //加载包含视频、音频文件的PPT文档
- Presentation ppt = new Presentation();
- ppt.loadFromFile("result.pptx");
- //获取第一张幻灯片
- ISlide slide = ppt.getSlides().get(0);
- //遍历幻灯片中的shape,判断是否包含视频
- for(int i = 0; i< slide.getShapes().getCount(); i++) {
- IShape shape = slide.getShapes().get(i);
- if ((shape instanceof IVideo)) {
- //保存视频
- IVideo video = (IVideo) shape;
- slide.getShapes().remove(video);
- }
- }
- //遍历幻灯片中的shape,判断是否包含音频
- for(int j = 0; j< slide.getShapes().getCount(); j++)
- {
- IShape shape = slide.getShapes().get(j);
- //保存音频
- if ((shape instanceof IAudio)){
- IAudio audio = (IAudio) shape;
- slide.getShapes().remove(audio);
- }
- }
- //保存文档
- ppt.saveToFile("DeleteVideoAndAudio.pptx",FileFormat.PPTX_2013);
- ppt.dispose();
- }
- }
Java 添加 、读取以及删除PPT幻灯片中的视频、音频文件的更多相关文章
- Java 添加、修改、读取、删除PPT备注
概述 幻灯片中的备注信息是只提供给幻灯片演讲者观看的特定内容,在演讲者放映幻灯片时,备注信息可给演讲者提供讲解思路,起到辅助讲解的作用.本文将通过Java程序来演示如何操作PPT幻灯片中的备注信息,要 ...
- Java 添加、读取、删除PPT文档属性
文档属性是一些描述性的信息,它未包含在文件的实际内容中,但提供了有关文件的信息,可用来帮助查找和整理文件.以下示例中将介绍通过Java程序来添加PPT文档属性.读取.删除PPT文档中已有属性的方法. ...
- C# 在PPT幻灯片中创建图表
图表能够很直观的表现数据在某个时间段的变化趋势,或者呈现数据的整体和局部之间的相互关系,相较于大篇幅的文本数据,图表更增加了我们分析数据时选择的多样性,是我们挖掘数据背后潜在价值的一种更为有效地方式. ...
- Java 添加、修改PPT幻灯片中的表格
本文将介绍通过Java编程在PPT操作表格的方法.包括添加表格到PPT幻灯片,并设置表格样式.单元格对齐方式.单元格背景色.边框样式.字体.字号.合并单元格等:同时,通过加载已有表格的幻灯片也可以对表 ...
- C# 添加、修改、删除PPT中的超链接
本文介绍通过C# 编程如何在PPT幻灯片中添加超链接的方法,添加链接时,可给文本或者图片添加超链接,链接对象可指向网页地址.邮件地址.指定幻灯片等,此外,也可以参考文中编辑.删除幻灯片中已有超链接的方 ...
- Java 添加、读取、删除Excel文档属性
在文档属性中,可以设置诸多关于文档的信息,如创建时间.作者.单位.类别.关键词.备注等摘要信息以及一些自定义的文档属性.下面将通过Java程序来演示如何设置,同时对文档内的已有信息,也可以实现读取和删 ...
- Java 添加、读取、删除Excel图片
本文介绍在Java程序中如何添加图片到excel表格,添加图片时可设置图片大小.位置.旋转.超链接.可选文本等,以及如何读取.删除excel表格中已有的图片. 工具:Free Spire.XLS fo ...
- Java 添加、读取和删除 Excel 批注
批注是一种富文本注释,常用于为指定的Excel单元格添加提示或附加信息. Free Spire.XLS for Java 为开发人员免费提供了在Java应用程序中对Excel文件添加和操作批注的功能. ...
- C# 添加、读取、删除Excel文档属性
在文档属性中,可以设置诸多关于文档的信息,如创建时间.作者.单位.类别.关键词.备注等摘要信息以及一些自定义的文档属性.下面将通过C#程序来演示如何设置,同时对文档内的已有信息,也可以实现读取或删除等 ...
随机推荐
- Java——定时任务调度工具
一.什么是定时任务调度? 1.常用的定时调度工具:Timer和Quartz 二.Timer简介 1.Timer的定义以及架构 2.Timer示例 三.Timer的定时调度函数 1.schedule的四 ...
- eclipse下执行maprdeuc程序报错 java.lang.ClassNotFoundException
最近遇到一个问题,不知怎么突然运行hadoop的map程序报错,困扰了我很久,现在来给大家分享分享.. 错误信息 2017-05-18 21:34:22,104 INFO [main] client. ...
- 3. Linux常用系统状态检测命令
1.ifconfig :于获取网卡配置与网络状态等信息,如网卡名称.IP.MAC等 2.uname -a :完整地查看当前系统的内核名称.主机名.内核发行版本.节点名.系统时间.硬件名称.硬件平台.处 ...
- IPSec 专题----转自华为文档
参考链接:https://support.huawei.com/enterprise/zh/doc/EDOC1000122878?section=j004 IPSec 特性全景 1.介绍 由于IP报文 ...
- MyBatis框架使用 —— 传递多个参数的方式
引言 目前,MyBatis的使用越来越普遍,也有一些公司使用Hibernate.使用MyBatis需要我们自己书写SQL语句,面对各种复杂的场景,SQL传递多参是很普遍的.如何传递多参应对不同的场景也 ...
- 链表中head->next = p;和p=head->next;之间的区别
最近这两天在看递归,然后,看了几个例子,其中有一个单链表反转的例子可以使用递归解决,但是这里却有一个问题让我迷惑了一会,就是链表操作中这两句话的含义: 以下图中的单向链表为例: Node preNod ...
- docker(9)Dockerfile制作镜像
前言 如果我们已经安装了一个python3的环境,如果另一台机器也需要安装同样的环境又要敲一遍,很麻烦,这里可以配置Dockerfile文件,让其自动安装,类似shell脚本 Dockerfile编写 ...
- 用werkzeug实现一个简单的python web框架
使用工具 Pycharm , Navicat , WebStorm等 使用库 Werkzeug用于实现框架的底层支撑,pymysql用于实现ORM,jinja2用于模板支持,json用于返回json数 ...
- 牛客网暑期ACM多校训练营(第二场)carpet
传送门:carpet 题意 有一个n*m的地毯,aij表示地毯每格的元素,bij表示地毯每格的价格,要求选取一块价格最大值最小的地毯,并且这块地毯无限铺开之后,原地毯是其子矩阵. 题解 先找到这个矩阵 ...
- Luogu 2017 Autumn Camping 游记
颓得不行的我到D2才想起来自己可以写一篇low得不能再low的游记,然后就动笔了...... Day0 愉快地看着三联,想着别人放一天我放四天的悠闲生活,内心甚是平静.然而晚上回到家就开始浪了,看完了 ...