在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幻灯片中的视频、音频文件的更多相关文章

  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. Redis分布式锁升级版RedLock及SpringBoot实现

    分布式锁概览 在多线程的环境下,为了保证一个代码块在同一时间只能由一个线程访问,Java中我们一般可以使用synchronized语法和ReetrantLock去保证,这实际上是本地锁的方式.但是现在 ...

  2. 剖析 CopyOnWriteArrayList

    原文链接:https://www.changxuan.top/?p=1252 CopyOnWriteArrayList 是 JUC 中唯一一个支持并发的 List. CopyOnWriteArrayL ...

  3. 一块网卡配2IP地址

    我们知道在Linux下网卡被称为eth0,eth1,eth2.....,所有网卡的配置文件都存储在 /etc/sysconfig/network-script/下,文件名是以ifcfg-eth0,if ...

  4. H3C交换机端口聚合配置

    1.接入交换机: interface Ten-GigabitEthernet1/0/21 port link-mode bridge port link-type trunk port trunk p ...

  5. zabbix管理员设置

    1.认证 2.用户组和用户

  6. Malaysia Trip Memory ('-ωก)

    独白 ​ 初次见面,睡意阑珊.日轮.稀疏.惨白色.墨绿色,\(\rho_{atm}>\rho_{space}\) 的作用被赤道所隐藏,一时的不知所从,斑斓成了单一.之后的故事,踏上一辆盛装打扮的 ...

  7. 【uva 10954】Add All(算法效率--Huffman编码+优先队列)

    题意:有N个数,每次选2个数合并为1个数,操作的开销就是这个新的数.直到只剩下1个数,问最小总开销. 解法:合并的操作可以转化为二叉树上的操作[建模],每次选两棵根树合并成一棵新树,新树的根权值等于两 ...

  8. ACM#学习心得0

    加入实验室也有些日子了,这是第一个近来的小小学习心得 1.在之前的训练题和考核题以及平时刷过的题中,我发现自己对字符串这一块的基础知识掌握还是比较差的,总是不能正确的接收的字符或字符串. 这两个星期, ...

  9. Codeforces Round #603 C. Everyone is a Winner!

    题意:给你一个整数n,求所有n/k的值(k∈{1,2,3...,n,.......}). 题解:最简单的方法是用枚举1~sqrt(n),把除数和商放进set中,就能直接水过,但后来看其他人的题解了解到 ...

  10. Chip Factory HDU - 5536 字典树(删除节点|增加节点)

    题意: t组样例,对于每一组样例第一行输入一个n,下面在输入n个数 你需要从这n个数里面找出来三个数(设为x,y,z),找出来(x+y)^z(同样也可以(y+z)^1)的最大值 ("^&qu ...