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导入:
嵌入多媒体文件
代码中嵌入多媒体文件的方法是通过调用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类的对象,并添加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—
Java 在Word中嵌入多媒体(视频、音频)文件的更多相关文章
- C# / VB.NET 在Word中嵌入多媒体(视频、音频)文件
Word中可将Office(Word/Excel/PowerPoint).PDF.txt等文件作为OLE对象插入到文档中,双击该对象可直接访问或编辑该文件,除了以上常见的文件格式对象,也可以插入多媒体 ...
- Java读取word中表格
因为要新建一个站,公司要把word表格的部分行列存到数据库中.之前用java操作过excel,本来打算用java从word表格中读取数据,再存到数据库中,结果因为权限不够,无法访问公司要写的那个数据库 ...
- [原创]使用python对视频/音频文件进行详细信息采集,并进行去重操作
[原创]使用python对视频/音频文件进行详细信息采集,并进行去重操作 转载请注明出处 一.关于为什么用pymediainfo以及pymediainfo的安装 使用python对视频/音频文件进行详 ...
- php-ffmpeg 操作视频/音频文件
php-ffmpeg 是一个php操作视频/音频文件的类库. GitHub地址:https://github.com/PHP-FFMpeg/PHP-FFMpeg/ 使用composer快速安装:com ...
- Java 实现word 中写入文字图片的解决方案
JAVA生成WORD文件的方法目前有以下两种方式: 一种是jacob 但是局限于windows平台 往往许多JAVA程序运行于其他操作系统 在此不讨论该方案; 一种是poi但是他的excel处理很程序 ...
- [转载]Java给word中的table赋值
一.准备工作: 下载PageOffice for Java:http://www.zhuozhengsoft.com/dowm/ 二. 实现方法: 要调用PageOffice操作Word中的tabl ...
- [原创]Java给word中的table赋值
一.准备工作: 下载PageOffice for Java:http://www.zhuozhengsoft.com/dowm/ 二. 实现方法: 要调用PageOffice操作Word中的tabl ...
- Java 提取Word中的文本和图片
本文将介绍通过Java来提取或读取Word文档中文本和图片的方法.这里提取文本和图片包括同时提取文档正文当中以及页眉.页脚中的的文本和图片. 使用工具:Free Spire.Doc for Java ...
- Java 读取Word中的脚注、尾注
本文介绍读取Word中的脚注及尾注的方法,添加脚注.尾注可以参考这篇文章. 注:本文使用了Word类库(Free Spire.Doc for Java 免费版)来读取,获取该类库可通过官网下载,并解压 ...
随机推荐
- VS2013中using System.Windows.Forms;引用不成功
命名空间"System"中不存在类型或命名空间名称"Windows" 项目右侧--解决资源管理器---引用---右键--添加引用---在.NET下拉框找---找 ...
- [hdu6326]Monster Hunter
考虑树是以1为中心的菊花图的情况,也即如何安排打怪兽的顺序 用二元组$(a,b)$来描述怪兽,则对于两个怪兽$(a_{1},b_{1})$和$(a_{2},b_{2})$,交换两者不会影响血量的变化量 ...
- 小程序嵌套H5的方式和技巧(一)
文章内多次使用了关键字"壳",首先先解释一下什么是壳 壳: 小程序由原生的web-view组件形成的页面,页面只包含技术逻辑(如打开H5页面),不包含具体业务接口请求和业务逻辑处理 ...
- 【golang必备算法】 Letecode 146. LRU 缓存机制
力扣链接:146. LRU 缓存机制 思路:哈希表 + 双向链表 为什么必须要用双向链表? 因为我们需要删除操作.删除一个节点不光要得到该节点本身的指针,也需要操作其前驱节点的指针,而双向链表才能支持 ...
- vue-if和show
<template> <div> <div v-if="flag">今晚要上课</div> <div v-else> 今 ...
- x86汇编反编译到c语言之——(2)if语句
一. 测试的C语句及编译后的x86汇编代码 int a; int b; int main(void) { int c; if (c) a = 4; else b = 5; return 0; } 1 ...
- 学Web前端开发,选择培训学校是关键--青岛思途
互联网+的提出,催生了Web前端开发行业更大的就业空间,其行业热度也正呈爆炸式增长.专业人才供不应求导致了从业者薪资的居高不下,一般来说Web前端工程师的年薪可达15w以上,工作3~5年后通常可达到1 ...
- Java架构师和开发者实用工具推荐
目前,Java已经受到全球数百万开发者的肯定和追捧,成为最具代表性的编程语言之一.前段时间刚刚发布的Java8完美诠释了高效和创新的特性,也为很多开发者和企业铺平了道路.不过,作为一位优秀的Java架 ...
- Java培训机构如何选择才能避免被骗?
近年来,随着IT行业的快速崛起,各类互联网人才供不应求,而Java工程师作为目前最为火爆的岗位之一,更是以高薪+高新技术的标签受到了人们的广泛关注.许多年轻人也看到了这个行业的发展前景,决定报名培训机 ...
- arthas 简单使用
简介 Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱. 官网地址:https://arthas.aliyun.com/ 它可以做什么,以下功能都是直接操作线上跑着的jar包!!! ...