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,文件路径可自定义为其他路径。

—End—

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. MYSQL人事工资管理系统-插入数据(三)
  2. Vim使用技巧及基本命令分类
  3. python课程价格哪个好-上海Python线上远程课
  4. c语言药房系统书写指导书,C语言药房管理系统[文书借鉴]
  5. 第二次作业+105032014101
  6. PostgreSQL表的行数统计
  7. 解决使用Servlet输出乱码问题(一行代码解决一切)
  8. android按钮置于顶层,如何把按键显示在最顶层窗口上(屏幕最顶上)
  9. 修改kubelet启动参数
  10. java获取运行时对象,java 面向对象(四十一):反射(五)反射应用二:获取运行时类的完整结构...
  11. java cpu利用率上不去_Java 面试突击之 Java 并发知识基础 amp; 进阶考点全解析
  12. react使用中的注意事项(持续更新)
  13. CISSP 考证进度篇(持续监督中)
  14. Ubuntu下VSCode使用等宽字体设置
  15. CSS 长度单位详细总结
  16. spring boot 在fastdfs文件上传大小限制
  17. maxima matlab,为什么大家不用Octave等代替Matlab,Maxima代替Maple?
  18. WPF中Mvvm模式的理解
  19. Excel 数据解析异常
  20. P4944 PION贪吃蛇 题解

热门文章

  1. 2017、2018、2019、2020、2021数控机床数控系统采集方案汇总
  2. fpga驱动步进电机转动指定角度_PLC对步进电机进行定位控制程序
  3. 易语言制作通用对话框
  4. Android fragment回退栈
  5. 如何让收到的邮件附件自动储存在Sharepoint里
  6. 2021年东方市铁路中学高考成绩查询,2020东方市中考分数线预测
  7. SQL触发器--当表数据发生变化时,将数据同步到另一张表中
  8. 小米MiFlash报错error:FAILED(remote:updatesparsecrclistfailed)
  9. java 切图_java用pdfbox切图并重绘宽高
  10. 怎么把Excel转换成Word文档?一分钟就能教会你