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导入:

嵌入多媒体文件

代码中嵌入多媒体文件的方法是通过调用 appendOleObject(InputStream oleStream, DocPicture olePicture, String fileExtension) 方法来实现,该方法中的三个参数解释分别为:

  • oleStream:OLE文件流
  • olePicture:用于显示OLE对象的图像(图标)
  • fileExtension:嵌入的文件对象扩展名(如:mp3、mp4、avi等)

另外,该jar包中的 Paragraph 类提供的添加OLE对象的方法中,可通过设置不同参数,以多种方式来添加OLE对象,如图:

主要代码步骤解析:

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类的对象,并添加SectionDocument 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");//添加一个空白段落2Paragraph 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,文件路径可自定义为其他路径。

如何Java 在Word中嵌入多媒体(视频、音频)文件相关推荐

  1. Java 在Word中嵌入多媒体(视频、音频)文件

    Word中可将Office(Word/Excel/PowerPoint).PDF.txt等文件作为OLE对象插入到文档中,双击该对象可直接访问或编辑该文件,除了以上常见的文件格式对象,也可以插入多媒体 ...

  2. java实现word中嵌入附件

    前言 使用java往word中嵌入其他文件最重要的是要创建ole.目前将文件嵌入了word但是图标是没有的,因此自己生成了一个图标替代. 部分代码 代码如下: POIFSFileSystem fs = ...

  3. Word控件Spire.Doc 【其他】教程(8):在 Word 中嵌入多媒体文件

    Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库.在于帮助开发人员无需安装 Microsoft Word情况下,轻松快捷高效地创建.编辑.转换和打印 Micr ...

  4. html 插入多媒体对象,如何在word中插入多媒体对象

    内容提要:本文介绍如何在word中插入多媒体对象,比如MP3.电影和动画等. word是我们在办公软件中使用频率较高的软件,如何在Word中插入多媒体对象,比如MP3.电影和动画等,让我们制作的文件成 ...

  5. Java读取word中表格

    因为要新建一个站,公司要把word表格的部分行列存到数据库中.之前用java操作过excel,本来打算用java从word表格中读取数据,再存到数据库中,结果因为权限不够,无法访问公司要写的那个数据库 ...

  6. Java 实现word 中写入文字图片的解决方案

    Java 实现word 中写入文字图片的解决方案 参考文章: (1)Java 实现word 中写入文字图片的解决方案 (2)https://www.cnblogs.com/jianguang/p/57 ...

  7. Java在Word中插入上标和下标

    前言 在某些情况下,你可能需要在Microsoft Word中插入上标和下标.例如,当你正在创建一个涉及科学公式的学术文件时.在这篇文章中,你将学习如何使用Spire.Doc for Java库在Wo ...

  8. java读取word中的英语音标(Kingsoft Phonetic Plain字体的)

    java读取word中的英语音标(Kingsoft Phonetic Plain字体的) 代码: 读取word中的文档遇到了带音标的,Kingsoft Phonetic Plain这种字体在后台打断点 ...

  9. 网页中怎么插入qq php,在网页中嵌入QQ视频的步骤和代码

    QQ视频,或者我们叫腾讯视频(v.qq.com),跟优酷不太一样.对于每个视频页面,QQ视频并没有提供可以让我们便捷地将视频资源嵌入其它页面(论坛,或者自己的wordpress博客页面)的代码,而是只 ...

最新文章

  1. 18秋学期《计算机网络》在线作业,18秋北交《计算机应用基础及计算机网络与应用》在线作业一-2辅导资料.docx...
  2. 第十五章 Python和Web
  3. ROS 学习笔记(二):自定义消息msg+Publisher+Subscriber 示例运行
  4. get_class 方法
  5. DevOps - 用 Ansible 管理 VMware 虚拟机
  6. mysql中innodb存储引擎在numa系统上的优化_MySQL中InnoDB存储引擎在NUMA系统上的优化...
  7. python代码怎么变成软件_python程序变成软件的实操方法
  8. Chrome 私人珍藏-AdBlock插件实现浏览器广告屏蔽,超强力
  9. oracle dbms_lob trim,DBMS_LOB包基础应用
  10. Java并发 JUC 一文快速入门
  11. cesium-接入监控视频
  12. 关于信息安全风险评估,你需要知道的
  13. windows10 javac错误:javac不是内部或外部命令 也不是可运行的程序
  14. Office Word 孤行控制
  15. 关于Invariance Matters: Exemplar Memory for Domain Adaptive Person Re-identification 论文理解
  16. dnspod java_使用dnspod遭遇的奇特问题以及背后的原因与临时解决方法
  17. python自学笔记(一)
  18. c语言关于数组输入的两种方式
  19. 扔物线Kotlin讲解学习(一)----Kotlin的权限修饰符详解
  20. 十二届蓝桥杯python青少年组第五题——密室逃脱

热门文章

  1. 薄积薄发的国内BlogNetwork
  2. java三维滑雪_知到电工电子学山东联盟第二单元章节测试答案
  3. 面向开发者的 Android 10 —— Android 10 亮点
  4. 16-EMM Procedure 6. Handover without TAU - Part 1. Overview of LTE Handover
  5. php空间xpyun_php云人才系统官方版-phpyun下载 v4.0 官方正式版 - 安下载
  6. 作曲 app android,文艺又好玩!安卓作曲达人App试用体验
  7. bilbli黑马教程JavaWeb用户登录案例
  8. 诈骗应用重卷AppStore
  9. 突然发现刷朋友圈是最孤独
  10. idear 打jar包报错:jar中没有主清单属性 的一种解决办法