眼前多少难甘事,自古男儿当自强。这篇文章主要讲述Java 在Word中嵌入多媒体(视频音频)文件相关的知识,希望能为你提供帮助。
Word中可将Office(Word/Excel/PowerPoint)、PDF、txt等文件作为OLE对象插入到文档中,双击该对象可直接访问或编辑该文件,除了以上常见的文件格式对象,也可以插入多媒体文件,如视频、音频等。本篇文章将对此作相关介绍。
Jar导入(2种方法)
1.通过??Maven??安装
在pom.xml中配置如下内容导入:?
< repositories>
< repository>
< id> com.e-iceblue< /id>
< url> https://repo.e-iceblue.cn/repository/maven-public/< /url>
< /repository>
< /repositories>
< dependencies>
< dependency>
< groupId> e-iceblue< /groupId>
< artifactId> spire.doc.free< /artifactId>
< version> 3.9.0< /version>
< /dependency>
< /dependencies>
2.手动添加jar
下载??Jar??包(Free Spire.Doc for java)到本地,解压,找到lib文件夹下的Spire.Doc.jar。
在IDEA中打开“Project Structure”界面,然后执行如下图中的步骤来完成jar导入:?
【Java 在Word中嵌入多媒体(视频音频)文件】
嵌入多媒体文件
代码中嵌入多媒体文件的方法是通过调用appendOleObject(InputStream oleStream, DocPicture olePicture, String fileExtension)方法来实现,该方法中的三个参数解释分别为:
- oleStream:OLE文件流
- olePicture:用于显示OLE对象的图像(图标)
- fileExtension:嵌入的文件对象扩展名(如:mp3、mp4、avi等)
主要代码步骤解析:
1. 初始化Document类的一个新实例并添加一个新的节。
2. 添加段落,调用Paragraph.appendOleObject()方法将多媒体文件作为OLE对象嵌入到段落。
3. 通过Document.saveToFile(String fileName, FileFormat fileFormat)保存文档到指定路径。
Java
import com.spire.doc.*;
import com.spire.doc.documents.Paragraph;
import com.spire.doc.documents.ParagraphStyle;
import com.spire.doc.fields.DocPicture;
import java.awt.*;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
public class EmbedMediaFile {
public static void main(String[] args)throws IOException {
//实例化Document类的对象,并添加Section
Document doc = new Document();
Section section = doc.addSection();
//定义段落样式
ParagraphStyle style1 = new ParagraphStyle(doc);
style1.setName("Style");
style1.getCharacterFormat().setFontName("Calibri");
style1.getCharacterFormat().setFontSize(18);
style1.getCharacterFormat().setBold(true);
style1.getCharacterFormat().setTextColor(new Color(123,104,238));
doc.getStyles().add(style1);
//添加段落1,嵌入视频文件
Paragraph para1 = section.addParagraph();
para1.appendText("嵌入视频文件:");
para1.applyStyle(style1.getName());
InputStream stream1 = new FileInputStream("Video.mp4");
DocPicture pic1 = new DocPicture(doc);
pic1.loadImage("logo1.png");
para1.appendOleObject(stream1, pic1, "mp4");
//添加一个空白段落2
Paragraph para2 = section.addParagraph();
//添加段落3,嵌入音频文件
Paragraph para3 = section.addParagraph();
para3.appendText("嵌入音频文件:");
para3.applyStyle(style1.getName());
InputStream stream2 = new FileInputStream("Audio.mp3");
DocPicture pic2 = new DocPicture(doc);
pic2.loadImage("logo2.png");
para3.appendOleObject(stream2, pic2, "mp3");
//保存文档
doc.saveToFile("Result.docx", FileFormat.Docx_2013);
}
}
嵌入后的文档效果:
注意事项
代码中的所有文件路径均为IDEA程序的程序项目文件夹路径,如: F:\\IDEAProject\\OLE_Doc\\Result.docx,文件路径可自定义为其他路径。
—End—
推荐阅读
- Flutter 专题29 图解自定义底部状态栏 ACEBottomNavigationBar#yyds干货盘点#
- #yyds干货盘点#Aop的两个最常见的应用场景
- #星光计划2.0# 添加树莓派4B到OHOS3.0编译框架
- #yyds干货盘点#-设计模式分享-抽象工厂模式
- redis | 十二redis之事务
- 算法 | 第1章 数组与字符串相关《程序员面试金典》#yyds干货盘点#
- 30 分钟,全面解析 AJAX #yyds干货盘点#
- 彻底搞懂HTTP协议 - 天天造轮子
- #yyds干货盘点#探索 CSS Paint API(多边形边框)