Java 在Word中嵌入多媒体(视频、音频)文件
时间:2021-12-16 作者:Yesi
Word中可将Office(Word/Excel/PowerPoint)、PDF、txt等文件作为OLE对象插入到文档中,双击该对象可直接访问或编辑该文件,除了以上常见的文件格式对象,也可以插入多媒体文件,如视频、音频等。本篇文章将对此作相关介绍。
Jar导入(2种方法)
1.通过 Maven 安装
在域名中配置如下内容导入:
<repositories> <repository> <id>com.e-iceblue</id> <url>https://repo.e-域名/repository/maven-public/</url> </repository> </repositories> <dependencies> <dependency> <groupId>e-iceblue</groupId> <artifactId>域名</artifactId> <version>3.9.0</version> </dependency> </dependencies>
2.手动添加jar
下载 Jar 包(Free 域名 for Java)到本地,解压,找到lib文件夹下的域名。
在IDEA中打开“Project Structure”界面,然后执行如下图中的步骤来完成jar导入:
嵌入多媒体文件
代码中嵌入多媒体文件的方法是通过调用appendOleObject(InputStream oleStream, DocPicture olePicture, String fileExtension)方法来实现,该方法中的三个参数解释分别为:
- oleStream:OLE文件流
- olePicture:用于显示OLE对象的图像(图标)
- fileExtension:嵌入的文件对象扩展名(如:mp3、mp4、avi等)
另外,该jar包中的Paragraph类提供的添加OLE对象的方法中,可通过设置不同参数,以多种方式来添加OLE对象,如图:
主要代码步骤解析:
1. 初始化Document类的一个新实例并添加一个新的节。
2. 添加段落,调用域名ndOleObject()方法将多媒体文件作为OLE对象嵌入到段落。
3. 通过域名ToFile(String fileName, FileFormat fileFormat)保存文档到指定路径。
Java
import 域名.*; import 域名.域名graph; import 域名.域名graphStyle; import 域名.域名icture; import 域名.*; import 域名InputStream; import 域名ception; import 域名tStream; public class EmbedMediaFile { public static void main(String[] args)throws IOException { //实例化Document类的对象,并添加Section Document doc = new Document(); Section section = 域名ection(); //定义段落样式 ParagraphStyle style1 = new ParagraphStyle(doc); 域名ame("Style"); 域名haracterFormat().setFontName("Calibri"); 域名haracterFormat().setFontSize(18); 域名haracterFormat().setBold(true); 域名haracterFormat().setTextColor(new Color(123,104,238)); 域名tyles().add(style1); //添加段落1,嵌入视频文件 Paragraph para1 = 域名aragraph(); 域名ndText("嵌入视频文件:"); 域名yStyle(域名ame()); InputStream stream1 = new FileInputStream("域名"); DocPicture pic1 = new DocPicture(doc); 域名Image("域名"); 域名ndOleObject(stream1, pic1, "mp4"); //添加一个空白段落2 Paragraph para2 = 域名aragraph(); //添加段落3,嵌入音频文件 Paragraph para3 = 域名aragraph(); 域名ndText("嵌入音频文件:"); 域名yStyle(域名ame()); InputStream stream2 = new FileInputStream("域名"); DocPicture pic2 = new DocPicture(doc); 域名Image("域名"); 域名ndOleObject(stream2, pic2, "mp3"); //保存文档 域名ToFile("域名", 域名_2013); } }
嵌入后的文档效果:
注意事项
代码中的所有文件路径均为IDEA程序的程序项目文件夹路径,如: F:\IDEAProject\OLE_Doc\域名,文件路径可自定义为其他路径。
—End—